# asound.conf for an M-Audio Revolution and an Audigy.
# (The Audigy/emu10k1 stuff should be easy to remove if you don't need it...)

pcm.revolution {
    type hw
    card 0
}

pcm.emu10k1 {
    type hw
    card 1
}

# ICE1712 dmix:
pcm.ossmix {
    type dmix
    ipc_key 1024
    slave {
    pcm "hw:0,0"
        format S32_LE
        period_time 0
        period_size 1024
        buffer_size 5120 # buffer size < 6653, but pow(x, 2)
        rate 44100 # we want to play CDs only
    }
    bindings {
        0 0
        1 1
    }
}
#######################################
# Allow reading from the default device.
# Also known as record or capture.
pcm.dsnooper {
    type dsnoop
    ipc_key 2048
    slave.pcm "revolution"

    bindings {
    0 0
    1 1
    }
}

# This is what we want as our default device
# a fully duplex (read/write) audio device.
pcm.duplex {
    type asym
    playback.pcm "ossmix"
    capture.pcm "dsnooper"
}

pcm.softvol {
    type softvol
    slave.pcm "duplex"
    control {
        name "PCM Volume"
    card 0
    }
}
#######################################
# Everything running through softvol -> dmixed, so redefine "default":
pcm.!default {
    type plug
    #slave.pcm "ossmix"
    #slave.pcm "duplex"
    slave.pcm "softvol"
}

# OSS via aoss should d(mix)stroyed:
pcm.dsp {
    type plug
    #slave.pcm "ossmix"
    slave.pcm "duplex"
}

ctl.mixer {
    type hw
    card 0
}
