Hello,
I need to find a way to communicate via OSC with a non-session-manager
client (non-mixer) by using a fixed port number.
I'm developing a "midi proxy" based on mididings, which allows me to use a
Novation Launch Control XL as a controller for various midi devices.
Now, I wanted to use it with non-mixer, and since mididings supports osc
this is ok. Its interface is pretty basic, there's only a SendOSC function
which accepts the destination address, the osc path and optional arguments.
My program creates a configuration file with mapping for every physical
controller, each of them has a different patch assigned; once the program
is loaded in "live" mode it creates a mididing configuration on the fly and
runs it.
When using non-mixer in standalone mode I can set a fixed port and I'm able
to send messages without any problem, since the controllers have their
SendOSC command with the "hardcoded" port number.
The problem comes when using non-mixer within a non-session, because
obviously I cannot manually set the port number for clients.
I really tried and looked around for solution on how to communicate with
the non-mixer through nsm, but with no luck.
I even tried using the /nsm/server/broadcast using the format sf
"Non-Mixer.nKWUR/strip/Pianoteq/Gain/Mute" 1.0.
The only way I can access the non-mixer is through its randomly created
port, which I can find in the log when adding non-midi-mapper to the
session. But this is not practical, first of all because I'd have to change
the port number in the configuration file every time non-mixer is started,
and also because I'd need to add non-midi-mapper and sniff its log.
In case you were wandering, I cannot use the midi mapper with mididings,
because I need to control other parameters which are not available to it
(plugin values).
I could try to create an OSC "router", using a fixed receiving port (but I
don't know how to find the client port, a part from looking in the nsm
log), but I don't like this solution.
Am I missing something? Does anybody here have any idea?
Thank you in advance,
Maurizio