On Wed, 2004-07-28 at 08:36, Dave Griffiths wrote:
On Tue, 27 Jul 2004 11:31:43 -0400, Dave Robillard
wrote
Hello,
I'm writing an audio engine that will communicate with the outside world
exclusively via OSC (and perhaps MIDI, but I digress..) It's much more
generic, but for the sake of argument let's say the engine is a synth
and it needs to talk to a GUI.
Just being thick here, but I'd thought I'd ask anyway....
I've written a system like this myself, where the GUI/audio code passes token
value pairs between them where the tokens are strings (ie "FilterCutoff") and
the values are floats (or strings). It's pretty simple.
[ ... ]
Should I be using OSC? What are the advantages? Would
it enable my engine to
be accessed by more clients? Are people writing software where the only
interface is via OSC?
I think using OSC is definitely a good idea. I'd say more and more
developers are going to be using OSC for things now, both in the LAD
world and elsewhere. OSC has everything you mentioned above, and more;
messages can be an arbitrary number of arguments of any type (float,
string, int32, int64, midi, blob, etc. etc.). Plus, like Steve said,
there's already a bunch of systems that can talk OSC (see
http://www.cnmat.berkeley.edu/OpenSoundControl/)
I personally plan on writing a suite of utility applications to control
OSC apps (bind input devices, MIDI controllers, etc. to OSC messages),
mostly for the purposes of testing a synth I'm building, but that's the
nice thing about OSC - utilities like that could be just as useful with
your program as mine. Oh, and network transparency is a pretty nice
bonus too..
If you've already implemented a system it might not be worth changing,
but writing OSC server/clients is _really_ easy if you use liblo (which
is what I've been doing for the last day or two).
-DR-
P.S. I'm aware I messed this thread up by starting it in another
thread. Oops.