Peter Zubaj <pzad@pobox.sk>:

- Added surround71 and side pcm definitions.
- Added the support of side speakers on Audigy 2 ZS.
This commit is contained in:
Takashi Iwai 2004-06-28 10:40:24 +00:00
parent 43cee7b8c1
commit b9a25e2ac8
5 changed files with 202 additions and 3 deletions

View file

@ -59,6 +59,8 @@ defaults.pcm.rear.card defaults.pcm.card
defaults.pcm.rear.device defaults.pcm.device
defaults.pcm.center_lfe.card defaults.pcm.card
defaults.pcm.center_lfe.device defaults.pcm.device
defaults.pcm.side.card defaults.pcm.card
defaults.pcm.side.device defaults.pcm.device
defaults.pcm.surround40.card defaults.pcm.card
defaults.pcm.surround40.device defaults.pcm.device
defaults.pcm.surround41.card defaults.pcm.card
@ -67,6 +69,8 @@ defaults.pcm.surround50.card defaults.pcm.card
defaults.pcm.surround50.device defaults.pcm.device
defaults.pcm.surround51.card defaults.pcm.card
defaults.pcm.surround51.device defaults.pcm.device
defaults.pcm.surround71.card defaults.pcm.card
defaults.pcm.surround71.device defaults.pcm.device
defaults.pcm.iec958.card defaults.pcm.card
defaults.pcm.iec958.device defaults.pcm.device
defaults.rawmidi.card 0
@ -316,10 +320,12 @@ pcm.cards cards.pcm
pcm.front cards.pcm.front
pcm.rear cards.pcm.rear
pcm.center_lfe cards.pcm.center_lfe
pcm.side cards.pcm.side
pcm.surround40 cards.pcm.surround40
pcm.surround41 cards.pcm.surround41
pcm.surround50 cards.pcm.surround50
pcm.surround51 cards.pcm.surround51
pcm.surround71 cards.pcm.surround71
pcm.iec958 cards.pcm.iec958
pcm.spdif cards.pcm.iec958

View file

@ -94,6 +94,38 @@ Audigy2.pcm.center_lfe.0 {
}
}
<confdir:pcm/side.conf>
Audigy2.pcm.side.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hooks
slave.pcm {
type hw
card $CARD
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{
name "EMU10K1 PCM Send Volume"
index { @func private_pcm_subdevice }
lock true
value [ 255 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 ]
}
{
name "EMU10K1 PCM Send Routing"
index { @func private_pcm_subdevice }
lock true
value [ 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 14 15 0 0 0 0 0 0 ]
}
]
}
}
<confdir:pcm/surround40.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
@ -179,6 +211,64 @@ Audigy2.pcm.surround51.0 {
]
}
<confdir:pcm/surround71.conf>
Audigy2.pcm.surround71.0 {
@args [ CARD ]
@args.CARD {
type string
}
type multi
slaves [
{
pcm {
@func concat
strings [
"cards.Audigy2.pcm.front.0:CARD=" $CARD
]
}
channels 2
}
{
pcm {
@func concat
strings [
"cards.Audigy2.pcm.rear.0:CARD=" $CARD
]
}
channels 2
}
{
pcm {
@func concat
strings [
"cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD
]
}
channels 2
}
{
pcm {
@func concat
strings [
"cards.Audigy2.pcm.side.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 }
{ slave 3 channel 0 }
{ slave 3 channel 1 }
]
}
<confdir:pcm/iec958.conf>
Audigy2.pcm.iec958.0 {

View file

@ -1,7 +1,7 @@
cfg_files = front.conf rear.conf center_lfe.conf \
cfg_files = front.conf rear.conf center_lfe.conf side.conf\
surround40.conf surround41.conf \
surround50.conf surround51.conf \
iec958.conf
surround71.conf iec958.conf
EXTRA_DIST = $(cfg_files)

47
src/conf/pcm/side.conf Normal file
View file

@ -0,0 +1,47 @@
#
# Hardware output from side speakers
#
pcm.!side {
@args [ CARD DEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_SIDE_CARD
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.side.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_SIDE_DEVICE
]
default {
@func refer
name defaults.pcm.side.device
}
}
}
@func refer
name {
@func concat
strings [
"cards."
{
@func card_driver
card $CARD
}
".pcm.side." $DEV ":CARD=" $CARD
]
}
}

View file

@ -0,0 +1,56 @@
#
# Hardware output from 7.1 speakers
# Samples must be positioned:
# chn0 - front left
# chn1 - front right
# chn2 - rear left
# chn3 - rear right
# chn4 - center
# chn5 - lfe
# chn7 - side left
# chn8 - side right
#
pcm.!surround71 {
@args [ CARD DEV ]
@args.CARD {
type string
default {
@func getenv
vars [
ALSA_SURROUND71_CARD
ALSA_PCM_CARD
ALSA_CARD
]
default {
@func refer
name defaults.pcm.surround71.card
}
}
}
@args.DEV {
type integer
default {
@func igetenv
vars [
ALSA_SURROUND71_DEVICE
]
default {
@func refer
name defaults.pcm.surround71.device
}
}
}
@func refer
name {
@func concat
strings [
"cards."
{
@func card_driver
card $CARD
}
".pcm.surround71." $DEV ":CARD=" $CARD
]
}
}