ncurses audio mixer for DJ'ing
git clone git://
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2016-12-15 15:38Add note about sndiod configlostd1+9-0
2016-12-13 14:22Use the sndiod-exposed subdevices snd/0 and snd/1 by defaultlostd1+2-1
2016-11-18 11:45Fix Makefile and build on Linuxlostd6+122-6
2016-11-18 11:41Fix build on Linuxlostd1+2-1
2016-11-18 11:39Add missing include for clock_gettime(2)lostd1+1-0
2016-11-18 00:53Fix typolostd1+1-1
2016-10-25 17:11Add initial implementation of shout outputsin2+321-43
2016-11-17 00:25Update visual and keys list with the on-air togglelostd1+9-3
2016-11-16 23:49Add on-air state that applies fade effect on togglelostd3+96-1
2016-11-09 10:33Add some notes on mic togglelostd1+6-0
2016-10-26 10:49Include mpd patch in distsin1+2-2
2016-10-25 17:21Some ideas for featureslostd1+6-0
2016-09-14 11:01Add -g to default CFLAGSsin1+1-1
2016-07-20 15:26Split ncmixer into a daemon and a clientsin7+1452-613
2016-07-18 13:16Bump buffer time to 1s as it was previouslysin1+1-1
2016-07-16 11:28Avoid clipping when mixing.Lazaros Koromilas1+2-2
2016-07-13 11:19Use a define to select the application buffer time in millisecondssin1+2-1
2016-07-12 17:17Add make dist targetsin1+10-2
2016-06-25 17:08Initial releasesin1+1-0
2016-06-11 20:22Replace strlcpy() with equivalent call to snprintf()sin1+1-1
2016-06-11 12:24Add commentsin1+1-0
2016-06-11 12:22Don't hard-code assumption about bytes per channelsin1+3-2
2016-06-11 10:48Display output liveness indicatorslostd1+17-0
2016-06-11 10:35Document keys for decreasing/increasing level per channelsin1+2-0
2016-06-11 10:22Make level step a variable and draw both levelslostd1+26-4
2016-06-11 10:18Rename sockets to ncmixer{0,1}sin1+2-2
2016-06-11 10:10No need to clear output buffersin1+0-1
2016-06-11 10:09Account for crossfader control width when drawinglostd1+1-1
2016-06-11 10:02Fix commentsin1+1-1
2016-06-11 09:59Remove redundant drawsin1+0-2
2016-06-11 09:54Attenuate inputs oncesin1+9-8
2016-06-11 09:52Add support for leveling inputssin1+29-2
2016-06-11 09:45Simplify logic by just calling erase()lostd1+1-5
2016-06-11 09:39Draw individual elements on current linelostd1+6-3
2016-06-11 09:35Call draw() first thing in the poll looplostd1+2-2
2016-06-11 09:34Redraw on window resizelostd1+3-0
2016-06-11 08:01Swap CH1/MONsin1+4-4
2016-06-11 07:59Hide status line if it doesn't fit in wholelostd1+7-1
2016-06-10 23:16Display crossfader step and position valueslostd1+10-2
2016-06-10 18:26Draw a status bar for input channel/monitor statesin1+13-8
2016-06-10 11:10Doc stylelostd1+5-6
2016-06-10 11:08Make a note on how to change key repeat settingslostd1+4-0
2016-06-09 17:02Revert "Use sndiod by default"sin1+2-2
2016-06-09 16:59Eliminate flicker by clearing to end of linesin1+1-2
2016-06-09 14:38Dump warnings to log file insteadsin1+7-24
2016-06-09 14:26Factor out status drawing to a separate functionsin1+12-6
2016-06-08 23:04Use sndiod by defaultsin1+2-2
2016-06-08 23:02Remove keypad() from curses initsin1+0-1
2016-06-08 21:35Add keys for changing the step amountlostd2+14-6
2016-06-08 20:03Remove misleading FPS definelostd1+1-2
2016-06-08 19:16On timeout proceed through poll so we can hotplug monitor output properlysin1+0-2
2016-06-08 19:11No need for erase at init timesin1+0-1
2016-06-08 17:01Clear attenuated buf on input as wellsin1+2-0
2016-06-08 10:57Remove keypress duration emulation boilerplatelostd2+7-64
2016-06-08 08:55Always clear input buffers to avoid mixing stale datasin1+5-8
2016-06-08 08:17Fix abs accuracylostd1+4-4
2016-06-08 08:00Take care of rounding to the step posistionslostd1+4-2
2016-06-08 00:10Move crossfader at discrete stepslostd2+26-16
2016-06-07 16:07Remove implemented XXX commentsin1+0-1
2016-06-07 01:06Draw the crossfader barlostd1+32-0
2016-06-06 23:04Make printerr() variadicsin1+6-3
2016-06-06 16:48Don't play anything unless data was received on at least one of the inputssin1+5-2
2016-06-06 16:21Remove unneeded XXXsin1+1-1
2016-06-06 16:20Add some commentssin1+4-0
2016-06-06 15:25Print channel status (connected/disconnected)sin1+2-1
2016-06-06 15:21Fix commentsin1+1-1
2016-06-06 15:20Mask SIGINT and SIGQUIT for release buildssin1+5-0
2016-06-06 13:58Don't nuke debug fdsin1+6-1
2016-06-06 13:47Exit if stdin or stdout is not a ttysin1+2-0
2016-06-06 13:46Shrink poll arraysin1+1-1
2016-06-06 13:42Nuke inherited file descriptorssin1+10-0
2016-06-06 13:33Restore process umask after creating the unix domain socketsin1+3-2
2016-06-06 13:21Set the application buffer size to 1 second worth of audiosin1+1-0
2016-06-06 12:39Correctly report sio_write() error to callersin1+7-2
2016-06-03 19:25Nuke useless assignmentsin1+0-1
2016-06-03 19:04Fix pfd initializationsin1+2-2
2016-06-03 18:57Add commentsin1+1-0
2016-06-03 17:50No need for conditionals in mix_monitor()sin1+10-12
2016-06-03 17:34Mix monitor as wellsin1+33-4
2016-06-03 17:21Add primitive mixing supportsin2+20-4
2016-06-03 16:41Add curses warning/error printing functionssin1+44-14
2016-06-03 15:55Remove XXXsin1+0-1
2016-06-03 15:54Remove puts() calls, we use cursessin1+0-2
2016-06-03 15:52Rename input_read() to consume()sin1+2-2
2016-06-03 15:51Group inputs together in an arraysin1+77-102
2016-06-03 15:21Allow selecting output device on the cmdlinesin1+5-1
2016-06-03 13:46Unbreak playing loopsin1+6-6
2016-06-03 13:45Prepend audio device name in warningssin1+9-9
2016-06-03 13:42Add LICENSEsin1+14-0
2016-06-03 13:40Include necessary headers for umask(2)sin1+2-0
2016-06-03 13:40Add -Wall to CFLAGSsin1+1-0
2016-06-03 13:39Group the outputs together in an arraysin1+22-30
2016-06-03 10:55Open and mix monitor output as wellsin1+39-25
2016-06-03 10:40Rename some variables in preparation to setting up the monitor outputsin1+10-9
2016-06-03 10:35Open master output on demandsin1+10-5
2016-06-03 10:23Exit if initial audio_open() failssin1+4-2
2016-06-03 10:21Make audio_*() functions more flexiblesin1+17-15
2016-06-03 08:59Restart read(2) on EINTRsin1+6-2
2016-06-03 00:54Add the basic keys and print statelostd2+90-8
2016-06-02 17:32Don't die on EINTR in accept()sin1+10-4
2016-06-02 17:24As an experiment divide by sqrt(2) when mixingsin1+1-2
2016-06-02 17:16Don't die on EINTRsin1+5-2
2016-06-02 17:06Be explicit about errors when initializing sndiosin1+24-11
2016-06-02 16:59Remove static noisesin1+6-6
2016-06-02 16:57Put sockets in /tmpsin1+2-2
2016-06-02 13:10Allow a maximum of one connection per socketsin1+21-11
2016-06-02 13:04Use umask(0) to make sockets writable by everyonesin1+1-0
2016-06-02 11:12Initial importlostd3+369-0