MixingBoard 


Graphic interface for MixerChannels. From the graphic window, you can adjust the level and panning of each MixerChannel, as well as allocate pre- and post-fader sends, and adjust the send levels. Each channel also has mute and record buttons. Since the MixerChannels keep track of their associated synth processes on the server, freeing the MixingBoard (or closing the window) frees all the processes.


*new(name, skin ... mixers) 


Creates a MixingBoard window. Name goes into the window's title bar. Skin is a mixer skin object, which contains several variables describing the MixingBoard's appearance and layout (see MixerSkin). If you specify nil, a default skin will be used (accessible through *defaultSkin and *defaultSkin_). For mixers, simply list all the MixerChannel objects you want to include on this board. The arguments can be individual MixerChannels or collections; they will be added together into a single collection. 


m = Array.fill(5, { arg i; MixerChannel("test" ++ (i+1), s) });

n = MixerChannel("essai", s);

z = MixingBoard("test board", nil, m, n); 


Any mixer supplied to the mixers argument may also be nil. The GUI will be created, but it will be inactive. You can drag a MixerChannel into the GUI's name box to assign the mixer channel to the GUI. This makes it possible, for instance, to create a GUI containing a fixed number of mixer slots, into which you can drag-and-drop an unlimited number of mixer channels at will.


free 


Closes the MixingBoard window and terminates all synth processes associated with the channels contained therein. Closing the window activates this method as well. If any channels are recording, the files will be closed.


add( ... mxs) 


Adds channels to an existing MixingBoard window. As in *new, you can have any number of arguments, which can be a single MixerChannels or collections. 


remove( ... mxs) 

removeAt( ... ind) 


This method intends to remove MixerChannels from the board. Remove takes the MixerChannel objects themselves as arguments; removeAt takes the indices to the slots on the board. 


refresh 


Updates all the views for this MixingBoard and resets all the view boundaries. 


*facelift 


Updates all the views for every open MixingBoard. 


skin_(newskin) 


Replaces the skin for this MixingBoard and redraws. See MixerSkin.


To change the font or color for a single MixerChannel, use aMixer.mcgui.color1_(), .color2_() or .textFont_() instead of making changes to the skin.