File 0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch of Package alsa
From ea020c3b2e678f2a29df468ec7da09f9d5785194 Mon Sep 17 00:00:00 2001
From: Raymond Yau <superquad.vortex2@gmail.com>
Date: Fri, 13 May 2011 10:40:28 +0800
Subject: [PATCH 20/23] 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 <superquad.vortex2@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/conf/cards/EMU10K1.conf | 267 ++++++++++++++++++++++--------------------
1 files changed, 140 insertions(+), 127 deletions(-)
diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf
index b537864..706da0a 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 ]
- }
- ]
- }
}
<confdir:pcm/rear.conf>
@@ -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 ]
+ }
+ ]
+ }
}
}
--
1.7.5.3