Note, this question is pretty specific to linux, since sound seems to work properly in every other modern OS
It sounds like Mixxx really will do best talking directly to ALSA, so I think I've settled on running PulseAudio (which I've heard mixed reviews on) and using "pasuspender mixxx" to launch Mixxx. (This temporarily suspends pulse's attachment to the audio device and restores it when the child process exits.) This pretty much addresses my needs.
vv=- TL;DR: I found a solution that seems to work for me, but I wonder what other folks are doing. -=vv
My objective is to get different apps able to make sound at once. I like to keep mpd running at all times, and, for instance, play a youtube video. Using ALSA directly, I would have to at least pause mpd before loading up a youtube page. Otherwise I would have to pause and actually refresh the page before youtube sound worked properly.
It would be nifty to be able to use other apps along-side Mixxx, as long as the performance is still reasonable. (I have a pretty serious machine.) I don't have to worry about accidental sounds when playing out since I only use the built-in disk recording / shoutcast streaming features where it's not an issue. I tried JACK, but couldn't get all my outputs proxied through it so Mixxx could access them all. troyr in #mixxx has got this working properly. Anyone else take this approach?
Does anyone use linux without any sound server? Does it never bother you that only one app can use the audio device at a time?