Le Sun, 4 Jan 2009 21:00:35 +0000, Dominique Michel <dominique.mic...@vtxnet.ch> a écrit :
> Le Sun, 04 Jan 2009 19:50:06 +0100, > Tobias Gödderz <goedd...@uni-bonn.de> a écrit : > > > On So, 2009-01-04 at 12:15 +0000, Dominique Michel wrote: > > > Le Sun, 04 Jan 2009 12:02:44 +0100, > > > Tobias Gödderz <goedd...@uni-bonn.de> a écrit : > > > > > > I have a laptop and use an Aureon 5.1 USB card from Terratec at home, > > > > and my internal sound card if I'm on the road. I am, of course, too lazy > > > > to switch the default soundcard manually, so I wonder if there is a way > > > > to either > > > > > > > > i) make the USB soundcard the default, and automatically use the other > > > > if the USB card isn't available > > > > or > > > > ii) use a multi device to dupe the audio stream to both cards that > > > > doesn't fail if one card isn't available, but silently ignores that > > > > and just plays on the other one. > > > > > > > > Of course I could write a script that changes my ~/.asoundrc if the USB > > > > card is available or not, if there is no sane way to do it with alsa. > > > > > > > > > > It must be also possible to use udev. I am no an expert, but I know that, > > > if udev load your usb sound card before alsasound, no matter what is > > > in /etc/modprobe.conf, the usb sound card will be the first one, that > > > imply the default card. > > > > > > Most users do not want that and blacklist usb_snd_audio > > > in /etc/modprobe,d/blacklist. > > > > Hm. I tried using the index=n option, and it works in the way that the > > order is preserved, but if card 0 isn't plugged in, even at boot time, > > alsa still tries to use it, which results in: > > The index option don't work if udev load the usb card before alsasound. In > such a case, usb_snd_audio will be the first sound card because it will be > loaded before that alsasound the sound modules for the other cards. before that alsasound load the sound modules for the other cards. > > In your case, I think that alsasound get confused. It would be better to load > the usb sound card as last card. That way, alsasound will work, it will > just issue an error message about the usb sound card but will load the modules > for the other cards. > > After, I don't know if it is possible to make a .asoundrc file that will work > with and without the usb card. Maybe make 2 of them and test for the usb sound > card in ~/.profile (if using gdm) in order to symlink the one to use. > > As example, if /proc/asound/card1 is your usb card: > > CARD_FOUND=$(ls /proc/asound|grep card1) > if [[ "$CARD_FOUND" == "card1" ]]; then > ln -s "/home/goedder/.asoundusb" "/home/goedder/.asoundrc" > else > ln -s "/home/goedder/.asoundnousb" "/home/goedder/.asoundrc" > fi Sorry! That will work: CARD_FOUND=$(ls /proc/asound|grep card1) if [[ "$CARD_FOUND" == "card1" ]]; then rm "/home/goedder/.asoundrc" ln -s "/home/goedder/.asoundusb" "/home/goedder/.asoundrc" else rm "/home/goedder/.asoundrc" ln -s "/home/goedder/.asoundnousb" "/home/goedder/.asoundrc" fi > > I never tested such a thing, but maybe that it can work. > > Dominique > > ------------------------------------------------------------------------------ > _______________________________________________ > Alsa-user mailing list > Alsa-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/alsa-user ------------------------------------------------------------------------------ _______________________________________________ Alsa-user mailing list Alsa-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/alsa-user