There are more messages used to control the
omx.comp~ object than are found on many compressors. Using these messages gives you unprecedented access to the inner workings of the object and let you adjust the behavior for a wide variety of sounds. In addition to Threshold, ratio, Attack, and Release, the following messages are available: (Try them out in patcher
C3mTweakingCompression.)
The OMX objects send messages from the third outlet when parameters are changed. These are in parameter lists, which contain 7 fields:
1. Scope 0 = global, 1 = presetable, 2 = end of list.
2. Name of parameter.
3. Current value.
4. Maximum value.
6. Display value.
The parameter values are arbitrarily scaled, most from 0 to 100. Some of these can be converted to familiar units. Any dB parameter can be converted by looking at the value shown when set at 0 – that’s the minimum value (100 corresponds to 0 dB). Divide 100 by this value to get the scaling factor. Then to set a value, add the absolute of the minimum and multiply by the absolute of the scaling factor, like this:
With so many parameters, some method for recalling combinations of settings is essential. The compressors have a few presets built in (selectable using the
ChoosePreset message), but the ultimate solution will be to save the entire setup in a
coll or
pattr object. The
SaveSettings message will give you a dump of all of the parameters.
The right outlet provides gain metering if enabled with the
meters message. The outputs are a list ready to be connected to a
multislider object. The list for the
omx.comp~ shows left and right values for AGC gain, noise gate and limiter. The
meterRate message determines how often these are sent. Alternately, you can get the values using the
meterData message. The meters for the 4-band and 5- band compressors are quite elaborate.