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>
This commit is contained in:
Raymond Yau 2011-05-13 10:40:28 +08:00 committed by Takashi Iwai
parent 922ff0da83
commit ea020c3b2e

View file

@ -9,48 +9,55 @@ EMU10K1.pcm.front.0 {
@args.CARD { @args.CARD {
type string type string
} }
type hooks type asym
slave.pcm { 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 type hw
card $CARD 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> <confdir:pcm/rear.conf>
@ -60,31 +67,34 @@ EMU10K1.pcm.rear.0 {
@args.CARD { @args.CARD {
type string type string
} }
type hooks type asym
slave.pcm { playback.pcm {
type hw type hooks
card $CARD slave.pcm {
} type hw
hooks.0 { card $CARD
type ctl_elems }
hook_args [ hooks.0 {
{ type ctl_elems
interface PCM hook_args [
name "EMU10K1 PCM Send Volume" {
index { @func private_pcm_subdevice } interface PCM
# lock true name "EMU10K1 PCM Send Volume"
optional true index { @func private_pcm_subdevice }
value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] # 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 } # for compatibility with older drivers
# lock true name "EMU10K1 PCM Send Volume"
optional true index { @func private_pcm_subdevice }
value [ 0 0 255 255 0 0 255 0 0 0 0 255 ] # 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 { @args.CARD {
type string type string
} }
type hooks type asym
slave.pcm { playback.pcm {
type hw type hooks
card $CARD slave.pcm {
} type hw
hooks.0 { card $CARD
type ctl_elems }
hook_args [ hooks.0 {
{ type ctl_elems
name "Headphone Center Playback Switch" hook_args [
index 1 {
preserve true name "Headphone Center Playback Switch"
# lock true index 1
optional true preserve true
value true # lock true
} optional true
{ value true
name "Headphone LFE Playback Switch" }
index 1 {
preserve true name "Headphone LFE Playback Switch"
# lock true index 1
optional true preserve true
value true # lock true
} optional true
value true
}
# if you have a creative's digital receiver, you can get surround/center/lfe # 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. # output through the digital jack. so, the following is commented out.
# pay attention in case of analog output from the shared center/digital # pay attention in case of analog output from the shared center/digital
# jack! # jack!
# { # {
# name "SB Live Analog/Digital Output Jack" # name "SB Live Analog/Digital Output Jack"
# preserve true # preserve true
# lock true # lock true
# value 0 # value 0
# } # }
{ {
interface PCM interface PCM
name "EMU10K1 PCM Send Volume" name "EMU10K1 PCM Send Volume"
index { @func private_pcm_subdevice } index { @func private_pcm_subdevice }
# lock true # lock true
optional true optional true
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
} }
{ {
# for compatibility with older drivers # for compatibility with older drivers
name "EMU10K1 PCM Send Volume" name "EMU10K1 PCM Send Volume"
index { @func private_pcm_subdevice } index { @func private_pcm_subdevice }
# lock true # lock true
optional true optional true
value [ 255 255 0 0 255 0 0 0 0 255 0 0 ] value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
} }
{ {
interface PCM interface PCM
name "EMU10K1 PCM Send Routing" name "EMU10K1 PCM Send Routing"
index { @func private_pcm_subdevice } index { @func private_pcm_subdevice }
# lock true # lock true
optional true optional true
value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
} }
{ {
# for compatibility with older drivers # for compatibility with older drivers
name "EMU10K1 PCM Send Routing" name "EMU10K1 PCM Send Routing"
index { @func private_pcm_subdevice } index { @func private_pcm_subdevice }
# lock true # lock true
optional true optional true
value [ 6 7 0 0 6 7 0 0 6 7 0 0 ] value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
} }
] ]
}
} }
} }