Maybe it will be possible to add an interface to ALSA so users can easily contribute card/computer specific mixer information. But still there will be some disadvantages:
look, just a lib.so or a class which is capable of parsing a /usr/src/linux/.config file, working out what the currently-installed kernel 'expects', and greps a /dev tree (or two) would be good enough for the average ALSA app.
look at all the apps. they've all got useless, redundant code, opening an i/o channel, doing something to it, closing it. grok all that, glue it into an ALSA helper-lib, give budding hackers a working tool to build, and away we go ..
* Even if there were many and good user contributed mixer interfaces it will still be difficult for "normal" Desktop users to understand and use it.
if your standard is that 'the user should -absolutely- not have to have anything to do with this shit in order to treat audio like text', then you wouldn't be concerned about such things. its some sort of beautiful irony, but it is irony.
The signal flow in a soundcard still is a black boxed thing for common users. What does monitoring mean?
it means "let me listen to -this-", where '-this-' is either one or the sum of "n" audio sources existing in the system. i would love for "n" to be the sum total of all audio-generating drivers+applications (alike) according to user preferences (determined by running actual apps, like normal), instead of there being a difference between 'audio driver' and 'audio application', but thats just me...
one thing i -loooooove- about MidiShare on Linux, for example, is the fact that it forces me to treat the MIDI i/o devices just like a MIDI i/o application .. i actually -like- that, MIDI hacker that i am. honest.
Why does the CD slider not affect the volume of a CD I play via xmms? What the heck does PCM mean?
why shouldn't xmms just have its own audio volume slider? i mean, 'volume' is a paremeter just like 'kerning' is a parameter in a word processor. the user can work that out, if its considered 'standard' that all audio-generating apps should have a volume control, like they have a 'minimize window' control ..
Let's be honest: Let a "normal" desktop user look into the mixer panel on a WXP driven notebook. He will be disappointed as much as looking into todays alsamixer ;-) .
do not overlook the isolation that the 'normal' desktop user has for their application space. a cubase user doesn't generally give a damn if windows lets him mix things from the windows audio control panel; cubase, after all, just gives him the feature.
ALSA has, traditionally, drawn lines in order to define boundaries worthy of pillage on either side. sometimes however, such pillage ignores riches to be obtained 'on the other side' ...
-- ; Jay Vaughan
