Sending MIDI CC to TheatreMix to control next/prior cue selection

I was trying to send a MIDI CC on MIDI channel 1 with a value of 11 for next, value of 12 for prior…like configured on an x32 when using mute group buttons to handle cue next/prior navigation. Sorry, I did miscommunicate that though…MIDI Outputs PLUGIN with values set in a Widget.

But you want to send that midi message over a network to a different machine?

Yes, to the PC running TheatreMix on the same local network.

It supports OSC, I think that’s the way to go:

Ok, in the documentation I see that OSC is supported.
So you should send OSC messages.
In scripting it can be done with simple coding or when you use direct OSC even without any coding

Yes, thanks, I will go that route instead.

Ok, I have tried the direct OSC route…but when I wireshark trace the traffic I find that I cannot just send “/go” because if I use the default type choice GigPerformer adds ,f and if I select string it adds ,s and the string…so I cannot send just “/go” with no parameters. How do I send an OSC command that does not have any parameters?

What do you mean by “direct OSC”?

How exactly are you sending the /Go message?

In the Widget’s settings Enable Widget Direct OSC and set the OSC Address as /go and the target as the IP of the computer running TheatreMix and the port as 3200 and I tried various Type choices and values…but there is no option to have no arguments to the OSC “address”

The point is to send out the current value of the widget. That said, it might be useful to have a No Argument” option.
If the other system can’t be configured to ignore arguments then I guess the only other way to do it is via GP Script

I am trying to find out from the other software if there is something they will ignore… Is there an OSC_Send function that does not require a second parameter to be included after the “address”? I was unable to see one in the list. I do see OSC_Send but it has an argument of m : OSCMessage…and I cannot figure out what that implies. The other OSC_Send… functions all include a specific type of additional parameter.

You use OSC_SetAddress to define the address for a message, don’t add any args to it and then just use OSC_Send to send out that message

1 Like

I checked with the author of TheatreMix. They ignore the arguments. I ran some WireShark traces and it looks like the packets coming across are not being recognized as OSC protocol…WireShark does not see them as OSC anyway… Any ideas on this?

Screenshot of WireShark of OSC sent from an x32 to TheaterMix that is recognized as OSC:

Screenshot of WireShark of OSC sent from GigPerformer to TheaterMix that is not recognized as OSC:

Sorry, but if OSC wasn’t working in GP, there would have been major problems detected years ago.

Maybe you haven’t configured wireshark properly to decode OSC messages, e.g.

Try a tool specifically designed to monitor OSC messages, such as OSCShark

It was a Windows Defender firewall problem…need to figure out the right way to fix it now! FYI: OSCShark is Mac Only at this time so I cannot use it.

The right way to fix Windows Defender is to disable it, specially the real-time protection stuff!

Try this one - it’s available for pretty much every platform and is quite recent

Yeah, disabling is safest…I just opened the port though. It was not open in the right network type. I do have Protokol installed, it does not pick these messages up though…perhaps because I have 2 networks active and I cannot tell it which IP to monitor. Thanks for nudging me along! I now have the buttons in place!

OSC messages from GP are perfect OSC messages and Wireshark display them perfectly when the Network is well configured and the Firewall let them through:

The advantage of using WireShark is that it allows non invasive testing. Is doesn’t require to open a UDP port and doesn’t change anything to your OSC configuration. But, it is more difficult to use than nice tools like Protokol.