At Fri, 13 Jul 2007 16:51:31 +0200, Thibault Le Meur wrote:
Hi,
For the M-Audio Audiophile USB device I still see 3 tasks that could be done to improve support under Alsa:
1- Remap the Alsa 'hardware pcm devices'
Currently:
- hw:1,0 is bound to the Analog interface in playback mode but to the
Digital interface in capture mode
- hw:1,1 is bound to the Analog interface in capture mode but to the Digital
interface in playback mode
It would be great if the one pcm device+subdevice was always linked to the same interface (Analog or Digital) Can anyone could point me to the piece of code that chooses the mapping between the device physiscal interface and Alsa's pcm interface? I'll try to see if I can fix this.
In the case of usb-audio, it's a bit complicated. The streams are assigned automatically per USB descriptions. I think the easiest would be to mangle the PCM device number in alsa-lib USB-Audio.conf file. Maybe Clemens can give a better hint.
2- Have the device able to act as a 4 channels-in + 4 channels-out combined device under Jackd I had no success in defining a multi pcm device and have it work under Jackd (but this might be a Jackd issue).
Just a question about this: in the "Multiple ICE1712 Sound Cards" tutorial, it is said that : "A change was made in alsa-lib-1.0.9rc1 which had the unintended effect of preventing the pcm_multi plugin from working with jackd (or jackdmp) in duplex mode" "To make it work it's necessary to remove the linking code which was added in pcm_multi.c rev 1.89. It isn't needed here anyway. Here's a patch(http://www.sound-man.co.uk/linuxaudio/pcm_multi-patch) that removes it from alsa-lib versions 1.0.10 to 1.0.13."
Is it still true with current versions of alsa-lib?
The problem with multi plugin and JACK was fixed on 1.0.14.
3- Have a user interface to switch device_setup modes This may be the hardest to do and I don't think I've got the required skills to do this. Anyway, I would realy appreciate any information (or existing piece of code) about the following:
- how to write a user interface which interacts with the kernel module
- forcing a reinitialization of the snd-usb-audio module without
unprobing/reprobing the kernel module
Well, the best would be to allow the driver to change the running mode on the fly without device_setup option. But this seems requring fairly big change because of the current framework of the usb-audio driver.
Takashi