[alsa-devel] Control interconnection information API?
New Year's Greetings,
something that seems to be lacking in the ALSA API, or at least the way of describing controls (by name only), is any concept of the connectivity between the various controls and the codecs and output terminals.
One use for such information is to build a GUI that shows this connectivity (instead of the current bucket'o'controls approach).
Now there are a couple of special cases:
* HDA driver exports the codec widget information via a proc file, allowing the codecgraph tool to visualise the connections. Widgets have numeric IDs and list the IDs of widgets that connect to their inputs.
* ASoC DAPM (which I (not being an ASoC developer or user) have mostly been skimming over in this list).
Reading this http://www.mjmwired.net/kernel/Documentation/sound/alsa/soc/dapm.txt 3. Codec Widget Interconnections. I can see that there are lists of connections. I'm not sure if these are visible to userspace via any API?
So: Can either of these schemes be generalised to all ALSA drivers? Is there some other way to reveal the information (Connections TLV, new API etc?) Does anybody else thing this is worth pursuing, or is it just me?
regards
-- Eliot Blennerhassett AudioScience Inc
On Thu, Jan 01, 2009 at 12:01:47PM +1300, Eliot Blennerhassett wrote:
- ASoC DAPM (which I (not being an ASoC developer or user) have mostly
been skimming over in this list).
Reading this http://www.mjmwired.net/kernel/Documentation/sound/alsa/soc/dapm.txt 3. Codec Widget Interconnections. I can see that there are lists of connections. I'm not sure if these are visible to userspace via any API?
These are not visible to user space and the information provided is not at all complete - as well as DAPM controls (used for power management) most devices will also have a number of regular ALSA controls which aren't tied in with the path information yet. It's been at the back of my mind to let drivers do that but it's not particularly near the top of my list.
Can either of these schemes be generalised to all ALSA drivers? Is there some other way to reveal the information (Connections TLV, new API etc?)
Anything that works for ASoC should be able to work for all ALSA drivers, though since there's nothing there yet it's probably not particularly useful for you right now.
Does anybody else thing this is worth pursuing, or is it just me?
Yes, it'd definitely be useful for ASoC. One of the issues with ASoC at the minute is that embedded codecs (especially audio hub codecs) can have a very large number of controls and having the interconnection information availiable in mixer user interfaces would help users work with them.
Even with just the existing power information it'd still be a win.
participants (2)
-
Eliot Blennerhassett
-
Mark Brown