@@ -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
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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 ]
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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>
@@ -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
new file mode 100644
@@ -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
+ }
+}
new file mode 100644
@@ -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
+ }
+}