From: Tom Yan tom.ty89@gmail.com
Signed-off-by: Tom Yan tom.ty89@gmail.com
diff --git a/src/conf/alsa.conf b/src/conf/alsa.conf index 2ea7cb0..43cec5d 100644 --- a/src/conf/alsa.conf +++ b/src/conf/alsa.conf @@ -92,6 +92,10 @@ defaults.pcm.side.card defaults.pcm.card defaults.pcm.side.device defaults.pcm.device defaults.pcm.surround21.card defaults.pcm.card defaults.pcm.surround21.device defaults.pcm.device +defaults.pcm.surround30.card defaults.pcm.card +defaults.pcm.surround30.device defaults.pcm.device +defaults.pcm.surround31.card defaults.pcm.card +defaults.pcm.surround31.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 @@ -136,6 +140,8 @@ pcm.rear cards.pcm.rear pcm.center_lfe cards.pcm.center_lfe pcm.side cards.pcm.side pcm.surround21 cards.pcm.surround21 +pcm.surround30 cards.pcm.surround30 +pcm.surround31 cards.pcm.surround31 pcm.surround40 cards.pcm.surround40 pcm.surround41 cards.pcm.surround41 pcm.surround50 cards.pcm.surround50 diff --git a/src/conf/cards/ATIIXP-SPDMA.conf b/src/conf/cards/ATIIXP-SPDMA.conf index 42540d6..a125b65 100644 --- a/src/conf/cards/ATIIXP-SPDMA.conf +++ b/src/conf/cards/ATIIXP-SPDMA.conf @@ -78,6 +78,8 @@ ATIIXP-SPDMA.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/ATIIXP.conf b/src/conf/cards/ATIIXP.conf index c4d33ef..4e27be6 100644 --- a/src/conf/cards/ATIIXP.conf +++ b/src/conf/cards/ATIIXP.conf @@ -78,6 +78,8 @@ ATIIXP.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/Audigy.conf b/src/conf/cards/Audigy.conf index 1c92496..250192a 100644 --- a/src/conf/cards/Audigy.conf +++ b/src/conf/cards/Audigy.conf @@ -144,6 +144,8 @@ Audigy.pcm.center_lfe.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround40.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf diff --git a/src/conf/cards/Audigy2.conf b/src/conf/cards/Audigy2.conf index e4544a6..fc71866 100644 --- a/src/conf/cards/Audigy2.conf +++ b/src/conf/cards/Audigy2.conf @@ -196,6 +196,8 @@ Audigy2.pcm.side.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround40.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf diff --git a/src/conf/cards/Aureon51.conf b/src/conf/cards/Aureon51.conf index 07be4a7..a8be4a7 100644 --- a/src/conf/cards/Aureon51.conf +++ b/src/conf/cards/Aureon51.conf @@ -87,6 +87,8 @@ Aureon51.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/Aureon71.conf b/src/conf/cards/Aureon71.conf index 1f08b34..474d002 100644 --- a/src/conf/cards/Aureon71.conf +++ b/src/conf/cards/Aureon71.conf @@ -87,6 +87,8 @@ Aureon71.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/CA0106.conf b/src/conf/cards/CA0106.conf index c06adfc..56e8c2d 100644 --- a/src/conf/cards/CA0106.conf +++ b/src/conf/cards/CA0106.conf @@ -109,6 +109,8 @@ CA0106.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/CMI8738-MC6.conf b/src/conf/cards/CMI8738-MC6.conf index edc67d4..0623a80 100644 --- a/src/conf/cards/CMI8738-MC6.conf +++ b/src/conf/cards/CMI8738-MC6.conf @@ -78,6 +78,8 @@ CMI8738-MC6.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/CMI8738-MC8.conf b/src/conf/cards/CMI8738-MC8.conf index b74e476..b24647c 100644 --- a/src/conf/cards/CMI8738-MC8.conf +++ b/src/conf/cards/CMI8738-MC8.conf @@ -106,6 +106,8 @@ CMI8738-MC8.pcm.surround40.0 {
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/CMI8788.conf b/src/conf/cards/CMI8788.conf index 1d52512..c605b50 100644 --- a/src/conf/cards/CMI8788.conf +++ b/src/conf/cards/CMI8788.conf @@ -49,6 +49,8 @@ CMI8788.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/CS46xx.conf b/src/conf/cards/CS46xx.conf index b71c30a..5321b99 100644 --- a/src/conf/cards/CS46xx.conf +++ b/src/conf/cards/CS46xx.conf @@ -113,6 +113,8 @@ CS46xx.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/EMU10K1.conf b/src/conf/cards/EMU10K1.conf index ef193fe..b1ca48b 100644 --- a/src/conf/cards/EMU10K1.conf +++ b/src/conf/cards/EMU10K1.conf @@ -218,6 +218,8 @@ EMU10K1.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/EMU10K1X.conf b/src/conf/cards/EMU10K1X.conf index f742863..ba1b4c2 100644 --- a/src/conf/cards/EMU10K1X.conf +++ b/src/conf/cards/EMU10K1X.conf @@ -97,6 +97,8 @@ EMU10K1X.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/Echo_Echo3G.conf b/src/conf/cards/Echo_Echo3G.conf index 4a29c4e..dc95de6 100644 --- a/src/conf/cards/Echo_Echo3G.conf +++ b/src/conf/cards/Echo_Echo3G.conf @@ -50,6 +50,75 @@ Echo_Echo3G.pcm.side.0 { subdevice 6 }
+confdir:pcm/surround30.conf +Echo_Echo3G.pcm.surround30.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD + ] + } + channels 2 + } + ] + bindings [ + { slave 0 channel 0 } + { slave 0 channel 1 } + { slave 1 channel 1 } + ] +} + +confdir:pcm/surround31.conf +Echo_Echo3G.pcm.surround31.0 { + @args [ CARD ] + @args.CARD { + type string + } + type multi + slaves [ + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD + ] + } + channels 2 + } + { + pcm { + @func concat + strings [ + "cards.Echo_Echo3G.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 } + ] +} + confdir:pcm/surround40.conf Echo_Echo3G.pcm.surround40.0 { @args [ CARD ] diff --git a/src/conf/cards/FM801.conf b/src/conf/cards/FM801.conf index 0ddf799..5152cad 100644 --- a/src/conf/cards/FM801.conf +++ b/src/conf/cards/FM801.conf @@ -41,6 +41,8 @@ FM801.pcm.default { FM801.pcm.surround40.0 "cards.FM801.pcm.front.0"
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/FireWave.conf b/src/conf/cards/FireWave.conf index fcfc83c..d12a7ae 100644 --- a/src/conf/cards/FireWave.conf +++ b/src/conf/cards/FireWave.conf @@ -26,6 +26,8 @@ FireWave.pcm.front.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf index f04fae0..074c664 100644 --- a/src/conf/cards/HDA-Intel.conf +++ b/src/conf/cards/HDA-Intel.conf @@ -72,6 +72,8 @@ HDA-Intel.pcm.default { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround40.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf diff --git a/src/conf/cards/ICE1712.conf b/src/conf/cards/ICE1712.conf index 16d793a..0fc2f58 100644 --- a/src/conf/cards/ICE1712.conf +++ b/src/conf/cards/ICE1712.conf @@ -75,6 +75,8 @@ ICE1712.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/ICE1724.conf b/src/conf/cards/ICE1724.conf index 6072eab..35a3520 100644 --- a/src/conf/cards/ICE1724.conf +++ b/src/conf/cards/ICE1724.conf @@ -96,6 +96,8 @@ ICE1724.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/ICH.conf b/src/conf/cards/ICH.conf index 6fc9a5a..25a32e6 100644 --- a/src/conf/cards/ICH.conf +++ b/src/conf/cards/ICH.conf @@ -99,6 +99,8 @@ ICH.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/ICH4.conf b/src/conf/cards/ICH4.conf index 64ec883..160676a 100644 --- a/src/conf/cards/ICH4.conf +++ b/src/conf/cards/ICH4.conf @@ -99,6 +99,8 @@ ICH4.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/Loopback.conf b/src/conf/cards/Loopback.conf index ab76670..7f40d21 100644 --- a/src/conf/cards/Loopback.conf +++ b/src/conf/cards/Loopback.conf @@ -64,6 +64,8 @@ Loopback.pcm.default { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround40.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf diff --git a/src/conf/cards/NFORCE.conf b/src/conf/cards/NFORCE.conf index 4ccf58e..ef025d5 100644 --- a/src/conf/cards/NFORCE.conf +++ b/src/conf/cards/NFORCE.conf @@ -99,6 +99,8 @@ NFORCE.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/SB-XFi.conf b/src/conf/cards/SB-XFi.conf index 25fe7b7..d524dff 100644 --- a/src/conf/cards/SB-XFi.conf +++ b/src/conf/cards/SB-XFi.conf @@ -54,6 +54,8 @@ SB-XFi.pcm.side.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround40.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf diff --git a/src/conf/cards/SI7018.conf b/src/conf/cards/SI7018.conf index 02b8fc8..16954dd 100644 --- a/src/conf/cards/SI7018.conf +++ b/src/conf/cards/SI7018.conf @@ -79,6 +79,8 @@ SI7018.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/USB-Audio.conf b/src/conf/cards/USB-Audio.conf index c8a21c5..68dd482 100644 --- a/src/conf/cards/USB-Audio.conf +++ b/src/conf/cards/USB-Audio.conf @@ -329,6 +329,8 @@ USB-Audio.pcm.surround40_two_stereo_devices { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/VIA8233.conf b/src/conf/cards/VIA8233.conf index 9ad321f..d8fa05f 100644 --- a/src/conf/cards/VIA8233.conf +++ b/src/conf/cards/VIA8233.conf @@ -87,6 +87,8 @@ VIA8233.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/VIA8233A.conf b/src/conf/cards/VIA8233A.conf index 679fccf..5cde142 100644 --- a/src/conf/cards/VIA8233A.conf +++ b/src/conf/cards/VIA8233A.conf @@ -85,6 +85,8 @@ VIA8233A.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/cards/VIA8237.conf b/src/conf/cards/VIA8237.conf index 29d8e00..d04c5c1 100644 --- a/src/conf/cards/VIA8237.conf +++ b/src/conf/cards/VIA8237.conf @@ -80,6 +80,8 @@ VIA8237.pcm.surround40.0 { }
confdir:pcm/surround21.conf +confdir:pcm/surround30.conf +confdir:pcm/surround31.conf confdir:pcm/surround41.conf confdir:pcm/surround50.conf confdir:pcm/surround51.conf diff --git a/src/conf/pcm/Makefile.am b/src/conf/pcm/Makefile.am index b1f87fe..745d47e 100644 --- a/src/conf/pcm/Makefile.am +++ b/src/conf/pcm/Makefile.am @@ -1,7 +1,9 @@ cfg_files = default.conf front.conf rear.conf center_lfe.conf side.conf\ - surround21.conf surround40.conf surround41.conf \ - surround50.conf surround51.conf surround70.conf \ - surround71.conf iec958.conf hdmi.conf modem.conf \ + surround21.conf surround30.conf surround31.conf \ + surround40.conf surround41.conf \ + surround50.conf surround51.conf \ + surround70.conf surround71.conf \ + iec958.conf hdmi.conf modem.conf \ dmix.conf dsnoop.conf \ dpl.conf
diff --git a/src/conf/pcm/surround30.conf b/src/conf/pcm/surround30.conf new file mode 100644 index 0000000..8172d95 --- /dev/null +++ b/src/conf/pcm/surround30.conf @@ -0,0 +1,61 @@ +# +# Hardware output from 3.0 speakers. +# Samples must be positioned: +# chn0 - front left +# chn1 - front right +# chn2 - center +# + +pcm.!surround30 { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SURROUND30_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.surround30.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SURROUND30_DEVICE + ] + default { + @func refer + name defaults.pcm.surround30.device + } + } + } + type route + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.surround51." $DEV ":CARD=" $CARD + ] + } + } + ttable.0.FL 1 + ttable.1.FR 1 + ttable.2.FC 1 + hint { + description "3.0 Surround output to Front and Center speakers" + device $DEV + } +} diff --git a/src/conf/pcm/surround31.conf b/src/conf/pcm/surround31.conf new file mode 100644 index 0000000..67d8e14 --- /dev/null +++ b/src/conf/pcm/surround31.conf @@ -0,0 +1,63 @@ +# +# Hardware output from 3.1 speakers. +# Samples must be positioned: +# chn0 - front left +# chn1 - front right +# chn2 - center +# chn3 - LFE +# + +pcm.!surround31 { + @args [ CARD DEV ] + @args.CARD { + type string + default { + @func getenv + vars [ + ALSA_SURROUND31_CARD + ALSA_PCM_CARD + ALSA_CARD + ] + default { + @func refer + name defaults.pcm.surround31.card + } + } + } + @args.DEV { + type integer + default { + @func igetenv + vars [ + ALSA_SURROUND31_DEVICE + ] + default { + @func refer + name defaults.pcm.surround31.device + } + } + } + type route + slave.pcm { + @func refer + name { + @func concat + strings [ + "cards." + { + @func card_driver + card $CARD + } + ".pcm.surround51." $DEV ":CARD=" $CARD + ] + } + } + ttable.0.FL 1 + ttable.1.FR 1 + ttable.2.FC 1 + ttable.3.LFE 1 + hint { + description "3.1 Surround output to Front, Center and Subwoofer speakers" + device $DEV + } +}