ncmixer

ncurses audio mixer for DJ'ing
git clone git://git.2f30.org/ncmixer
Log | Files | Refs | README | LICENSE

README (1815B)


      1 VISUAL
      2 
      3   [CH0:*] [MON: ]                                           [CH1: ] [MON: ]
      4                                step: 0.062500
      5                                pos: -0.187500
      6 
      7   ----------------------------|||-----+------------------------------------
      8   ||||||||                                                         ||||||||
      9                                  master: on
     10                                 monitor: off
     11                                   onair: off
     12 
     13 
     14 KEYS
     15 
     16     h,l   -- move crossfader left/right by one step
     17     j,k   -- halve/double the step amount
     18     ^H,^L -- snap to leftmost, center, rightmost positions
     19     q,w   -- decrease, increase level of channel 1
     20     o,p   -- decrease, increase level of channel 2
     21     1     -- toggle monitor on channel 1
     22     2     -- toggle monitor on channel 2
     23     ^A    -- toggle on-air state
     24 
     25 
     26 CONFIG
     27 
     28 The mixer daemon works with the sndio audio server.  For best performance,
     29 you should avoid resampling at the sndio layer.  The mixer itself uses a
     30 sampling rate of 44100Hz, so ideally you run:
     31 
     32     sndiod -r44100 -f rsnd/0 -r44100 -f rsnd/1
     33 
     34 
     35 CAVEATS
     36 
     37 The correct way to do movement is to get keyboard press and release events,
     38 and move the crossfader at the set speed in the meantime.  We can emulate this
     39 assuming the default auto-repeat settings for X: a delay of 660ms and a rate
     40 of 25Hz:
     41 
     42     xset q | grep repeat
     43 
     44 To set these options:
     45 
     46     xset r rate 660 25
     47 
     48 initial gap: 660ms
     49 subsequent gaps: 1000 / 25 = 40ms
     50 state machine:
     51 
     52 if current key is right:
     53     if previous key is not right:
     54         start crossfade to right for 660ms
     55     if previous key is right and still crossfading:
     56         continue crossfade to right for another 40ms
     57 
     58 Currently we don't do anything about that.  We suffer the initial 660ms delay
     59 and then we move by one step every 40ms.