[LV2] Mapping of OSC to LV2 Atoms

David Robillard d at drobilla.net
Fri Oct 16 20:42:58 PDT 2015

On Thu, 2015-10-15 at 17:41 -0600, Spencer Jackson wrote:
> On Thu, Oct 15, 2015 at 5:17 PM, David Robillard <d at drobilla.net> wrote:
> >
> > How do you propose "/foo tf" be represented as an atom?
> >
> >
> >
> As Proposed by Hanspeter:
> >LV2_Atom_Object (object.otype=LV2_OSC__Message)
> >  key=LV2_OSC__messagePath (value.type=LV2_Atom_String)
> >  key=LV2_OSC__messageFormat (value.type=LV2_Atom_String)
> >  key=LV2_OSC__messageArguments (value.type=LV2_Atom_Tuple)
> LV2_OSC__messagePath = "/foo"
> LV2_OSC__messageFormat = "tf"
> LV2_OSC__messageArguments would either be an empty tuple or omitted I
> suppose.

> The idea is more to encapsulate the OSC message rather than just represent
> that same data as atoms. If I understand correctly, that is.

Might as well just literally use OSC if code making any sense of it
would need to be OSC-specific anyway.

But this is so close, yet so far.  Almost a sensible stand-alone tuple
of the message arguments, but not quite because some are omitted because
OSC is weird, and you get a (almost completely redundant) format string
instead.  That seems silly to me.

Personally, I think there's two good approaches here:

1) Go all out: full conversion to tidy atoms that have no OSC cruft

2) Don't go at all: just use actual OSC bundles and messages.

Anything in the middle seems weird.


More information about the Devel mailing list