This document explains how you can program/customize your SB Live (emuk10k1 chipset). So that you can route input to output-device and configure mixers using the tool emu-dspmgr.

It took me more than an hour to understand how everything is put together. And well, I still don't know everything, enough to do what I want anyway. There's nearly no information available on the net. The included script and the man-pages are cryptic.
Let's start by describing my situation at home. I recently bought a SB Live for the sole purpose of having more than 1 output-plug. I have my stereo and a seperate set of boxes which I both wanted to plug into my computer.

Since the SB Live can be programmed to route input to ouput and define HW mixers for each of these mappings, it was the right choice for me.

So I have my speaker-set connected to the Front-plug, my stereo speakers to the Rear-plug. I have a Hauppauge TV card pluged to my Line-in-plug.

On my computer I have 2 different sound-sources. I use a program called snackAmp to play audio-files. It isn't capable of using esound. Which made me opt to use /dev/dsp1 for snackAmp. Esound by default uses /dev/dsp and I left esound to its default. My SB Live has the following input channels:

And the following output channels: I can map the following mixers to any input:output combination: First let's clear the current configuration and unload any DSP patches.
Now let's start by configuring the soundcard to use its analog features. And add a 12dB boost to the Front speakers:
Then add the "Analog" (TV) input to my "Front" speakers and use mixer "Line":
Next add the "Pcm" (Esound) input to the "Front" speakers, using mixer "Line1":
Now add the "Pcm1" (snackAmp) input to both speakers, using resp. mixer "Line2" and "Line3":
And finally add a volume gain to snackAmp:
If you'd like to set AC3 Pass-through for when you're playing DVDs, just do:
Now enable the emu10k1:
And after configuring your gnome-volume-control, ie. naming your mixers and hiding unused stuff. You'll have this: