pcm.mix {
 type dmix
    ipc_key 234881
    slave {
        pcm "hw:0"
        channels 2
    }
    bindings {
        0 0
        1 1
    }
}


pcm.snoop {
 type dsnoop
    ipc_key 234882
    slave {
        pcm "hw:0"
        channels 2
    }
    bindings {
        0 0
        1 1
    }
}

pcm.play_ch1 {
    type plug
    slave.pcm "mix"
    ttable.0.0 1
}

ctl.play_ch1 {
    type hw
    card 0  # This works if you have one sound card
}


pcm.play_ch2 {
    type plug
    slave {
        pcm "mix"
        channels 2
    }
    ttable.0.1 1
}

ctl.play_ch2 {
    type hw
    card 0  # This works if you have one sound card
}

pcm.record_ch1{
    type plug
    slave {
        pcm "snoop"
        channels 2
    }
    ttable.0.0 1
}

ctl.record_ch1 {
    type hw
    card 0  # This works if you have one sound card
}


pcm.record_ch2{
    type plug
    slave {
        pcm "snoop"
        channels 2
    }
    ttable.0.0 1
}

ctl.record_ch2{
    type hw
    card 0  # This works if you have one sound card
}


#and this is the real magic
pcm.asymed_ch1 {
   type asym
   playback.pcm "play_ch1"
   capture.pcm "record_ch1"
}

pcm.asymed_ch2 {
   type asym
   playback.pcm "play_ch2"
   capture.pcm "record_ch2"
}

#a quick plug plugin for above device to do the converting magic
pcm.pasymed_ch1 {
   type plug
   slave.pcm "asymed_ch1"
}

#a ctl device to keep xmms happy
ctl.pasymed_ch1 {
   type hw
   card 0
}

#a quick plug plugin for above device to do the converting magic
pcm.pasymed_ch2 {
   type plug
   slave.pcm "asymed_ch2"
}

#a ctl device to keep xmms happy
ctl.pasymed_ch2 {
   type hw
   card 0
}

#for aoss:
pcm.dsp1 {
   type plug
   slave.pcm "asymed_ch1"
}

ctl.mixer1 {
   type hw
   card 0
}

pcm.dsp2 {
   type plug
   slave.pcm "asymed_ch2"
}

ctl.mixer2 {
   type hw
   card 0
}
