Osc-Messages between 3 apps parallel not working

Hi there,
I want to manage Values inside Resolume where I am able to send OSC-Messages locally. That works fine with Openframeworks and Processing. But not when I want to run both. The program opened first recieves the Resolume Messages. But not the second one. On a local computer there is just a sending and recieving port which I can assign.
port
Is this a common problem?
it works like so in processing and similar in openframeworks:

void oscEvent(OscMessage theOscMessage) {
  

  oscAdress = theOscMessage.addrPattern();
 
  if(oscAdress.equals("/composition/layers/15/clips/1/video/effects/transform/anchorx") == true){
    float i = theOscMessage.get(0).floatValue();
    min = (int)map(i,0,1,1,255);
  }
}


Thanks ahead!

Hi,
As far as I know only one connection can be established on a listening port.
I thought OF would give an error, saying the port is occupied, but it doesn’t.
So only one send-application (Resolume) to one ofxOscReceiver.
Since Resolume is specifying only one outgoing port, it’s not possible to connect both Processing and OF.
An option would be to catch all the OSC in OF, then resend them with an ofxOscSender to Processing, but it has at least one frame delay…
I may be wrong, but this is what I think, based on experience. I usually create a dedicated sender and receiver for each connected app.

Tested:
Created a UDP receiver with netcat
nc -u -l 4444
Connected a client with (in a new Terminal window)
nc -u 127.0.0.1 4444
Type something: gets received
Connected another client with (in a new Terminal window)
nc -u 127.0.0.1 4444
Type something: closes
Starting OF app, listening on port 4444
Receives nothing (but also no error while connecting)

As said, you can just connect one host and one client.
I usually use max/msp, where it is super easy to create several udp receiver and sender objects you then can connect as you wish and pipe the messages around.
If you don’t have max/msp I think PureData could do the job as good and is openSouce / free.

heyho,
i just did another release of an osc debugging tool, where i recently added a broadcasting feature. It is not yet tested very well, but it worked last time i had to use it.

  • start the broadcaster: ofOSCDebugger -p 8000 -b "localhost 8001 localhost 8002"
  • start listener a: ofOSCDebugger -p 8001
  • start listener b: ofOSCDebugger -p 8002
  • send messages: ofOSCDebugger -p 8000 -m "/address 1.0"
brew tap thomasgeissl/tools
brew install ofoscdebugger
# brew upgrade ofoscdebugger

Hope that helps
Thomas

If you are ok using an external app to route osc easy and flexible maybe you can look around this tool:


1 Like

Ok, thank you guys! For me it worked great with resending from OF to processing. But I will concider the external app solution, if I need more advance use of multi-application-connection.