Controlling Open Stage Control widgets using OSC from an external source

Hello all,

I’m working on a project because I’m bored and wanted a way to be able to send and receive OSC using Open Stage Control, sending OSC works like a charm and I’m really pleased with the results. However, I’ve been struggling with getting Open Sound Control to receive OSC and changing the values of widgets such as faders.

I have been trying to follow this: https://openstagecontrol.ammd.net/docs/remote-control/#set-target-id-value but am struggling with the syntax. I’ve just copied and pasted what it says below:

/SET target id value #

Set a widget’s value as if it was interacted with from the interface. This is likely to make it send its value.

  • id : string , widget’s id
  • value : * , widget’s new value

I have a fader called ‘fader_1’ and want to assign the value 0.5 to it (just as an example), what should I send to Open Sound Control?

I have tried:

  • /SET fader_1 0.5
  • /SET target fader_1 0.5
  • /SET target/fader_1/0.5
  • Etc…

Any guidance would be greatly appreciated.

Hi,

The most simple way to update a widget is to send a message to its own address, it is as simple as this, see https://openstagecontrol.ammd.net/docs/widgets/general-mechanics/#receiving-messages.

The /SET command is different because it mimics user interaction on a widget (ie it makes the widget send osc). Now there’s a typo in the documentation, there should not be any “target” argument, only id and value, but “/SET fader_1 0.5” if perfectly fine, provided that you format the osc message properly (ie address is ‘/SET’, argument 1 is “fader_1” and argument 2 is a number)

Heyah,
I like the idea of just sending a command rather than controlling the fader!

I tried two instances of Open Stage Control to see if I could get the two to talk to each other. I am able to control one instance with the other but not the other way around. They’re both using the same project/canvas thing.

Here’s the fun part, I’m using ‘OSC_Data_Monitor’ to see what data is coming in and there is two way communication, but for some reason, one instance of Open Stage Communication isn’t responding to OSC input.

Thank you for your help

Did you make sure the two instances are properly configured ?

  • instance A listening on port x and sending on port y
  • instance B listening on port y and sending on port x

This works fine as far as I can tell. You can enable the debug option too if you want to monitor sent/received messages.

In to the out and out to the in? Yep, first thing I checked (I don’t want to admit how many times I’ve been caught out by that lol). I didn’t notice the debug option so thanks for pointing it out.

  • Instance A is sending OSC and instance B is recieving it well
  • Instance B is sending OSC and instance B isn’t detecting it even though the data is getting to the computer instance B is running on

I’m at a total loss as to what could be causing this because you’re right, it should work.

I had an idea about 10 minutes ago to try another computer. It was sucessful so there must have been some process interfering with the communication which is worrying since I rebooted a few times. I’ll do a deeper investigation later.

Thanks for all of your help though, it’s really appreciated! :slight_smile:

the process probably was OSC_Data_Monitor, if you listen to a port, it is blocked.
sometimes there are issues with ports not closing properly as-well.