
 JackMixDesk
 ===========

 JackMixDesk a mixer for the Jack Audio Connection Kit with an OSC 
 based control interface. It is released under the  GPL licence.

 For the latest version of JackMixDesk, please see:
 http://jackmixdesk.sourceforge.net/


 JackMixDesk is based on JackMiniMix.



 OSC Interface
 ------------- 

 Channels numbers range from 1 to the total number of channels.
 Prefader count ranges from 1 to total number of prefaders, as the first prefader is needed as master send.
 Gains are in floating point decibels in the range -90 to 0 dB, where -90 dB is treated as infinite.
 Pans are in floating point decibels in the range -90 to 90 dB, where -90 dB is left 0 dB middle and 90 dB right.
 
   /mixer/channel_count_get				- Get the number of channels
    replies with:
   /mixer/channel_count (i)
      
   /mixer/prefader_count					- Get the number of prefader sends
    replies with:
   /mixer/prefader_count (i)
    
   /mixer/postfader_count_get			- Get the number of postfader sends
    replies with:
   /mixer/postfader_count (i)
      
   /mixer/channel/label_get (i)				- Get the label of channel i
    replies with:
   /mixer/channel/label_is (is)
    
   /mixer/channel/label_set (is)			- Set the label of channel i to s
    replies with:
   /mixer/channel/label_now (is)
    
   /mixer/channel/gain_get (i)				- Get the gain of channel i   
    replies with:
   /mixer/channel/gain_is (if)
    
   /mixer/channel/gain_set (if)				- Set the gain of channel i to f dB
    replies with:
   /mixer/channel/gain_now (if)
    
   /mixer/channel/pan_set (if)				- Set the pan of channel i and all channel sends to f dB
    replies with:
   /mixer/channel/pan_now (if)
   
   /mixer/channel/stereo_get (i)			- Get the stereo state of channel i  
    replies with:
   /mixer/channel/stereo_is (ii)

   /mixer/channel/stereo_set (ii)			- Set the stereo state of channel i
    replies with:
   /mixer/channel/stereo_now (ii)

   /mixer/channel/mute_get (i)			- Get the mute state of channel i  
    replies with:
   /mixer/channel/mute_is (ii)
    
   /mixer/channel/mute_set (ii)			- Set the mute state of channel i
    replies with:
   /mixer/channel/mute_now (ii)
    
   /mixer/channel/send/gain_get (ii)			- Get the gain of channel i send i   
    replies with:
   /mixer/channel/send/gain_is (iif)
    
   /mixer/channel/send/gain_set (iif)		- Set the gain of channel i send i to f dB
     replies with:
   /mixer/channel/send/gain_now (iif)
    
   /mixer/channel/send/pan_get (ii)			- Get the pan of channel i send i  
    replies with:
   /mixer/channel/send/pan_is (iif)
   
   /mixer/channel/send/pan_set (iif)		- Set the pan of channel i send i to f dB
    replies with:
   /mixer/channel/send/pan_now (iif)
    
   /mixer/channel/send/gain_l_get (ii)		- Get the gain of channel i send i left
    replies with:
   /mixer/channel/send/gain_l_is (iif)
    
   /mixer/channel/send/gain_l_set (iif)		- Set the gain of channel i send i left to f dB
    replies with:
   /mixer/channel/send/gain_l_now (iif)
    
   /mixer/channel/send/gain_r_get (ii)		- Get the gain of channel i send i right 
    replies with:
   /mixer/channel/send/gain_r_is (iif)
 
   /mixer/channel/send/gain_r_set (iif)		- Set the gain of channel i send i right to f dB
    replies with:
   /mixer/channel/send/gain_r_now (iif)
 
   /mixer/output/label_get (i)				- Get the label of output i
    replies with:
   /mixer/output/label_is (is)
    
   /mixer/output/label_set (is)				- Set the label of output i
    replies with:
   /mixer/output/label_now (is)
    
   /mixer/output/gain_get (i)				- Get the gain of output i
    replies with:
   /mixer/output/gain_is (if)
   
   /mixer/output/gain_set (if)				- Set the gain of output i to f dB
    replies with:
   /mixer/output/gain_now (if)
   
   /mixer/output/mute_get (i)				- Get the mute state of output i  
    replies with:
   /mixer/output/mute_is (ii)
 
   /mixer/output/mute_set (ii)				- Set the mute state of output i
    replies with:
   /mixer/output/mute_now (ii)
 
   /mixer/output/link_get (i)				- Get the link state of output i  
    replies with:
   /mixer/output/link_is (ii)
 
   /mixer/output/link_set (ii)				- Set the link state of output i
    replies with:
   /mixer/output/link_now (ii)

   /save (ss)							- Save the config with path s file s
    replies with:
   /saved (ss)
   
   /ping								- Check if mixer is still there
    replies with:
   /pong
   
   /quit								- Quit the mixer backend
    replies with:
   /exit

 Replies are send back to the port/socket that they were sent from.


 Surround:
 ---------

 You can use prefader sends for as many channel surround support as you want.
 Up to Dolby 7.1, Dolby TrueHD and more.
 With phat pad you can do "surround panning", try khagan.

 Config:
 -------

 Edit .mixdeskrc to your needs.
 As long as a config file exists command line args are ignored!!!!

 GTK interface
 -------------

 If any send gain_l and send gain_r are both less 0dB pan is invalid and should be omitted.
 Hold down shift on fanslider to lock value and then drag out the fan.

 Bugs:
 -----

 On startup connect there is 0dB noise sometimes.

