MasterEQ a global equaliser with graphical interface
part of wslib
** This class requires the TabbedView Quark **
MasterEQ provides a user interface for the BEQSuite filters, in the form of a parametric EQ. The MasterEQ is always inserted at the end of the processing chain, so any sound produced with SuperCollider wil go through the eq. The setting is the same for all channels.
There is a preset system included which allows users to add and recall settings. The settings can also be saved to disk with the "save" button. The presets and current settings are then saved in the SuperCollider application folder in a text file named "eq-prefs.txt", and will be automatically loaded the next time MasterEQ is called.
MasterEQ survives cmd-period calls.
See also: BEQSuite
Creation / Class Methods
*new (numCha, server)
This method creates a new instance of MasterEQ. There can be only one MasterEQ at a time.
numCha - number of channels. Default value is 2.
server - the server on which the EQ runs. The default is Server.default
s.boot;
MasterEQ(2); // opens and runs the EQ in 2-channel mode
MasterEQ(4); // replaces current eq with 4-channel version
*stop
Stop the EQ
MasterEQ.stop; // notice the power button in the right corner turn gray
*start
Start the EQ. Also opens a new instance if not already opened, based on the most recently set number of channels.
MasterEQ.start;
Accessing Instance and Class Variables
*window
Pointer to the EQ window.
MasterEQ.window.view.background_( Gradient( Color.gray(0.58), Color.white, \v ) );
*eq
eq is a dict (Event) with all used variables and settings of the EQ. Please study the source code of this class to find out what is in there and how to acces. Easy scripting methods might be added in a later stage.
( // set random db values
MasterEQ.eq[ \frdb ] = [ [ 100, 10.rand2, 1 ], [ 250, 10.rand2, 1 ], [ 1000, 10.rand2, 1 ],
[ 3500, 10.rand2, 1 ], [ 6000, 10.rand2, 1 ] ];
MasterEQ.eq[ \send_current ].value;
MasterEQ.eq[ \uvw ].refresh;
MasterEQ.eq[ \tvw_refresh ].value;
MasterEQ.eq[ \pumenu_check ].value;
)