#
# Configuration for the EMU10K1 chip
#
<confdir:pcm/front.conf>
EMU10K1.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type hooks
slave.pcm {
type hw
card $CARD
chmap [ "UNKNOWN" "FL,FR" ]
}
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
}
}
<confdir:pcm/rear.conf>
EMU10K1.pcm.rear.0 {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type hooks
slave.pcm {
type hw
card $CARD
chmap [ "UNKNOWN" "RL,RR" ]
}
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 ]
}
]
}
}
}
<confdir:pcm/center_lfe.conf>
EMU10K1.pcm.center_lfe.0 {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type hooks
slave.pcm {
type hw
card $CARD
chmap [ "UNKNOWN" "FC,LFE" ]
}
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 ]
}
]
}
}
}
<confdir:pcm/surround40.conf>
EMU10K1.pcm.surround40.0 {
@args [ CARD ]
@args.CARD {
type string
}
type multi
slaves [
{
pcm {
@func concat
strings [
"cards.EMU10K1.pcm.front.0:CARD=" $CARD
]
}
channels 2
}
{
pcm {
@func concat
strings [
"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
]
}
channels 2
}
]
bindings [
{ slave 0 channel 0 }
{ slave 0 channel 1 }
{ slave 1 channel 0 }
{ slave 1 channel 1 }
]
}
<confdir:pcm/surround21.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
EMU10K1.pcm.surround51.0 {
@args [ CARD ]
@args.CARD {
type string
}
type multi
slaves [
{
pcm {
@func concat
strings [
"cards.EMU10K1.pcm.front.0:CARD=" $CARD
]
}
channels 2
}
{
pcm {
@func concat
strings [
"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
]
}
channels 2
}
{
pcm {
@func concat
strings [
"cards.EMU10K1.pcm.center_lfe.0:CARD=" $CARD
]
}
channels 2
}
]
bindings [
{ slave 0 channel 0 }
{ slave 0 channel 1 }
{ slave 1 channel 0 }
{ slave 1 channel 1 }
{ slave 2 channel 0 }
{ slave 2 channel 1 }
]
}
<confdir:pcm/iec958.conf>
EMU10K1.pcm.iec958.0 {
@args [ CARD AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
}
@args.AES0 {
type integer
}
@args.AES1 {
type integer
}
@args.AES2 {
type integer
}
@args.AES3 {
type integer
}
type hooks
slave.pcm {
type hw
card $CARD
device 2
}
hooks.0 {
type ctl_elems
hook_args [
{
interface PCM
name "IEC958 Playback Default"
device 2
lock true
preserve true
optional true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
# for compatibility with older drivers
name "IEC958 Playback Default"
lock true
preserve true
optional true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Optical Raw Playback Switch"
lock true
preserve true
value [ 1 1 ]
}
{
name "SB Live Analog/Digital Output Jack"
lock true
preserve true
value 1
}
]
}
}