home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 March / PCWELT_3_2006.ISO / base / 01_kernel.mo / usr / share / alsa / alsa.conf next >
Encoding:
Text File  |  2005-07-05  |  7.3 KB  |  544 lines

  1. #
  2. #  ALSA library configuration file
  3. #
  4.  
  5. # pre-load the configuration files
  6.  
  7. @hooks [
  8.     {
  9.         func load
  10.         files [
  11.             "/etc/asound.conf"
  12.             "~/.asoundrc"
  13.         ]
  14.         errors false
  15.     }
  16. ]
  17.  
  18. # load card-specific configuration files (on request)
  19.  
  20. cards.@hooks [
  21.     {
  22.         func load
  23.         files [
  24.             {
  25.                 @func concat
  26.                 strings [
  27.                     { @func datadir }
  28.                     "/cards/aliases.conf"
  29.                 ]
  30.             }
  31.         ]
  32.     }
  33.     {
  34.         func load_for_all_cards
  35.         files [
  36.             {
  37.                 @func concat
  38.                 strings [
  39.                     { @func datadir }
  40.                     "/cards/"
  41.                     { @func private_string }
  42.                     ".conf"
  43.                 ]
  44.             }
  45.         ]
  46.         errors false
  47.     }
  48. ]
  49.  
  50. # defaults
  51.  
  52. defaults.ctl.card 0
  53. defaults.pcm.card 0
  54. defaults.pcm.device 0
  55. defaults.pcm.subdevice -1
  56. defaults.pcm.front.card defaults.pcm.card
  57. defaults.pcm.front.device defaults.pcm.device
  58. defaults.pcm.rear.card defaults.pcm.card
  59. defaults.pcm.rear.device defaults.pcm.device
  60. defaults.pcm.center_lfe.card defaults.pcm.card
  61. defaults.pcm.center_lfe.device defaults.pcm.device
  62. defaults.pcm.side.card defaults.pcm.card
  63. defaults.pcm.side.device defaults.pcm.device
  64. defaults.pcm.surround40.card defaults.pcm.card
  65. defaults.pcm.surround40.device defaults.pcm.device
  66. defaults.pcm.surround41.card defaults.pcm.card
  67. defaults.pcm.surround41.device defaults.pcm.device
  68. defaults.pcm.surround50.card defaults.pcm.card
  69. defaults.pcm.surround50.device defaults.pcm.device
  70. defaults.pcm.surround51.card defaults.pcm.card
  71. defaults.pcm.surround51.device defaults.pcm.device
  72. defaults.pcm.surround71.card defaults.pcm.card
  73. defaults.pcm.surround71.device defaults.pcm.device
  74. defaults.pcm.iec958.card defaults.pcm.card
  75. defaults.pcm.iec958.device defaults.pcm.device
  76. defaults.pcm.modem.card defaults.pcm.card
  77. defaults.pcm.modem.device defaults.pcm.device
  78. defaults.rawmidi.card 0
  79. defaults.rawmidi.device 0
  80. defaults.rawmidi.subdevice -1
  81. defaults.hwdep.card 0
  82. defaults.hwdep.device 0
  83. defaults.timer.class 2
  84. defaults.timer.sclass 0
  85. defaults.timer.card 0
  86. defaults.timer.device 0
  87. defaults.timer.subdevice 0
  88.  
  89. #
  90. #  PCM interface
  91. #
  92.  
  93. pcm.hw {
  94.     @args [ CARD DEV SUBDEV ]
  95.     @args.CARD {
  96.         type string
  97.         default {
  98.             @func getenv
  99.             vars [
  100.                 ALSA_PCM_CARD
  101.                 ALSA_CARD
  102.             ]
  103.             default {
  104.                 @func refer
  105.                 name defaults.pcm.card
  106.             }
  107.         }
  108.     }
  109.     @args.DEV {
  110.         type integer
  111.         default {
  112.             @func igetenv
  113.             vars [
  114.                 ALSA_PCM_DEVICE
  115.             ]
  116.             default {
  117.                 @func refer
  118.                 name defaults.pcm.device
  119.             }
  120.         }
  121.     }
  122.     @args.SUBDEV {
  123.         type integer
  124.         default {
  125.             @func refer
  126.             name defaults.pcm.subdevice
  127.         }
  128.     }        
  129.     type hw
  130.     card $CARD
  131.     device $DEV
  132.     subdevice $SUBDEV
  133. }
  134.  
  135. pcm.plughw {
  136.     @args [ CARD DEV SUBDEV ]
  137.     @args.CARD {
  138.         type string
  139.         default {
  140.             @func getenv
  141.             vars [
  142.                 ALSA_PCM_CARD
  143.                 ALSA_CARD
  144.             ]
  145.             default {
  146.                 @func refer
  147.                 name defaults.pcm.card
  148.             }
  149.         }
  150.     }
  151.     @args.DEV {
  152.         type integer
  153.         default {
  154.             @func igetenv
  155.             vars [
  156.                 ALSA_PCM_DEVICE
  157.             ]
  158.             default {
  159.                 @func refer
  160.                 name defaults.pcm.device
  161.             }
  162.         }
  163.     }
  164.     @args.SUBDEV {
  165.         type integer
  166.         default {
  167.             @func refer
  168.             name defaults.pcm.subdevice
  169.         }
  170.     }        
  171.     type plug
  172.     slave.pcm {
  173.         type hw
  174.         card $CARD
  175.         device $DEV
  176.         subdevice $SUBDEV
  177.     }
  178. }
  179.  
  180. pcm.plug {
  181.     @args [ SLAVE ]
  182.     @args.SLAVE {
  183.         type string
  184.     }
  185.     type plug
  186.     slave.pcm $SLAVE
  187. }
  188.  
  189. pcm.shm {
  190.     @args [ SOCKET PCM ]
  191.     @args.SOCKET {
  192.         type string
  193.     }
  194.     @args.PCM {
  195.         type string
  196.     }
  197.     type shm
  198.     server $SOCKET
  199.     pcm $PCM
  200. }
  201.  
  202. pcm.tee {
  203.     @args [ SLAVE FILE FORMAT ]
  204.     @args.SLAVE {
  205.         type string
  206.     }
  207.     @args.FILE {
  208.         type string
  209.     }
  210.     @args.FORMAT {
  211.         type string
  212.         default raw
  213.     }
  214.     type file
  215.     slave.pcm $SLAVE
  216.     file $FILE
  217.     format $FORMAT
  218. }
  219.  
  220. pcm.file {
  221.     @args [ FILE FORMAT ]
  222.     @args.FILE {
  223.         type string
  224.     }
  225.     @args.FORMAT {
  226.         type string
  227.         default raw
  228.     }
  229.     type file
  230.     slave.pcm null
  231.     file $FILE
  232.     format $FORMAT
  233. }
  234.  
  235. pcm.null {
  236.     type null
  237. }
  238.  
  239. # redirect to load-on-demand extended pcm definitions
  240. pcm.cards cards.pcm
  241. # some links for easy use
  242. pcm.front cards.pcm.front
  243. pcm.rear cards.pcm.rear
  244. pcm.center_lfe cards.pcm.center_lfe
  245. pcm.side cards.pcm.side
  246. pcm.surround40 cards.pcm.surround40
  247. pcm.surround41 cards.pcm.surround41
  248. pcm.surround50 cards.pcm.surround50
  249. pcm.surround51 cards.pcm.surround51
  250. pcm.surround71 cards.pcm.surround71
  251. pcm.iec958 cards.pcm.iec958
  252. pcm.spdif cards.pcm.iec958
  253. pcm.modem cards.pcm.modem
  254.  
  255. pcm.default cards.pcm.default
  256. pcm.dmix cards.pcm.dmix
  257. pcm.dsnoop cards.pcm.dsnoop
  258.  
  259. #
  260. #  Control interface
  261. #
  262.     
  263. ctl.hw {
  264.     @args[ CARD ]
  265.     @args.CARD {
  266.         type string
  267.         default {
  268.             @func getenv
  269.             vars [
  270.                 ALSA_CTL_CARD
  271.                 ALSA_CARD
  272.             ]
  273.             default {
  274.                 @func refer
  275.                 name defaults.ctl.card
  276.             }
  277.         }
  278.     }
  279.     type hw
  280.     card $CARD
  281. }
  282.  
  283. ctl.shm {
  284.     @args [ SOCKET CTL ]
  285.     @args.SOCKET {
  286.         type string
  287.     }
  288.     @args.CTL {
  289.         type string
  290.     }
  291.     type shm
  292.     server $SOCKET
  293.     ctl $CTL
  294. }
  295.  
  296. ctl.default {
  297.     type hw
  298.     card {
  299.         @func getenv
  300.         vars [
  301.             ALSA_CTL_CARD
  302.             ALSA_CARD
  303.         ]
  304.         default {
  305.             @func refer
  306.             name defaults.ctl.card
  307.         }
  308.     }
  309. }
  310.  
  311. #
  312. #  RawMidi interface
  313. #
  314.  
  315. rawmidi.hw {
  316.     @args [ CARD DEV SUBDEV ]
  317.     @args.CARD {
  318.         type string
  319.         default {
  320.             @func getenv
  321.             vars [
  322.                 ALSA_RAWMIDI_CARD
  323.                 ALSA_CARD
  324.             ]
  325.             default {
  326.                 @func refer
  327.                 name defaults.rawmidi.card
  328.             }
  329.         }
  330.     }
  331.     @args.DEV {
  332.         type integer
  333.         default {
  334.             @func igetenv
  335.             vars [
  336.                 ALSA_RAWMIDI_DEVICE
  337.             ]
  338.             default {
  339.                 @func refer
  340.                 name defaults.rawmidi.device
  341.             }
  342.         }
  343.     }
  344.     @args.SUBDEV {
  345.         type integer
  346.         default -1
  347.     }
  348.     type hw
  349.     card $CARD
  350.     device $DEV
  351.     subdevice $SUBDEV
  352. }
  353.  
  354. rawmidi.default {
  355.     type hw
  356.     card {
  357.         @func getenv
  358.         vars [
  359.             ALSA_RAWMIDI_CARD
  360.             ALSA_CARD
  361.         ]
  362.         default {
  363.             @func refer
  364.             name defaults.rawmidi.card
  365.         }
  366.     }
  367.     device {
  368.         @func igetenv
  369.         vars [
  370.             ALSA_RAWMIDI_DEVICE
  371.         ]
  372.         default {
  373.             @func refer
  374.             name defaults.rawmidi.device
  375.         }
  376.     }
  377. }
  378.  
  379. rawmidi.virtual {
  380.     @args [ MERGE ]
  381.     @args.MERGE {
  382.         type string
  383.         default 1
  384.     }
  385.     type virtual
  386.     merge $MERGE
  387. }
  388.  
  389. #
  390. #  Sequencer interface
  391. #
  392.  
  393. seq.default {
  394.     type hw
  395. }
  396.  
  397. seq.hw {
  398.     type hw
  399. }
  400.  
  401. #
  402. #  HwDep interface
  403. #
  404.  
  405. hwdep.hw {
  406.     @args [ CARD DEV ]
  407.     @args.CARD {
  408.         type string
  409.         default {
  410.             @func getenv
  411.             vars [
  412.                 ALSA_HWDEP_CARD
  413.                 ALSA_CARD
  414.             ]
  415.             default {
  416.                 @func refer
  417.                 name defaults.hwdep.card
  418.             }
  419.         }
  420.     }
  421.     @args.DEV {
  422.         type integer
  423.         default {
  424.             @func igetenv
  425.             vars [
  426.                 ALSA_HWDEP_DEVICE
  427.             ]
  428.             default {
  429.                 @func refer
  430.                 name defaults.hwdep.device
  431.             }
  432.         }
  433.     }
  434.     type hw
  435.     card $CARD
  436.     device $DEV
  437. }
  438.  
  439. hwdep.default {
  440.     type hw
  441.     card {
  442.         @func getenv
  443.         vars [
  444.             ALSA_HWDEP_CARD
  445.             ALSA_CARD
  446.         ]
  447.         default {
  448.             @func refer
  449.             name defaults.hwdep.card
  450.         }
  451.     }
  452.     device {
  453.         @func igetenv
  454.         vars [
  455.             ALSA_HWDEP_DEVICE
  456.         ]
  457.         default {
  458.             @func refer
  459.             name defaults.hwdep.device
  460.         }
  461.     }
  462. }
  463.  
  464. #
  465. #  Timer interface
  466. #
  467.  
  468. timer_query.hw {
  469.     type hw
  470. }
  471.  
  472. timer_query.default {
  473.     type hw
  474. }
  475.  
  476. timer.hw {
  477.     @args [ CLASS SCLASS CARD DEV SUBDEV ]
  478.     @args.CLASS {
  479.         type integer
  480.         default {
  481.             @func refer
  482.             name defaults.timer.class
  483.         }
  484.     }
  485.     @args.SCLASS {
  486.         type integer
  487.         default {
  488.             @func refer
  489.             name defaults.timer.sclass
  490.         }
  491.     }
  492.     @args.CARD {
  493.         type string
  494.         default {
  495.             @func refer
  496.             name defaults.timer.card
  497.         }
  498.     }
  499.     @args.DEV {
  500.         type integer
  501.         default {
  502.             @func refer
  503.             name defaults.timer.device
  504.         }
  505.     }
  506.     @args.SUBDEV {
  507.         type integer
  508.         default {
  509.             @func refer
  510.             name defaults.timer.subdevice
  511.         }
  512.     }
  513.     type hw
  514.     class $CLASS
  515.     sclass $SCLASS
  516.     card $CARD
  517.     device $DEV
  518.     subdevice $SUBDEV
  519. }
  520.  
  521. timer.default {
  522.     type hw
  523.     class {
  524.         @func refer
  525.         name defaults.timer.class
  526.     }
  527.     sclass {
  528.         @func refer
  529.         name defaults.timer.sclass
  530.     }
  531.     card {
  532.         @func refer
  533.         name defaults.timer.card
  534.     }
  535.     device {
  536.         @func refer
  537.         name defaults.timer.device
  538.     }
  539.     subdevice {
  540.         @func refer
  541.         name defaults.timer.subdevice
  542.     }
  543. }
  544.