On 10/23/2011 6:36 AM, Clemens Ladisch wrote:
On 10/21/2011 05:28 AM, Randell Jesup wrote:
On older machines, _hint() aren't available, so even if I make them optional to dlsym-loading, I would need some other method to get the information I assume using older, now-deprecated-or-gone interfaces.
On older machines, that information wasn't available at all.
The recommendation was to use "default" or to let the user enter a device name.
Ah. Ok. Wow, was it really that painful? I didn't do a lot of Linux media stuff back then, and generally had only built-in-audio (no USB headsets, etc) with simple speakers.
The best way to get a list of devices would have been to enumerate sound cards with snd_card_next(), then use device names "default:CARD=x". However, this gets only the primary device of each card, there might be sound cards without a PCM device, devices not based on an ALSA kernel driver aren't listed, and the "default:CARD=x" mechanism doesn't work if the user has redefined the "default" device.
Ugh. So, there's no reasonable way to get a user-understandable list before .14? How useful was snd_ctl_card_info_get_name()/snd_ctl_card_info()? And I guess I'd need to enumerate the 'devices' and 'subdevices' on each card as well...
Thanks for the info, BTW