I've been thinking for some time now about allowing several applications to access the hsdp matrix mixer in a cooperative way. Basically I want several applications to share the current state of the matrix mixer and be aware of the changes being made to it.
The problem at the moment is that hdspmixer does not directly reflects the hardware because it adds a software attenuation stage on the physical outputs (the third row of faders). Any change on this row is interpreted tracking back all the signals routed to the specified output, applying the proper attenuation and converting this to standard mixer calls. This renders the alsa ctl callback mechanism useless, because if another application accesses the mixer ctl, hdspmixer will have no way to interpret it properly.
I first thought of implementing the output attenuation stage directly in the driver but I now believe it would be a very bad idea to do this in kernel space (heavy computation, particularly with the new hdsp madi cards). So I came up with the idea of writing a userspace daemon that will access the card's mixer and be the keeper of this extended mixer representation. I would also write a library to handle communication with the daemon, and provide a callback mechanism to warn all the clients of changes made to the extended mixer. The daemon could be controled also from the network, which would make the whole system very flexible. You could have hdspmixer running on a machine without any hdsp hardware, controling the mixer of different hdsp cards on different other machines on the network. You could easily control the mixer from a pd patch, or a ladspa plugin, or ardour through an enhanced set of jack monitoring calls. A nice point would also be to have the daemon provide an optional ramping mechanism on mixer changes to avoid zipper noises and make it usable in live mixing situations.
Now my question is does that fit within the scope of alsa ? Mabe the lib could be integrated to alsa-lib and the daemon to alsa-tools ?
Any comment on this is welcome.
Thomas
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel