1 (edited by tigersoul 2023-12-08 19:46:41)

Topic: Using sendosc to Totalmix doesn't work, why?

I'm using the commandline tool "sendosc" on mac to control Totalmix via osc.

I know the connection works because "sendosc 127.0.0.1 8003 /globalMute f 1" works just as expected.

But I cannot change the mute or volume on any track no matter what I do. This is what I try:
sendosc 127.0.0.1 8003 /1/busOutput f 1.0
sendosc 127.0.0.1 8003 /1/volume1 f 0.5

But nothing happens. This works too: "sendosc 127.0.0.1 8003 /3/muteGroups/4/1 f 1"

As soon as I need to get into the busOutput stuff, it just refuses to work. I have a minor idea that maybe the status sent for busOutput resets between the commands because the client connects, send busOutput, disconnects, connects again to send "volume1".

Any idea how to get this to work? I could have used midi control instead, but that's built kind of stupid as I have to "cycle" to outputs to mute anything, and how do I know where I am when doing that? No way to know *tearing hair out*

EDIT: bug: the implementation says global mutes can be set absolutely by sending 0.0 or 1.0, they cannot. Only 1.0 yields a result and it toggles. Once again: how do I know where things are before toggling? sorry for sounding angry, I AM. Spent hours on this darn thing as I NEED a way to toggle mutes from the commandilne.

What is sendosc? https://github.com/yoggy/sendosc

2 (edited by maggie33 2023-12-09 03:35:46)

Re: Using sendosc to Totalmix doesn't work, why?

sendosc 127.0.0.1 8003 /1/busOutput f 1.0
sendosc 127.0.0.1 8003 /1/volume1 f 0.5

works without any problems here.

I have a minor idea that maybe the status sent for busOutput resets between the commands because the client connects, send busOutput, disconnects, connects again to send "volume1".

Nope - You can trace it with any OSC Monitoring Apps or Wireshark - If you establish the connection once (its UDP) a random port is generated by the OS.


The only difference - i use oscsend (but it should not differ from your sendosc)
https://fukuchi.org/works/oscsend/index.html



----

EDIT: bug: the implementation says global mutes can be set absolutely by sending 0.0 or 1.0, they cannot. Only 1.0 yields a result and it toggles.

Not a bug - you maybe misinterpretet the doc?

globalMute    kPCTRL_MuteGlob    kOSCScaleToggle    kOSCScaleNoSend

-> thats clear, right?

In the comments tab, this may be lead to misunderstand the Toggle ScaleType:

kOSCScaleToggle,    // receive value 1.0 toggles Totalmix value, send 0.0 or 1.0 for on/off

As i got it (via tracing with wireshark a long time ago):
->  receive value 1.0 toggles Totalmix value
-> TM sends 0.0 (via the random generated port) for off and 1.0 for on

So - to achieve the feedback, you also need an osc-receive handler, which listens for the outgoing messages from TM.

In my link above, the oscdump (the listener) is also implemented.



regards, maggie

PS: So - no reason to be angry ;-) Just relax...

“Do It For Her”
My Gear: Bontempi Magic light Keyboard

Re: Using sendosc to Totalmix doesn't work, why?

maggie33 wrote:

sendosc 127.0.0.1 8003 /1/busOutput f 1.0
sendosc 127.0.0.1 8003 /1/volume1 f 0.5

works without any problems here.

I have a minor idea that maybe the status sent for busOutput resets between the commands because the client connects, send busOutput, disconnects, connects again to send "volume1".

Nope - You can trace it with any OSC Monitoring Apps or Wireshark - If you establish the connection once (its UDP) a random port is generated by the OS.


The only difference - i use oscsend (but it should not differ from your sendosc)
https://fukuchi.org/works/oscsend/index.html



----

EDIT: bug: the implementation says global mutes can be set absolutely by sending 0.0 or 1.0, they cannot. Only 1.0 yields a result and it toggles.

Not a bug - you maybe misinterpretet the doc?

globalMute    kPCTRL_MuteGlob    kOSCScaleToggle    kOSCScaleNoSend

-> thats clear, right?

In the comments tab, this may be lead to misunderstand the Toggle ScaleType:

kOSCScaleToggle,    // receive value 1.0 toggles Totalmix value, send 0.0 or 1.0 for on/off

As i got it (via tracing with wireshark a long time ago):
->  receive value 1.0 toggles Totalmix value
-> TM sends 0.0 (via the random generated port) for off and 1.0 for on

So - to achieve the feedback, you also need an osc-receive handler, which listens for the outgoing messages from TM.

In my link above, the oscdump (the listener) is also implemented.



regards, maggie

PS: So - no reason to be angry ;-) Just relax...

That's so weird. Wonder why it doesn't work here. I guess it could be some difference between the osc clients? Also, I haven't defined an output port in osc setting's as I had no intention on listening for any replies. Guess I'll start by trying your client instead of and see if that works.

Thanks for the reply. I spent a stupid amount of time on this and really need to find a solution. Hence the hair pulling

Re: Using sendosc to Totalmix doesn't work, why?

Ok so I've now moved to oscsend and it did change anything, but I did get access to dumposc to see what is going on under the hood and that was somewhat helpful, although I do not know the answer.

When sending busOutput I get a bunch of output in which it's clear that I've changed to output and the current submix seems correct as well, but while I am getting the correct info for global volume, global mute etc, when it comes to channels, nothing correlates to the information that is actually set in TotalMix. N/A for channel names, incorrect volumes, incorrect gain, everything is zero or N/A. An example:

00000000.00000000 /1/labelS1 s "Sub"
00000000.00000000 /1/solo/1/1 f 0.000000
00000000.00000000 /1/labelS2 s "Sub"
00000000.00000000 /1/solo/1/2 f 0.000000
00000000.00000000 /1/labelS3 s "Sub"
00000000.00000000 /1/solo/1/3 f 0.000000
00000000.00000000 /1/labelS4 s "Sub"
00000000.00000000 /1/solo/1/4 f 0.000000
00000000.00000000 /1/labelS5 s "Sub"
00000000.00000000 /1/solo/1/5 f 0.000000
00000000.00000000 /1/labelS6 s "Sub"
00000000.00000000 /1/solo/1/6 f 0.000000
00000000.00000000 /1/labelS7 s "Sub"
00000000.00000000 /1/solo/1/7 f 0.000000
00000000.00000000 /1/labelS8 s "Sub"
00000000.00000000 /1/solo/1/8 f 0.000000
00000000.00000000 /1/labelS9 s "Sub"
00000000.00000000 /1/solo/1/9 f 0.000000
00000000.00000000 /1/labelS10 s "Sub"
00000000.00000000 /1/solo/1/10 f 0.000000
00000000.00000000 /1/labelS11 s "Sub"
00000000.00000000 /1/solo/1/11 f 0.000000
00000000.00000000 /1/labelS12 s "Sub"
00000000.00000000 /1/solo/1/12 f 0.000000
00000000.00000000 /1/labelS13 s "Sub"
00000000.00000000 /1/solo/1/13 f 0.000000
00000000.00000000 /1/labelS14 s "Sub"
00000000.00000000 /1/solo/1/14 f 0.000000
00000000.00000000 /1/labelS15 s "Sub"
00000000.00000000 /1/solo/1/15 f 0.000000
00000000.00000000 /1/labelS16 s "Sub"
00000000.00000000 /1/solo/1/16 f 0.000000
00000000.00000000 /1/busInput f 0.000000
00000000.00000000 /1/busPlayback f 0.000000
00000000.00000000 /1/busOutput f 1.000000
00000000.00000000 /1/globalMute f 0.000000
00000000.00000000 /1/globalSolo f 0.000000
00000000.00000000 /1/trim f 0.000000
00000000.00000000 /1/mainDim f 0.000000
00000000.00000000 /1/mainSpeakerB f 0.000000
00000000.00000000 /1/speakerBLinked f 1.000000
00000000.00000000 /1/mainMuteFx f 0.000000
00000000.00000000 /1/mainMono f 0.000000
00000000.00000000 /1/mainExtIn f 0.000000
00000000.00000000 /1/mainTalkback f 0.000000
00000000.00000000 /1/labelSubmix s "MONITORS"
00000000.00000000 /1/mastervolume f 0.327593
00000000.00000000 /1/mastervolumeVal s "-25.0 dB"
00000000.00000000 /1/volume1 f 0.000000
00000000.00000000 /1/volume1Val s "-oo"
00000000.00000000 /1/volume2 f 0.000000
00000000.00000000 /1/volume2Val s "-oo"
00000000.00000000 /1/volume3 f 0.000000
00000000.00000000 /1/volume3Val s "-oo"
00000000.00000000 /1/volume4 f 0.000000
00000000.00000000 /1/volume4Val s "-oo"
00000000.00000000 /1/volume5 f 0.000000
00000000.00000000 /1/volume5Val s "-oo"
00000000.00000000 /1/volume6 f 0.000000
00000000.00000000 /1/volume6Val s "-oo"
00000000.00000000 /1/volume7 f 0.000000
00000000.00000000 /1/volume7Val s "-oo"
00000000.00000000 /1/volume8 f 0.000000
00000000.00000000 /1/volume8Val s "-oo"
00000000.00000000 /1/volume9 f 0.000000
00000000.00000000 /1/volume9Val s "-oo"
00000000.00000000 /1/volume10 f 0.000000
00000000.00000000 /1/volume10Val s "-oo"
00000000.00000000 /1/volume11 f 0.000000
00000000.00000000 /1/volume11Val s "-oo"
00000000.00000000 /1/volume12 f 0.000000
00000000.00000000 /1/volume12Val s "-oo"
00000000.00000000 /1/volume13 f 0.000000
00000000.00000000 /1/volume13Val s "-oo"
00000000.00000000 /1/volume14 f 0.000000
00000000.00000000 /1/volume14Val s "-oo"
00000000.00000000 /1/volume15 f 0.000000
00000000.00000000 /1/volume15Val s "-oo"
00000000.00000000 /1/volume16 f 0.000000
00000000.00000000 /1/volume16Val s "-oo"
00000000.00000000 /1/pan1 f 0.500000
00000000.00000000 /1/pan2 f 0.500000
00000000.00000000 /1/pan3 f 0.500000
00000000.00000000 /1/pan4 f 0.500000
00000000.00000000 /1/pan5 f 0.500000
00000000.00000000 /1/pan6 f 0.500000
00000000.00000000 /1/pan7 f 0.500000
00000000.00000000 /1/pan8 f 0.500000
00000000.00000000 /1/pan9 f 0.500000
00000000.00000000 /1/pan10 f 0.500000
00000000.00000000 /1/pan11 f 0.500000
00000000.00000000 /1/pan12 f 0.500000
00000000.00000000 /1/pan13 f 0.500000
00000000.00000000 /1/pan14 f 0.500000
00000000.00000000 /1/pan15 f 0.500000
00000000.00000000 /1/pan16 f 0.500000
00000000.00000000 /1/mute/1/1 f 0.000000
00000000.00000000 /1/mute/1/2 f 0.000000
00000000.00000000 /1/mute/1/3 f 0.000000
00000000.00000000 /1/mute/1/4 f 0.000000
00000000.00000000 /1/mute/1/5 f 0.000000
00000000.00000000 /1/mute/1/6 f 0.000000
00000000.00000000 /1/mute/1/7 f 0.000000
00000000.00000000 /1/mute/1/8 f 0.000000
00000000.00000000 /1/mute/1/9 f 0.000000
00000000.00000000 /1/mute/1/10 f 0.000000
00000000.00000000 /1/mute/1/11 f 0.000000
00000000.00000000 /1/mute/1/12 f 0.000000
00000000.00000000 /1/mute/1/13 f 0.000000
00000000.00000000 /1/mute/1/14 f 0.000000
00000000.00000000 /1/mute/1/15 f 0.000000
00000000.00000000 /1/mute/1/16 f 0.000000
00000000.00000000 /1/select/1/1 f 0.000000
00000000.00000000 /1/select/1/2 f 0.000000
00000000.00000000 /1/select/1/3 f 0.000000
00000000.00000000 /1/select/1/4 f 0.000000
00000000.00000000 /1/select/1/5 f 0.000000
00000000.00000000 /1/select/1/6 f 0.000000
00000000.00000000 /1/select/1/7 f 0.000000
00000000.00000000 /1/select/1/8 f 0.000000
00000000.00000000 /1/select/1/9 f 0.000000
00000000.00000000 /1/select/1/10 f 0.000000
00000000.00000000 /1/select/1/11 f 0.000000
00000000.00000000 /1/select/1/12 f 0.000000
00000000.00000000 /1/select/1/13 f 0.000000
00000000.00000000 /1/select/1/14 f 0.000000
00000000.00000000 /1/select/1/15 f 0.000000
00000000.00000000 /1/select/1/16 f 0.000000
00000000.00000000 /1/trackname1 s "n.a."
00000000.00000000 /1/trackname2 s "n.a."
00000000.00000000 /1/trackname3 s "n.a."
00000000.00000000 /1/trackname4 s "n.a."
00000000.00000000 /1/trackname5 s "n.a."
00000000.00000000 /1/trackname6 s "n.a."
00000000.00000000 /1/trackname7 s "n.a."
00000000.00000000 /1/trackname8 s "n.a."
00000000.00000000 /1/trackname9 s "n.a."
00000000.00000000 /1/trackname10 s "n.a."
00000000.00000000 /1/trackname11 s "n.a."
00000000.00000000 /1/trackname12 s "n.a."
00000000.00000000 /1/trackname13 s "n.a."
00000000.00000000 /1/trackname14 s "n.a."
00000000.00000000 /1/trackname15 s "n.a."
00000000.00000000 /1/trackname16 s "n.a."
00000000.00000000 /1/phantom/1/1 f 0.000000
00000000.00000000 /1/phantom/1/2 f 0.000000
00000000.00000000 /1/phantom/1/3 f 0.000000
00000000.00000000 /1/phantom/1/4 f 0.000000
00000000.00000000 /1/phantom/1/5 f 0.000000
00000000.00000000 /1/phantom/1/6 f 0.000000
00000000.00000000 /1/phantom/1/7 f 0.000000
00000000.00000000 /1/phantom/1/8 f 0.000000
00000000.00000000 /1/phantom/1/9 f 0.000000
00000000.00000000 /1/phantom/1/10 f 0.000000
00000000.00000000 /1/phantom/1/11 f 0.000000
00000000.00000000 /1/phantom/1/12 f 0.000000
00000000.00000000 /1/phantom/1/13 f 0.000000
00000000.00000000 /1/phantom/1/14 f 0.000000
00000000.00000000 /1/phantom/1/15 f 0.000000
00000000.00000000 /1/phantom/1/16 f 0.000000
00000000.00000000 /1/micgain1 f 0.000000
00000000.00000000 /1/micgain1Val s "0.0 dB"
00000000.00000000 /1/micgain2 f 0.000000
00000000.00000000 /1/micgain2Val s "0.0 dB"
00000000.00000000 /1/micgain3 f 0.000000
00000000.00000000 /1/micgain3Val s "0.0 dB"
00000000.00000000 /1/micgain4 f 0.000000
00000000.00000000 /1/micgain4Val s "0.0 dB"
00000000.00000000 /1/micgain5 f 0.000000
00000000.00000000 /1/micgain5Val s "0.0 dB"
00000000.00000000 /1/micgain6 f 0.000000
00000000.00000000 /1/micgain6Val s "0.0 dB"
00000000.00000000 /1/micgain7 f 0.000000
00000000.00000000 /1/micgain7Val s "0.0 dB"
00000000.00000000 /1/micgain8 f 0.000000
00000000.00000000 /1/micgain8Val s "0.0 dB"
00000000.00000000 /1/micgain9 f 0.000000
00000000.00000000 /1/micgain9Val s "0.0 dB"
00000000.00000000 /1/micgain10 f 0.000000
00000000.00000000 /1/micgain10Val s "0.0 dB"
00000000.00000000 /1/micgain11 f 0.000000
00000000.00000000 /1/micgain11Val s "0.0 dB"
00000000.00000000 /1/micgain12 f 0.000000
00000000.00000000 /1/micgain12Val s "0.0 dB"
00000000.00000000 /1/micgain13 f 0.000000
00000000.00000000 /1/micgain13Val s "0.0 dB"
00000000.00000000 /1/micgain14 f 0.000000
00000000.00000000 /1/micgain14Val s "0.0 dB"
00000000.00000000 /1/micgain15 f 0.000000
00000000.00000000 /1/micgain15Val s "0.0 dB"
00000000.00000000 /1/micgain16 f 0.000000
00000000.00000000 /1/micgain16Val s "0.0 dB"
00000000.00000000 /1/cue/1/1 f 0.000000
00000000.00000000 /1/cue/1/2 f 0.000000
00000000.00000000 /1/cue/1/3 f 0.000000
00000000.00000000 /1/cue/1/4 f 0.000000
00000000.00000000 /1/cue/1/5 f 0.000000
00000000.00000000 /1/cue/1/6 f 0.000000
00000000.00000000 /1/cue/1/7 f 0.000000
00000000.00000000 /1/cue/1/8 f 0.000000
00000000.00000000 /1/cue/1/9 f 0.000000
00000000.00000000 /1/cue/1/10 f 0.000000
00000000.00000000 /1/cue/1/11 f 0.000000
00000000.00000000 /1/cue/1/12 f 0.000000
00000000.00000000 /1/cue/1/13 f 0.000000
00000000.00000000 /1/cue/1/14 f 0.000000
00000000.00000000 /1/cue/1/15 f 0.000000
00000000.00000000 /1/cue/1/16 f 0.000000

While TotalMix displays this:

http://imgur.com/a/oJTefvY

5 (edited by tigersoul 2023-12-09 14:46:07)

Re: Using sendosc to Totalmix doesn't work, why?

EDIT: Fixed it.

After spending several hours AGAIN and giving it up, I went into the settings to change something else and realized there was a place in the settings where some channels can be "hidden" from certain OSC slots. Of course, all my tracks were set to be hidden for my particular slot. Intuitive? NO.

For future readers: make sure you have not ticked the option to hide the desired tracks from the particular OSC settings slot inside channel layout.

For developer of totalmix: inform the user in the osc settings that they must check this OTHER setting or they may get nothing.

Thanks for the reply, I did get sent in the right direction at least wink

6 (edited by maggie33 2023-12-10 07:01:13)

Re: Using sendosc to Totalmix doesn't work, why?

Nice to hear, you could get it to run…

Of course, all my tracks were set to be hidden for my particular slot. Intuitive? NO.
For future readers: make sure you have not ticked the option to hide the desired tracks from the particular OSC settings slot inside channel layout.

The default TM Config is always set to nothing to be hidden. So - you  surely have hidden them anyhow by yourself. 

For developer of totalmix: inform the user in the osc settings that they must check this OTHER setting or they may get nothing.

Ahem… The Developers inform you by adding the checkboxes labled with „Hide from controller Midi x or OSC x“ in the corresponding Layout Dialog (where you disabled it before).
For me it is clear and implemented in the (logically) right place.

Additionaly, Details for this are described in the manual.

“Do It For Her”
My Gear: Bontempi Magic light Keyboard

Re: Using sendosc to Totalmix doesn't work, why?

maggie33 wrote:

Nice to hear, you could get it to run…

Of course, all my tracks were set to be hidden for my particular slot. Intuitive? NO.
For future readers: make sure you have not ticked the option to hide the desired tracks from the particular OSC settings slot inside channel layout.

The default TM Config is always set to nothing to be hidden. So - you  surely have hidden them anyhow by yourself. 

For developer of totalmix: inform the user in the osc settings that they must check this OTHER setting or they may get nothing.

Ahem… The Developers inform you by adding the checkboxes labled with „Hide from controller Midi x or OSC x“ in the corresponding Layout Dialog (where you disabled it before).
For me it is clear and implemented in the (logically) right place.

Additionaly, Details for this are described in the manual.

Can't see why I would have hidden tracks from setup slots not used, but I can of course not state for certain that I did not. As for the rest, well, I guess I must've missed it somehow in my rage