Tomasz KÅoczko wrote:List all neccessary feactures and abstract them. Below this layer you can plug to this all device drivers. Where is the problem ?
users want to use all the bells and whistles that modern sound hardware has to offer. so "necessary features" roughly equals the union of all the "cool ideas of the week" of all soundcard vendors.
please have a look at, say, the rme hammerfall cards, compare them with ye olde sblive, then take a look at usb audio devices and for dessert, take a peek into current firewire hardware.
then push up your sleeves, design a small and elegant little abstraction mechanism that is maximally effective in all circumstances and makes all hardware features usable, wrap it up nicely and submit it to linus.
i look forward to hearing back from you, in, oh, 2015 or so?
jaroslav, takashi and the other alsa developers have been toiling with this for years, and i hate to see them having to take shit from people who don't do anything more with their sound hardware than listen to mp3s in stereo and can't imagine anything else.
granted, there is always room for improvement. the alsa guys are very receptive towards constructive criticism, when it is backed with a little insight. many linux audio developers have criticised the API for the high initial barrier, and ALSA certainly does not score that high in the "making simple things simple" department. but it does make *complicated things possible*, and all those rants of "gimme back me oss" usually ignore this.
modem dialup users know better than to chime in to networking core discussions and complain they don't need all that complexity. why do professional audio users always have to put up with people who only listen to mp3s whining about a complicate API?
i'll always grant you far better taste and insight into kernel matters than i will ever have, but hey: the library is in userspace. it does not clutter the kernel. so rrreeelaax!