Hiho,
here's a first preview of XOSC, an OSC patchbay (partly coded during
the LAC ;) ).
What it does:
Connect different OSC capable programs, considering the situation where
you have two programs talking via OSC, but then want to have a third or
fourth application to also use OSC from those same applications without
having to rewrite code.
Solution:
Just change the OSC messages' target host/port to XOSC's port, and
XOSC will allow you to patch OSC between applications.
- XOSC does not require any changes to original software to use it
- XOSC has an OSC interface to create connections.
Find it at:
https://github.com/sensestage/xosc
Basic functionality works as far as I have tested (with the included
supercollider script).
The program runs as a command line application and has an OSC
interface. By registering to it as a watcher another program will
receive any updates to connection changes, e.g. to display this in a
GUI.
I'd be happy if someone feels like implementing such a GUI. (I imagine
some of the classes can be reused for this purpose, and there is a
libxosc to link to)... think of an extra tab in QJackCtl (Rui will
be happy with a patch ;) ), Patchage, or others...
* Caveats:
Currently clients and hosts are kept in memory based on their port
number, so possibly there are conflicts when mapping between different
hosts. Similarly multiple programs sending the same tags might provide
problems.
Happy about feedback, suggestions, bug reports (use the issue tracker),
and patches :)
sincerely,
Marije Baalman