Re: [OT] ALSA userspace API complexity

Marcin Dalecki
2006-01-06T00:00:58Z

On 2006-01-05, at 23:39, Joern Nettingsmeier wrote:

> 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.

First and fore most users want simple things like for example playing
an mp3 file to just work.
Your concept that very many of them are interested in the high end
"features" of hardware you assume to be modern is wrong. Did you ever
notice that sound cards got just reduced to a simple AD/DA converter
combination? Modern hardware is frequently actually MUCH MUCH simpler
then old one used to be in this area.

> 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.

The existence of /dev/sound doesn't prohibit the existence of
/dev/bells_and_wistles (without any chance to work with anything else
then the vendors specific software).
That was precisely the situation with my sam9700 card....

> 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?

Your assumption about "all circumstances" is misguided. There is no
requirement for one size fits all here.
Look most people drive cars and not space shuttles.

> 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.

If hearing just the mp3 would just simply work with the alsa drivers
without getting in to too much hassle
with AC97 sound cards, which usually don't even include hardware
based volume controls nowadays, I'm pretty sure they wouldn't have to
"take this shit". And you should remember the bold announcements they
did make in first place.

> 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!

It clutters the application programming part very successfully.

BTW. Designing a sound API toward DMA, like ALSA does, is just plain
well beyond any hope...