On Fri, 2008-01-18 at 12:58 -0500, Paul Davis wrote: > On Fri, 2008-01-18 at 09:37 -0800, Fernando Lopez-Lezcano wrote: > > > Is there anything inherently wrong with OSC as a _transport_ protocol? > > Anything that makes it unsuitable for that purpose within the framework > > of jack? (I know there have been threads about this before) > > OSC is not a bus-oriented protocol, its 100% point-to-point. That is, > you do not put messages on a bus and all listeners pick it up. You have > to explicitly dispatch each OSC message to each target. this makes it > fundamentally different from MIDI, which, independent of the actual > physical transport layer, is bus oriented.
This is simply not true (I know who convinced you of this, because he tried to convince me too, but I actually read the spec ;) ) There's no reason not to truck around OSC messages just like MIDI messages, semantics are a separate issue (that is a "problem" with OSC no matter how you transport it). That is, the problem you are describing is just as present with OSC via UDP as via Jack. Standard for messages (ie /note_on) are the solution to this, and are also transport agnostic. If you read the OSC specification, it very precisely defines exactly what a message is as a sequence of bytes (ditto bundles). It also says absolutely nothing about /requiring/ messages be sent around in packet based addressed protocols like UDP (namely because this is silly, and would violate the hell out of the network layer model). The messages themselves are quite good as a generic message system. Simple, flexible, has several types you can use as arguments (including several floating point formats), and you can even easily extend it with new types (which the main spec document does itself, only 4 are truly "standard" OSC types). When anyone talks about OSC in Jack, what they really mean is transporting "OSC Messages" in Jack, and there's no problem with that. -DR- P.S. OSC messages are an awful lot like D-Bus messages, if anyone cares. (/paths/like/this "with" 1.0 "whatever" 5 "arguments") is a natural message format, if we reinvented it (just because a particular developer likes TCP/IP too much) we'd be reinventing the exact same thing except by a different name, completely unknown, and slightly incompatible. I hope it's obvious that this is.... less than wise _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
