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 {
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 ]
}
]
}
}
}