[LAD] OSC Practices

From: Olivier Guilyardi <list@email-addr-hidden>
Date: Tue Jun 01 2010 - 15:27:42 EEST

Hi everyone,

a Jackbeat user is currently trying to use TouchOSC, an iPhone app, as a
controller, and there is a need to translate in/out OSC messages.

I have looked at TouchOSC messages, and the translation is nothing like
straightforward. There is a so-called BeatMachine[1] controller in TouchOSC,
which looks like a drum machine, but in the messages that it sends:

1. the track order is reversed, the first track being at the bootom
2. the indexes are one-based in TouchOSC, and zero-based in Jackbeat
3. the track/beat position is transmitted as a path element instead of a value

The fact that some translation is needed between OSC units is quite normal to
me, but I would like to try and follow some wide-spread practices, if any, maybe
refactoring the Jackbeat OSC dialect, to make such translation easier.

I originally looked at some Monome messages docs[2], and that's the reason for
2. and 3. above. The point 1. seems absolutely odd to me however.

Now, there's another thing: currently Jackbeat features quite a few OSC
methods/commands but little OSC events[3]. This forbids using search an external
controller as some kind of UI replacement. For instance, volume sliders can be
controlled, but no event is sent when they change. One of the reason for this
lack is that I was unsure about the right protocol to choose..

So, in TouchOSC, input and output messages seem to always be symmetrical, which
looks like a clever and intuitive design to me. For instance, a slider both
sends and receives messages at /1/fader1 (example). And you just can't setup a
different prefix for in and out.

Once again, this isn't the way Monome is doing it: it sends /40h/press, and
receives at /40h/led.

So I'm a bit confused. What would be ideal is to follow some kind of practices
and/or standard, so that, in many cases, translation is only a matter of
changing OSC prefixes. And if that's not realistic, then I would like to avoid
some of the inconsistencies listed above with tools as TouchOSC and such.

Is there any such standard or common/recommended practices?

Cheers,

[1] http://hexler.net/pub/touchosc/touchosc-manual-v1-1.pdf
[2] http://docs.monome.org/doku.php?id=tech:protocol:osc
[3] http://jackbeat.samalyse.org/wiki/BasicUsage#OSCInterface

--
  Olivier
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Tue Jun 1 16:15:04 2010

This archive was generated by hypermail 2.1.8 : Tue Jun 01 2010 - 16:15:05 EEST