[linux-audio-dev] OSC, mDNS and LASH: a good combo?

From: Martin Habets <errandir_news@email-addr-hidden>
Date: Mon Feb 28 2005 - 23:09:49 EET

My impression is that more and more applications are moving to
OSC for inter-process communication.

Question 1: Are most audio/midi applications converging on OSC?
Are there any moving away from it? Or are there other strong
contenters in this area?

AFAIK all linux audio/midi applications use an arbitrary UDP port
number, and rely on manual configuration of this for the server and
all clients.
With OSC popularity increasing this will pose a growing problem
for end users who have to configure the ports, and for developers
of client programs that want to interact with multiple servers.

The answer to this issue is service discovery, which was recently
discussed on the OSC_dev list [1]. That thread leads to a product
called howl [2], which is an open implementation of mDNS/redezvous/
zeroconf (take your pick). It provides 3 daemons (of which 2 should
be run) and some libraries.
Using this implementation all applications would (ideally) register
or discover services using the howl libraries. Apart from this, the
programs would communicate via OSC.

To me this seems like a lot of overhead for a relatively small gain.
OTOH it seems like a very flexible and future-proof solution.

An alternate way I've been considering is an OSC-based service
discovery daemon. It would accept OSC messages to register and discover
services. The advantage of this is that it only uses 1 small daemon,
but more importantly that applications do not need to use any additional
libraries besides the OSC one (<insert liblo plug here> :). So far I
can see 6 input messages for such a daemon, with 4 response messages.
The disadvantage is that the daemon would still need an arbitrary port
number, and all applications would need to know it (at least for a while).
For intra-host discover the daemon could still interact with howl or
something like it if that is needed. But if this approach is successfull
we could request one dedicated port from IANA.

Question 2: Are there other better alternatives?
Question 3: Which alternative is better or do you prefer? (mDNS/OSC-daemon)

The only thing I haven't mentioned yet is LASH. Well, in my opinion it
is the prime example of an application that needs to interact with all
other linux audio/midi appications. As such, I think it could gain most
from a service discovery scheme. And there has been talk about using
OSC for it [3].

Comments/suggestions/questions? Blast away! Phasers on stun please!
And Steve: appologies for stepping on your turf.

Best regards,

-- 
Martin
[1] http://www.create.ucsb.edu/pipermail/osc_dev/2004-December/000841.html
[2] http://www.porchdogsoft.com/products/howl/
[3] http://music.columbia.edu/pipermail/linux-audio-dev/2004-August/009288.html
[4] http://www.cnmat.berkeley.edu/OpenSoundControl/
---------------------------------------------------------------------------
30 years from now GNU/Linux will be as redundant a term as UNIX/MERT is 
today. - Martin Habets
---------------------------------------------------------------------------
Received on Tue Mar 1 00:15:07 2005

This archive was generated by hypermail 2.1.8 : Tue Mar 01 2005 - 00:15:08 EET