OSC to RME Totalmix

toddwelti's icon

I would like to send a simple volume control message to Totalmix. i did this already in pd, using "send /1/volume1 $1" to packOSC (from mrpeach library) to udpsend. This works. i simply want to do the same in Max. I have spent several hours looking around, but no luck yet. Any hints appreciated.

jonah's icon

not at it right now, but looking at my patch try
number into 'prepend set' into prepend /1/volume1 into udpsend? i know it works for reverb settings.

in my patch i have t b f after number and a message that gets b'd after the prepend set, but i'm pretty sure i just added it while trying to figure osc messaging out and it's not needed .

dhjdhjdhj's icon

I do that kind of thing all the time between max and totalmix. I'll have to look at my patcher later today (and I'll post it) but as far as I remember I am just sending such OSC messages directly to a udpsend object which is configured for local host and the port on which totalmix is listening. I assume you have configured totalmix to listen for OSC messages.

I do remember that I had to do some funky sequence of messages to make sure I was addressing the correct channel strip but whatever i did (2 years ago) it continues to be totally reliable.

metamax's icon

Be sure you are packing your messages properly. You can't always send output from [message] with changeable args - even to a hot inlet - and expect subsequent output. It should work (and does work in almost all cases).. but there are a few exceptions that can be a real headache to debug. When in doubt, I will use [pak] instead of changeable args... example: [pak send /1/volume1 0] with a number object in the rightmost inlet of [pak] instead of using the message [send /1/volume1 $1] with [number] feeding the left input.

toddwelti's icon

So, using PD, sending for example "send /1/volume1 $1" with $1 between 0 and 1, to packOSC to udpsend works, with udpsend set to 127.0.0.1. Sending the same message directly to udpsend in Max, with same IP address, does not work.

dhjdhjdhj's icon

But on what port number are you sending the packet? (NB still not near my computer to get an example)

toddwelti's icon

7001 in both cases (i.e. PD and Max). This is correct according to RME settings.

dhjdhjdhj's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Here's the patcher that I built to control a particular channel strip on my RME --- you can ignore the objects at the top, those are just inputs from some of my keyboards. Note that I send several messages out so as to select the required channel strip before I can send it an actual volume message.

toddwelti's icon

Thanks, that works! I guess using sprintf is the trick?

jonah's icon

you don't need "send".

just checked and this works:

float constrained to 0-1 into prepend /1/volume1 into udpsend 127.0.0.1 7001

if that doesn't work maybe pull up the matrix in case you it's going to a destination that isn't visible in totalmix.

toddwelti's icon

ahhh crud. Yes that works. It seems that the Max version of udpsend already incorporates the "send", whereas PD not.