From: Raymond Yau Date: Fri, 13 May 2011 02:40:28 +0000 (+0800) Subject: emu10k1.conf - Fix no sound problem when using SB Live! Platinum X-Git-Tag: v1.0.25~32 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=ea020c3b2e678f2a29df468ec7da09f9d5785194;p=alsa-lib.git emu10k1.conf - Fix no sound problem when using SB Live! Platinum Add asym to front, rear and center_lfe to prevent route change after removed the lock. After removed the lock, when application using "hw", "front", "rear", "surround40" and "surround51", the route of the front channel is changed (lost right channel or both channels) when other application using "front", "rear" or "center_lfe" to record Signed-off-by: Raymond Yau Signed-off-by: Takashi Iwai --- diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf index b5378646..706da0ad 100644 --- a/src/conf/cards/EMU10K1.conf +++ b/src/conf/cards/EMU10K1.conf @@ -9,48 +9,55 @@ EMU10K1.pcm.front.0 { @args.CARD { type string } - type hooks - slave.pcm { + type asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] + } + ] + } + } + capture.pcm { type hw card $CARD } - hooks.0 { - type ctl_elems - hook_args [ - { - interface PCM - name "EMU10K1 PCM Send Volume" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] - } - { - # for compatibility with older drivers - name "EMU10K1 PCM Send Volume" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] - } - { - interface PCM - name "EMU10K1 PCM Send Routing" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] - } - { - # for compatibility with older drivers - name "EMU10K1 PCM Send Routing" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 8 9 0 0 8 9 0 0 8 9 0 0 ] - } - ] - } } @@ -60,31 +67,34 @@ EMU10K1.pcm.rear.0 { @args.CARD { type string } - type hooks - slave.pcm { - type hw - card $CARD - } - hooks.0 { - type ctl_elems - hook_args [ - { - interface PCM - name "EMU10K1 PCM Send Volume" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] - } - { - # for compatibility with older drivers - name "EMU10K1 PCM Send Volume" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] - } - ] + type asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] + } + ] + } } } @@ -95,73 +105,76 @@ EMU10K1.pcm.center_lfe.0 { @args.CARD { type string } - type hooks - slave.pcm { - type hw - card $CARD - } - hooks.0 { - type ctl_elems - hook_args [ - { - name "Headphone Center Playback Switch" - index 1 - preserve true - # lock true - optional true - value true - } - { - name "Headphone LFE Playback Switch" - index 1 - preserve true - # lock true - optional true - value true - } + type asym + playback.pcm { + type hooks + slave.pcm { + type hw + card $CARD + } + hooks.0 { + type ctl_elems + hook_args [ + { + name "Headphone Center Playback Switch" + index 1 + preserve true + # lock true + optional true + value true + } + { + name "Headphone LFE Playback Switch" + index 1 + preserve true + # lock true + optional true + value true + } # if you have a creative's digital receiver, you can get surround/center/lfe # output through the digital jack. so, the following is commented out. # pay attention in case of analog output from the shared center/digital # jack! -# { -# name "SB Live Analog/Digital Output Jack" -# preserve true -# lock true -# value 0 -# } - { - interface PCM - name "EMU10K1 PCM Send Volume" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] - } - { - # for compatibility with older drivers - name "EMU10K1 PCM Send Volume" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] - } - { - interface PCM - name "EMU10K1 PCM Send Routing" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] - } - { - # for compatibility with older drivers - name "EMU10K1 PCM Send Routing" - index { @func private_pcm_subdevice } - # lock true - optional true - value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] - } - ] +# { +# name "SB Live Analog/Digital Output Jack" +# preserve true +# lock true +# value 0 +# } + { + interface PCM + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] + } + { + interface PCM + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] + } + { + # for compatibility with older drivers + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + # lock true + optional true + value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] + } + ] + } } }