Topic: anatomy of the OSC messages
I have found the OSC chart https://archiv.rme-audio.de/download/os … talmix.zip. There is a little explanation in the Excel document on the spreadsheet-page with the name "comments".
I want to change the EQ Frequency of the middle (second/green) value on the analog outs 1/2.
In the Excel document the corresponding line reads:
Name internal ID ScaleType ScaleTypeVal Channel
eqFreq2 kPEQ_Freq2 kOSCScaleFreq kOSCScalePrintVal 0
I can successfully change the Mic 1 level from the Hardware inputs like this:
/1/volume1 0.5
The format appears to be
/{Pagename}/{Name} {Value}
Pagename is the name of the page in the Excel document. There is "none paged" where this value is ommited completely, then there is ""Page1", "Page2" and "Page3" which correspond to Pagename /1, /2 or /3
Name is the name of the controller as listed in the Excel document.
Value ist the value of the controller to set it to, but normalized 0.0 to 1.0 (you must define the type as a float otherwhise if you send a 1, 1.0 or anything above, the fader will jump back to -oo)
When the volume is changed like this, TotalMix is responding through the OSC connecton (default: port 9001) like this:
/1/volume1Val -12.1 dB
It seems TotalMix's controls can't be adressed by absolute OSC messages (yet – I read here it's in the works). Rather it is expected awkwardly to "navigate" to different controls by sending selection messages. That seems geared towards the App TouchOSC but is generally neither intuitive, nor does it make clever use of the powerful message nesting OSC provides.
A nice OSC implementation would work similar like this:
/HardwareInputs/1/Volume -21
there is no need to normalize the values to a 0-0.999 range in OSC.
/HardwareInputs/Volume -21
could set all Hardware Inputs to -21dB at once.
I found out that in order to change the EQ Frequency I have to do this:
/1/busOutput 1.0
/setBankStart 0.0
/2/eqEnable 0.51
/2/eqFreq2 0.5
Sending /2/eqEnable 0.51 again will toggle the EQ off. Strangly enough you can't just switch it on or off explicitly by sending /2/eqEnable 0.0 and /2/eqEnable 1.0 but you have to survey and parse what TotalMix sends back over OSC to know the current status of the EQ and go from there (who made this up??).
When using Pure Data (Pd) with [mrpeach/packOSC] you have to send
[slider 0-1]
|
[sendtyped /2/eqFreq2 f $1( // not send, but sendtyped!
|
[mrpeach/packOSC]
|
[mrpeach/udpsend]
If you want to crash TotalMix, then just send it an untyped
/2/eqFreq2 -50
And by the way: I like the new GUI. Nice work.