[LAD] OSC direct communication with non-session-manager clients

Hanspeter Portner dev at open-music-kontrollers.ch
Fri Oct 7 15:14:55 UTC 2016


On 07.10.2016 16:35, Maurizio Berti wrote:
> 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?

I don't think you're missing anything. I believe to have hit the same wall in
the past.

How about not directly adding non-mixer to non-session-manager but a
shell-script proxy (e.g. non-mixer-fixed) with your desired command line arguments?

--- ~/bin/non-mixer-fixed-----------
#!/usr/bin/bash

exec \
	-a non-mixer-fixed \
	non-mixer --osc-port 9090 $*
------------------------------------


More information about the Linux-audio-dev mailing list