On Sat, 28 Feb 2015, Jesse Cobra wrote:
Late to this discussion but why not a combination go
zeroconf and osc for all
this discovery and control?
I have always been surprised someone has not already written an OSC to alsa mixer
controller...
OSC is good because it is wide open... and bad because it is wide open. No
two applications seem to use OSC commands that are the same as another.
OSA starts with a framework that is the same from one device/application
to the next. OSC is not dead, but it is not able to do auto setup. Having
used zeroconf to find an OSC server, there is no way to discover what is
there to control. The user has to know that already and prepare the
controller to talk to the device/application. OSC does have a query setup
in development, but it has been that way for a number of years now. It
seems funding for the main contributions has gone away. (this is as far as
I can see
http://opensoundcontrol.org/spec-1_1 ).
in OCA:
zeroconf is used to find the device, the controller/application connects,
it gets a list of objects, what is controlable and the signal path through
those objects. It is now possible for SW to create a GUI with controls
that make sense and have labels on them. The controller can find out the
value of any control's parameter that it can control. (provided the writer
of the OCA server does their job) Take a look at OSC for Ardour, it is
quite good, but a controller does not know how many routes there are
unless the user tells the controller. Sending fader changes to route 32
out of 24 does not crash Ardour, but it gives no feedback either. This is
not Ardour's fault so much as a hole in OSC. (or maybe an elevated
expectation of OSC :)
So think about the OSC to ALSA mixer server and client. The server can use
the standard ALSA tools to find out what all the controls are and create
OSC paths for them. Cool. The client connects... it has to have a template
for all the same cards alsa knows about and the client user has to tell
the client which one to use. In other words the client/controller is a
deddicated unit just for alsa mixing, it can do nothing else or at least
needs a prewritten profile for anything it does.
--
Len Ovens
www.ovenwerks.net