If it can be of any help, I found that using Jack for everything is much
easier than juggling with ALSA card numbering and priorities and stuff.
I have qjackctl in my ~/.xinitrc, and it's set up to start jack
automatically (with the last preset used).
When I use the USB audio interface, I simply stop jack, load the proper
preset, and start jack again.
I never thought of automating the selection, to be honest; I use different
USB devices, and selecting the right one manually is quick enough.
I have no need for Pulseaudio, I tried it for a while but it was only an
annoyance for me.
I set up ~/.asoundrc to use the jack plugin by default, so non-jack
software can be routed through Jack (Firefox, for example):
## ALSA JACK PCM PLUGIN
##
http://jackaudio.org/faq/routing_alsa.html
##
http://www.alsa-project.org/main/index.php/Asoundrc
pcm.jackplug {
type plug
slave { pcm "rawjack" }
hint { description "JACK Audio Connection Kit" }
}
pcm.rawjack {
type jack
playback_ports {
0 system:playback_1
1 system:playback_2
}
capture_ports {
0 system:capture_1
1 system:capture_2
}
}
pcm.!default { type plug; slave { pcm "rawjack" } }
-- Emanuele Rusconi