home *** CD-ROM | disk | FTP | other *** search
/ HAKERIS 11 / HAKERIS 11.ISO / linux / system / LinuxConsole 0.4 / linuxconsole0.4install-en.iso / linuxconsole0.4.lcm / local / linuxconsole / share / alsa / alsa.conf
Encoding:
Text File  |  2004-03-26  |  7.5 KB  |  595 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.surround40.card defaults.pcm.card
  63. defaults.pcm.surround40.device defaults.pcm.device
  64. defaults.pcm.surround51.card defaults.pcm.card
  65. defaults.pcm.surround51.device defaults.pcm.device
  66. defaults.pcm.iec958.card defaults.pcm.card
  67. defaults.pcm.iec958.device defaults.pcm.device
  68. defaults.rawmidi.card 0
  69. defaults.rawmidi.device 0
  70. defaults.rawmidi.subdevice -1
  71. defaults.hwdep.card 0
  72. defaults.hwdep.device 0
  73. defaults.timer.class 2
  74. defaults.timer.sclass 0
  75. defaults.timer.card 0
  76. defaults.timer.device 0
  77. defaults.timer.subdevice 0
  78.  
  79. #
  80. #  PCM interface
  81. #
  82.  
  83. pcm.hw {
  84.     @args [ CARD DEV SUBDEV ]
  85.     @args.CARD {
  86.         type string
  87.         default {
  88.             @func getenv
  89.             vars [
  90.                 ALSA_PCM_CARD
  91.                 ALSA_CARD
  92.             ]
  93.             default {
  94.                 @func refer
  95.                 name defaults.pcm.card
  96.             }
  97.         }
  98.     }
  99.     @args.DEV {
  100.         type integer
  101.         default {
  102.             @func igetenv
  103.             vars [
  104.                 ALSA_PCM_DEVICE
  105.             ]
  106.             default {
  107.                 @func refer
  108.                 name defaults.pcm.device
  109.             }
  110.         }
  111.     }
  112.     @args.SUBDEV {
  113.         type integer
  114.         default {
  115.             @func refer
  116.             name defaults.pcm.subdevice
  117.         }
  118.     }        
  119.     type hw
  120.     card $CARD
  121.     device $DEV
  122.     subdevice $SUBDEV
  123. }
  124.  
  125. pcm.plughw {
  126.     @args [ CARD DEV SUBDEV ]
  127.     @args.CARD {
  128.         type string
  129.         default {
  130.             @func getenv
  131.             vars [
  132.                 ALSA_PCM_CARD
  133.                 ALSA_CARD
  134.             ]
  135.             default {
  136.                 @func refer
  137.                 name defaults.pcm.card
  138.             }
  139.         }
  140.     }
  141.     @args.DEV {
  142.         type integer
  143.         default {
  144.             @func igetenv
  145.             vars [
  146.                 ALSA_PCM_DEVICE
  147.             ]
  148.             default {
  149.                 @func refer
  150.                 name defaults.pcm.device
  151.             }
  152.         }
  153.     }
  154.     @args.SUBDEV {
  155.         type integer
  156.         default {
  157.             @func refer
  158.             name defaults.pcm.subdevice
  159.         }
  160.     }        
  161.     type plug
  162.     slave.pcm {
  163.         type hw
  164.         card $CARD
  165.         device $DEV
  166.         subdevice $SUBDEV
  167.     }
  168. }
  169.  
  170. pcm.plug {
  171.     @args [ SLAVE ]
  172.     @args.SLAVE {
  173.         type string
  174.     }
  175.     type plug
  176.     slave.pcm $SLAVE
  177. }
  178.  
  179. pcm.dmix {
  180.     @args [ SLAVE FORMAT RATE ]
  181.     @args.SLAVE {
  182.         type string
  183.         default "hw:0,0"
  184.     }
  185.     @args.FORMAT {
  186.         type string
  187.         default S16_LE
  188.     }
  189.     @args.RATE {
  190.         type integer
  191.         default 48000
  192.     }
  193.     type dmix
  194.     ipc_key 5678293
  195.     ipc_key_add_uid yes
  196.     slave {
  197.         pcm $SLAVE
  198.         format $FORMAT
  199.         rate $RATE
  200.     }
  201. }
  202.  
  203. pcm.dsnoop {
  204.     @args [ SLAVE FORMAT RATE ]
  205.     @args.SLAVE {
  206.         type string
  207.         default "hw:0,0"
  208.     }
  209.     @args.FORMAT {
  210.         type string
  211.         default S16_LE
  212.     }
  213.     @args.RATE {
  214.         type integer
  215.         default 48000
  216.     }
  217.     type dsnoop
  218.     ipc_key 5778293
  219.     ipc_key_add_uid yes
  220.     slave {
  221.         pcm $SLAVE
  222.         format $FORMAT
  223.         rate $RATE
  224.     }
  225. }
  226.  
  227. pcm.shm {
  228.     @args [ SOCKET PCM ]
  229.     @args.SOCKET {
  230.         type string
  231.     }
  232.     @args.PCM {
  233.         type string
  234.     }
  235.     type shm
  236.     server $SOCKET
  237.     pcm $PCM
  238. }
  239.  
  240. pcm.tee {
  241.     @args [ SLAVE FILE FORMAT ]
  242.     @args.SLAVE {
  243.         type string
  244.     }
  245.     @args.FILE {
  246.         type string
  247.     }
  248.     @args.FORMAT {
  249.         type string
  250.         default raw
  251.     }
  252.     type file
  253.     slave.pcm $SLAVE
  254.     file $FILE
  255.     format $FORMAT
  256. }
  257.  
  258. pcm.file {
  259.     @args [ FILE FORMAT ]
  260.     @args.FILE {
  261.         type string
  262.     }
  263.     @args.FORMAT {
  264.         type string
  265.         default raw
  266.     }
  267.     type file
  268.     slave.pcm null
  269.     file $FILE
  270.     format $FORMAT
  271. }
  272.  
  273. pcm.null {
  274.     type null
  275. }
  276.  
  277. pcm.default {
  278.     type plug
  279.     slave.pcm {
  280.         type hw
  281.         card {
  282.             @func getenv
  283.             vars [
  284.                 ALSA_PCM_CARD
  285.                 ALSA_CARD
  286.             ]
  287.             default {
  288.                 @func refer
  289.                 name defaults.pcm.card
  290.             }
  291.         }
  292.         device {
  293.             @func igetenv
  294.             vars [
  295.                 ALSA_PCM_DEVICE
  296.             ]
  297.             default {
  298.                 @func refer
  299.                 name defaults.pcm.device
  300.             }
  301.         }
  302.         subdevice {
  303.             @func refer
  304.             name defaults.pcm.subdevice
  305.         }
  306.     }
  307. }
  308.  
  309. # redirect to load-on-demand extended pcm definitions
  310. pcm.cards cards.pcm
  311. # some links for easy use
  312. pcm.front cards.pcm.front
  313. pcm.rear cards.pcm.rear
  314. pcm.center_lfe cards.pcm.center_lfe
  315. pcm.surround40 cards.pcm.surround40
  316. pcm.surround51 cards.pcm.surround51
  317. pcm.iec958 cards.pcm.iec958
  318. pcm.spdif cards.pcm.iec958
  319.  
  320. #
  321. #  Control interface
  322. #
  323.     
  324. ctl.hw {
  325.     @args[ CARD ]
  326.     @args.CARD {
  327.         type string
  328.         default {
  329.             @func getenv
  330.             vars [
  331.                 ALSA_CTL_CARD
  332.                 ALSA_CARD
  333.             ]
  334.             default {
  335.                 @func refer
  336.                 name defaults.ctl.card
  337.             }
  338.         }
  339.     }
  340.     type hw
  341.     card $CARD
  342. }
  343.  
  344. ctl.shm {
  345.     @args [ SOCKET CTL ]
  346.     @args.SOCKET {
  347.         type string
  348.     }
  349.     @args.CTL {
  350.         type string
  351.     }
  352.     type shm
  353.     server $SOCKET
  354.     ctl $CTL
  355. }
  356.  
  357. ctl.default {
  358.     type hw
  359.     card {
  360.         @func getenv
  361.         vars [
  362.             ALSA_CTL_CARD
  363.             ALSA_CARD
  364.         ]
  365.         default {
  366.             @func refer
  367.             name defaults.ctl.card
  368.         }
  369.     }
  370. }
  371.  
  372. #
  373. #  RawMidi interface
  374. #
  375.  
  376. rawmidi.hw {
  377.     @args [ CARD DEV SUBDEV ]
  378.     @args.CARD {
  379.         type string
  380.         default {
  381.             @func getenv
  382.             vars [
  383.                 ALSA_RAWMIDI_CARD
  384.                 ALSA_CARD
  385.             ]
  386.             default {
  387.                 @func refer
  388.                 name defaults.rawmidi.card
  389.             }
  390.         }
  391.     }
  392.     @args.DEV {
  393.         type integer
  394.         default {
  395.             @func igetenv
  396.             vars [
  397.                 ALSA_RAWMIDI_DEVICE
  398.             ]
  399.             default {
  400.                 @func refer
  401.                 name defaults.rawmidi.device
  402.             }
  403.         }
  404.     }
  405.     @args.SUBDEV {
  406.         type integer
  407.         default -1
  408.     }
  409.     type hw
  410.     card $CARD
  411.     device $DEV
  412.     subdevice $SUBDEV
  413. }
  414.  
  415. rawmidi.default {
  416.     type hw
  417.     card {
  418.         @func getenv
  419.         vars [
  420.             ALSA_RAWMIDI_CARD
  421.             ALSA_CARD
  422.         ]
  423.         default {
  424.             @func refer
  425.             name defaults.rawmidi.card
  426.         }
  427.     }
  428.     device {
  429.         @func igetenv
  430.         vars [
  431.             ALSA_RAWMIDI_DEVICE
  432.         ]
  433.         default {
  434.             @func refer
  435.             name defaults.rawmidi.device
  436.         }
  437.     }
  438. }
  439.  
  440. #
  441. #  Sequencer interface
  442. #
  443.  
  444. seq.default {
  445.     type hw
  446. }
  447.  
  448. seq.hw {
  449.     type hw
  450. }
  451.  
  452. #
  453. #  HwDep interface
  454. #
  455.  
  456. hwdep.hw {
  457.     @args [ CARD DEV ]
  458.     @args.CARD {
  459.         type string
  460.         default {
  461.             @func getenv
  462.             vars [
  463.                 ALSA_HWDEP_CARD
  464.                 ALSA_CARD
  465.             ]
  466.             default {
  467.                 @func refer
  468.                 name defaults.hwdep.card
  469.             }
  470.         }
  471.     }
  472.     @args.DEV {
  473.         type integer
  474.         default {
  475.             @func igetenv
  476.             vars [
  477.                 ALSA_HWDEP_DEVICE
  478.             ]
  479.             default {
  480.                 @func refer
  481.                 name defaults.hwdep.device
  482.             }
  483.         }
  484.     }
  485.     type hw
  486.     card $CARD
  487.     device $DEV
  488. }
  489.  
  490. hwdep.default {
  491.     type hw
  492.     card {
  493.         @func getenv
  494.         vars [
  495.             ALSA_HWDEP_CARD
  496.             ALSA_CARD
  497.         ]
  498.         default {
  499.             @func refer
  500.             name defaults.hwdep.card
  501.         }
  502.     }
  503.     device {
  504.         @func igetenv
  505.         vars [
  506.             ALSA_HWDEP_DEVICE
  507.         ]
  508.         default {
  509.             @func refer
  510.             name defaults.hwdep.device
  511.         }
  512.     }
  513. }
  514.  
  515. #
  516. #  Timer interface
  517. #
  518.  
  519. timer_query.hw {
  520.     type hw
  521. }
  522.  
  523. timer_query.default {
  524.     type hw
  525. }
  526.  
  527. timer.hw {
  528.     @args [ CLASS SCLASS CARD DEV SUBDEV ]
  529.     @args.CLASS {
  530.         type integer
  531.         default {
  532.             @func refer
  533.             name defaults.timer.class
  534.         }
  535.     }
  536.     @args.SCLASS {
  537.         type integer
  538.         default {
  539.             @func refer
  540.             name defaults.timer.sclass
  541.         }
  542.     }
  543.     @args.CARD {
  544.         type string
  545.         default {
  546.             @func refer
  547.             name defaults.timer.card
  548.         }
  549.     }
  550.     @args.DEV {
  551.         type integer
  552.         default {
  553.             @func refer
  554.             name defaults.timer.device
  555.         }
  556.     }
  557.     @args.SUBDEV {
  558.         type integer
  559.         default {
  560.             @func refer
  561.             name defaults.timer.subdevice
  562.         }
  563.     }
  564.     type hw
  565.     class $CLASS
  566.     sclass $SCLASS
  567.     card $CARD
  568.     device $DEV
  569.     subdevice $SUBDEV
  570. }
  571.  
  572. timer.default {
  573.     type hw
  574.     class {
  575.         @func refer
  576.         name defaults.timer.class
  577.     }
  578.     sclass {
  579.         @func refer
  580.         name defaults.timer.sclass
  581.     }
  582.     card {
  583.         @func refer
  584.         name defaults.timer.card
  585.     }
  586.     device {
  587.         @func refer
  588.         name defaults.timer.device
  589.     }
  590.     subdevice {
  591.         @func refer
  592.         name defaults.timer.subdevice
  593.     }
  594. }
  595.