Internal OSC message


#1

Is there a simple way to send an OSCMessage to a OSCReceiver internally, without going thru a network?


#2

No, there isn't. The whole point of the OSCReceiver class is that it does all the network stuff (= listens to an UDP port).

If you don't need network functionality, then I guess that you don't need an OSCReceiver, you can just pass OSCMessage objects around, can't you?


#3

I can think of some cases where it could be useful...

First, it's realy the power of the OSCReceiver::ListenerWithOSCAddress (and wildcards) that I would like to use, so just passing around OSCMessage objects won't do it.

Some quick examples : my app is totaly controlable by OSC. But I need it to be controlable by MIDI too. If I could simply internally send a specific OSCMessage to the OSCReceiver when the app receive a specific MIDI message, it would be great (an MIDI to OSC converter of some sort). No need to use other listeners than those of OSCReceiver. And it seems like it would involve less coding, and would help to keep everything DRY.

Could imagine the same thing with keystrokes, or even a CommandManager's Command that would send an internal OSCMessage with wildcards. Like a "mute all tracks" Command, selectable from a PopupMenu that would internally send an OSCMessage with an adress like "/juce/tracks/*/mute" and then all Track that would listen to the OSCReceiver would call a function to mute themselves...

I'm not an experienced programmer, so maybe I'm misled and I'm not seing this from the right angle.


#4

The OSC stuff is great, but the problem it's designed to solve is sending events between different processes.

If you have an app where part A can send an event to part B by simply calling a nicely-named function with the right parameters, then that's the sane way to do it!


#5

​Thanks for the response Jules. I'll rethink that!