From c0e493eb5af9e4db287144ce17a2873a7a3f71da Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Fri, 29 Aug 2003 09:24:19 +0000 Subject: [PATCH] - Added the support for AC3 passthrough on Audigy. - New config for Audigy2 (for incompatibility with Audigy1). --- src/conf/cards/Audigy.conf | 21 +++- src/conf/cards/Audigy2.conf | 239 ++++++++++++++++++++++++++++++++++++ src/conf/cards/Makefile.am | 1 + 3 files changed, 257 insertions(+), 4 deletions(-) create mode 100644 src/conf/cards/Audigy2.conf diff --git a/src/conf/cards/Audigy.conf b/src/conf/cards/Audigy.conf index 8d1e4f3f..b047f8db 100644 --- a/src/conf/cards/Audigy.conf +++ b/src/conf/cards/Audigy.conf @@ -91,6 +91,8 @@ Audigy.pcm.center_lfe.0 { } + + Audigy.pcm.surround40.0 { @args [ CARD ] @@ -126,8 +128,6 @@ Audigy.pcm.surround40.0 { ] } - - Audigy.pcm.surround51.0 { @@ -198,8 +198,9 @@ Audigy.pcm.iec958.0 { slave.pcm { type hw card $CARD - device 3 + device 0 } + hooks.0 { type ctl_elems hook_args [ @@ -216,7 +217,19 @@ Audigy.pcm.iec958.0 { value [ 1 1 ] } { - name "SB Live Analog/Digital Output Jack" + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + value [ 0 0 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 [ 0 1 2 3 0 0 0 0 20 21 0 1 0 0 0 0 20 21 0 1 0 0 0 0 ] + } + { + name "Audigy Analog/Digital Output Jack" lock true preserve true value 1 diff --git a/src/conf/cards/Audigy2.conf b/src/conf/cards/Audigy2.conf new file mode 100644 index 00000000..d1631e48 --- /dev/null +++ b/src/conf/cards/Audigy2.conf @@ -0,0 +1,239 @@ +# +# Configuration for the Audigy2 chip +# + + + +Audigy2.pcm.front.0 { + @args [ CARD ] + @args.CARD { + type string + } + type hw + card $CARD + device 0 +} + + + +Audigy2.pcm.rear.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 "Wave Surround Playback Volume" + preserve true + lock true + value [ 0 0 ] + } + { + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + value [ 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 255 0 0 0 0 ] + } + ] + } +} + + + +Audigy2.pcm.center_lfe.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 "Wave Center Playback Volume" + preserve true + lock true + value 0 + } + { + name "Wave LFE Playback Volume" + preserve true + lock true + value 0 + } + { + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + value [ 0 0 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 [ 0 1 2 3 0 0 0 0 6 7 0 1 0 0 0 0 6 7 0 1 0 0 0 0 ] + } + ] + } +} + + + + + +Audigy2.pcm.surround40.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 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 0 } + { slave 1 channel 1 } + ] +} + + + +Audigy2.pcm.surround51.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 + } + ] + 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 } + ] +} + + + +Audigy2.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 0 + } + + hooks.0 { + type ctl_elems + hook_args [ + { + name "IEC958 Playback Default" + lock true + preserve true + value [ $AES0 $AES1 $AES2 $AES3 ] + } + { + name "IEC958 Optical Raw Playback Switch" + lock true + preserve true + value [ 1 1 ] + } + { + name "EMU10K1 PCM Send Volume" + index { @func private_pcm_subdevice } + lock true + value [ 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 255 0 0 0 0 0 0 0 ] + } + { + name "EMU10K1 PCM Send Routing" + index { @func private_pcm_subdevice } + lock true + value [ 0 1 2 3 0 0 0 0 20 21 0 1 0 0 0 0 20 21 0 1 0 0 0 0 ] + } + { + name "Audigy Analog/Digital Output Jack" + lock true + preserve true + value 1 + } + ] + } +} diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am index 2e933e9b..bf0ec173 100644 --- a/src/conf/cards/Makefile.am +++ b/src/conf/cards/Makefile.am @@ -1,6 +1,7 @@ alsadir = $(datadir)/alsa/cards cfg_files = aliases.conf \ Audigy.conf \ + Audigy2.conf \ CMI8338.conf \ CMI8738-MC6.conf \ CS46xx.conf \ -- 2.47.1