an OSC-controllable router for OSC (OpenSoundControl) messages

Available at: XOSC on Github

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.

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)…

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.