]> git.alsa-project.org Git - alsa-lib.git/commitdiff
modem's pcm "two device" config
authorSasha Khapyorsky <sashak@smlink.com>
Mon, 12 Sep 2005 10:37:22 +0000 (10:37 +0000)
committerTakashi Iwai <tiwai@suse.de>
Mon, 12 Sep 2005 10:37:22 +0000 (10:37 +0000)
This defines two modem related pcm devices: "phoneline" is driver's pcm
reference, with "modem" the line will be "Hook-Off"ed automatically.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
src/conf/alsa.conf
src/conf/pcm/modem.conf

index 9f67d3c8e8df6ebec64832148a3e81962adf9cdb..8bb968a90c49ccc3bdfef239db80cc801e843b1d 100644 (file)
@@ -251,6 +251,7 @@ pcm.surround71 cards.pcm.surround71
 pcm.iec958 cards.pcm.iec958
 pcm.spdif cards.pcm.iec958
 pcm.modem cards.pcm.modem
+pcm.phoneline cards.pcm.phoneline
 
 pcm.default cards.pcm.default
 pcm.dmix cards.pcm.dmix
index 7e8150b8a54e9232b6355a96b62d61be00c605f7..fd1dbdd6755c2a683bb485d7c67bfb7a350ac4ff 100644 (file)
@@ -1,8 +1,8 @@
 #
-# Modem output
+# "raw" modem - phoneline
 #
 
-pcm.!modem {
+pcm.!phoneline {
        @args [ CARD DEV ]
        @args.CARD {
                type string
@@ -45,3 +45,60 @@ pcm.!modem {
                ]
        }
 }
+
+#
+#  "autohooked" modem
+#
+
+pcm.!modem {
+       @args [ CARD DEV ]
+       @args.CARD {
+               type string
+               default {
+                       @func getenv
+                       vars [
+                               ALSA_MODEM_CARD
+                               ALSA_PCM_CARD
+                               ALSA_CARD
+                       ]
+                       default {
+                               @func refer
+                               name defaults.pcm.modem.card
+                       }
+               }
+       }
+       @args.DEV {
+               type integer
+               default {
+                       @func igetenv
+                       vars [
+                               ALSA_MODEM_DEVICE
+                       ]
+                       default {
+                               @func refer
+                               name defaults.pcm.modem.device
+                       }
+               }
+       }
+       type hooks
+       slave {
+               pcm {
+                       @func concat
+                       strings [
+                               "cards.pcm.phoneline:CARD=" $CARD ",DEV=" $DEV
+                       ]
+               }
+       }
+       hooks.0 {
+               type ctl_elems
+               hook_args [
+               {
+                       name "Off-hook Switch"
+                       preserve true
+                       value "on"
+                       lock false
+                       optional true
+               }
+               ]
+       }
+}