]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Make "default" PCM card-specific
authorTakashi Iwai <tiwai@suse.de>
Mon, 3 Jan 2005 14:42:11 +0000 (14:42 +0000)
committerTakashi Iwai <tiwai@suse.de>
Mon, 3 Jan 2005 14:42:11 +0000 (14:42 +0000)
"default" PCM can be card-specific.
The definition is moved to pcm/default.conf, and read on-demmand via
aliases.conf.  The card config can override the default config.

src/conf/alsa.conf
src/conf/cards/aliases.conf
src/conf/pcm/Makefile.am
src/conf/pcm/default.conf [new file with mode: 0644]

index 4d6b8b7bc19bfd78b34ee6e2e93a84dffacab98e..040a74975afb36f472d5d47d2822c3b2db2a3096 100644 (file)
@@ -284,38 +284,6 @@ pcm.null {
        type null
 }
 
-pcm.default {
-       type plug
-       slave.pcm {
-               type hw
-               card {
-                       @func getenv
-                       vars [
-                               ALSA_PCM_CARD
-                               ALSA_CARD
-                       ]
-                       default {
-                               @func refer
-                               name defaults.pcm.card
-                       }
-               }
-               device {
-                       @func igetenv
-                       vars [
-                               ALSA_PCM_DEVICE
-                       ]
-                       default {
-                               @func refer
-                               name defaults.pcm.device
-                       }
-               }
-               subdevice {
-                       @func refer
-                       name defaults.pcm.subdevice
-               }
-       }
-}
-
 # redirect to load-on-demand extended pcm definitions
 pcm.cards cards.pcm
 # some links for easy use
@@ -331,6 +299,7 @@ pcm.surround71 cards.pcm.surround71
 pcm.iec958 cards.pcm.iec958
 pcm.spdif cards.pcm.iec958
 pcm.modem cards.pcm.modem
+pcm.default cards.pcm.default
 
 #
 #  Control interface
index e58d699a3bfa5f552481ff496e85a5486ac8e821..dc60acf449f539081684bf52deac49d5283ac5ea 100644 (file)
@@ -39,3 +39,9 @@ VIA82XX-MODEM cards.ICH-MODEM
 'USB US-X2Y' cards.US-X2Y
 'Serial MIDI' cards.SerialMIDI
 'Prodif Plus' cards.ProdifPlus
+ESM1 cards.ES1968
+ES1978 cards.ES1968
+Allegro cards.Maestro3
+Canyon3D-2 cards.Maestro3
+
+<confdir:pcm/default.conf>
index ee40974cd6f5158f0a3ce6f7800014fa26459a45..0c4ec6dbf0736023d008ba7691bd20c48e7abe68 100644 (file)
@@ -1,4 +1,4 @@
-cfg_files = front.conf rear.conf center_lfe.conf side.conf\
+cfg_files = default.conf front.conf rear.conf center_lfe.conf side.conf\
            surround40.conf surround41.conf \
            surround50.conf surround51.conf \
            surround71.conf iec958.conf modem.conf
diff --git a/src/conf/pcm/default.conf b/src/conf/pcm/default.conf
new file mode 100644 (file)
index 0000000..738d632
--- /dev/null
@@ -0,0 +1,39 @@
+#
+# Default output
+#
+
+pcm.!default {
+       @args [ CARD ]
+       @args.CARD {
+               type string
+               default {
+                       @func getenv
+                       vars [
+                               ALSA_PCM_CARD
+                               ALSA_CARD
+                       ]
+                       default {
+                               @func refer
+                               name defaults.pcm.card
+                       }
+               }
+       }
+       # use card-specific definition if exists
+       @func refer
+       name {
+               @func concat
+               strings [
+                       "cards."
+                       {
+                               @func card_driver
+                               card $CARD
+                       }
+                       ".pcm.default:CARD=" $CARD
+               ]
+       }
+       default {
+               # use plughw as default
+               type plug
+               slave.pcm hw
+       }
+}