1# 2# "raw" modem - phoneline 3# 4 5pcm.!phoneline { 6 @args [ CARD DEV ] 7 @args.CARD { 8 type string 9 default { 10 @func getenv 11 vars [ 12 ALSA_MODEM_CARD 13 ALSA_PCM_CARD 14 ALSA_CARD 15 ] 16 default { 17 @func refer 18 name defaults.pcm.modem.card 19 } 20 } 21 } 22 @args.DEV { 23 type integer 24 default { 25 @func igetenv 26 vars [ 27 ALSA_MODEM_DEVICE 28 ] 29 default { 30 @func refer 31 name defaults.pcm.modem.device 32 } 33 } 34 } 35 @func refer 36 name { 37 @func concat 38 strings [ 39 "cards." 40 { 41 @func card_driver 42 card $CARD 43 } 44 ".pcm.modem." $DEV ":CARD=" $CARD 45 ] 46 } 47 hint.show off 48} 49 50# 51# "autohooked" modem 52# 53 54pcm.!modem { 55 @args [ CARD DEV ] 56 @args.CARD { 57 type string 58 default { 59 @func getenv 60 vars [ 61 ALSA_MODEM_CARD 62 ALSA_PCM_CARD 63 ALSA_CARD 64 ] 65 default { 66 @func refer 67 name defaults.pcm.modem.card 68 } 69 } 70 } 71 @args.DEV { 72 type integer 73 default { 74 @func igetenv 75 vars [ 76 ALSA_MODEM_DEVICE 77 ] 78 default { 79 @func refer 80 name defaults.pcm.modem.device 81 } 82 } 83 } 84 type hooks 85 slave { 86 pcm { 87 @func concat 88 strings [ 89 "cards.pcm.phoneline:CARD=" $CARD ",DEV=" $DEV 90 ] 91 } 92 } 93 hooks.0 { 94 type ctl_elems 95 hook_args [ 96 { 97 name "Off-hook Switch" 98 preserve true 99 value "on" 100 lock false 101 optional true 102 } 103 ] 104 } 105 hint.show off 106} 107