From: Takashi Iwai Date: Mon, 28 Jun 2004 10:40:24 +0000 (+0000) Subject: Peter Zubaj : X-Git-Tag: v1.0.6~14 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b9a25e2ac89abbadfc6b25c21597740942f0e328;p=alsa-lib.git Peter Zubaj : - Added surround71 and side pcm definitions. - Added the support of side speakers on Audigy 2 ZS. --- diff --git a/src/conf/alsa.conf b/src/conf/alsa.conf index 4d742308..5acf0975 100644 --- a/src/conf/alsa.conf +++ b/src/conf/alsa.conf @@ -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 diff --git a/src/conf/cards/Audigy2.conf b/src/conf/cards/Audigy2.conf index 3245875b..4702bca1 100644 --- a/src/conf/cards/Audigy2.conf +++ b/src/conf/cards/Audigy2.conf @@ -92,7 +92,39 @@ Audigy2.pcm.center_lfe.0 { } ] } -} +} + + + +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 ] + } + ] + } +} @@ -179,6 +211,64 @@ Audigy2.pcm.surround51.0 { ] } + + +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 } + ] +} + Audigy2.pcm.iec958.0 { diff --git a/src/conf/pcm/Makefile.am b/src/conf/pcm/Makefile.am index 04910f7b..7576db1e 100644 --- a/src/conf/pcm/Makefile.am +++ b/src/conf/pcm/Makefile.am @@ -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) diff --git a/src/conf/pcm/side.conf b/src/conf/pcm/side.conf new file mode 100644 index 00000000..b7e644b4 --- /dev/null +++ b/src/conf/pcm/side.conf @@ -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 + ] + } +} diff --git a/src/conf/pcm/surround71.conf b/src/conf/pcm/surround71.conf new file mode 100644 index 00000000..6e6e1cf0 --- /dev/null +++ b/src/conf/pcm/surround71.conf @@ -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 + ] + } +}