Advertisement
Guest User

Untitled

a guest
Mar 27th, 2013
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 9.57 KB | None | 0 0
  1. #
  2. #  ALSA library configuration file
  3. #
  4.  
  5. # pre-load the configuration files
  6.  
  7. @hooks [
  8.     {
  9.         func load
  10.         files [
  11.             {
  12.                 @func concat
  13.                 strings [
  14.                     { @func datadir }
  15.                     "/alsa.conf.d/"
  16.                 ]
  17.             }
  18.             "/etc/asound.conf"
  19.             "~/.asoundrc"
  20.         ]
  21.         errors false
  22.     }
  23. ]
  24.  
  25. # load card-specific configuration files (on request)
  26.  
  27. cards.@hooks [
  28.     {
  29.         func load
  30.         files [
  31.             {
  32.                 @func concat
  33.                 strings [
  34.                     { @func datadir }
  35.                     "/cards/aliases.conf"
  36.                 ]
  37.             }
  38.         ]
  39.     }
  40.     {
  41.         func load_for_all_cards
  42.         files [
  43.             {
  44.                 @func concat
  45.                 strings [
  46.                     { @func datadir }
  47.                     "/cards/"
  48.                     { @func private_string }
  49.                     ".conf"
  50.                 ]
  51.             }
  52.         ]
  53.         errors false
  54.     }
  55. ]
  56.  
  57. #
  58. # defaults
  59. #
  60.  
  61. # show all name hints also for definitions without hint {} section
  62. defaults.namehint.showall off
  63. # show just basic name hints
  64. defaults.namehint.basic on
  65. # show extended name hints
  66. defaults.namehint.extended off
  67. #
  68. defaults.ctl.card 0
  69. defaults.pcm.card 0
  70. defaults.pcm.device 0
  71. defaults.pcm.subdevice -0
  72. defaults.pcm.nonblock 0
  73. defaults.pcm.compat 0
  74. defaults.pcm.minperiodtime 5000     # in us
  75. defaults.pcm.ipc_key 5678293
  76. defaults.pcm.ipc_gid audio
  77. defaults.pcm.ipc_perm 0660
  78. defaults.pcm.dmix.max_periods 0
  79. defaults.pcm.dmix.rate 48000
  80. defaults.pcm.dmix.format "unchanged"
  81. defaults.pcm.dmix.card defaults.pcm.card
  82. defaults.pcm.dmix.device defaults.pcm.device
  83. defaults.pcm.dsnoop.card defaults.pcm.card
  84. defaults.pcm.dsnoop.device defaults.pcm.device
  85. defaults.pcm.front.card defaults.pcm.card
  86. defaults.pcm.front.device defaults.pcm.device
  87. defaults.pcm.rear.card defaults.pcm.card
  88. defaults.pcm.rear.device defaults.pcm.device
  89. defaults.pcm.center_lfe.card defaults.pcm.card
  90. defaults.pcm.center_lfe.device defaults.pcm.device
  91. defaults.pcm.side.card defaults.pcm.card
  92. defaults.pcm.side.device defaults.pcm.device
  93. defaults.pcm.surround40.card defaults.pcm.card
  94. defaults.pcm.surround40.device defaults.pcm.device
  95. defaults.pcm.surround41.card defaults.pcm.card
  96. defaults.pcm.surround41.device defaults.pcm.device
  97. defaults.pcm.surround50.card defaults.pcm.card
  98. defaults.pcm.surround50.device defaults.pcm.device
  99. defaults.pcm.surround51.card defaults.pcm.card
  100. defaults.pcm.surround51.device defaults.pcm.device
  101. defaults.pcm.surround71.card defaults.pcm.card
  102. defaults.pcm.surround71.device defaults.pcm.device
  103. defaults.pcm.iec958.card defaults.pcm.card
  104. defaults.pcm.iec958.device defaults.pcm.device
  105. defaults.pcm.modem.card defaults.pcm.card
  106. defaults.pcm.modem.device defaults.pcm.device
  107. # truncate files via file or tee PCM
  108. defaults.pcm.file_format    "raw"
  109. defaults.pcm.file_truncate  true
  110. defaults.rawmidi.card 0
  111. defaults.rawmidi.device 0
  112. defaults.rawmidi.subdevice -0
  113. defaults.hwdep.card 0
  114. defaults.hwdep.device 0
  115. defaults.timer.class 2
  116. defaults.timer.sclass 0
  117. defaults.timer.card 0
  118. defaults.timer.device 0
  119. defaults.timer.subdevice 0
  120.  
  121. #
  122. #  PCM interface
  123. #
  124.  
  125. # redirect to load-on-demand extended pcm definitions
  126. pcm.cards cards.pcm
  127.  
  128. pcm.default cards.pcm.default
  129. pcm.sysdefault cards.pcm.default
  130. pcm.front cards.pcm.front
  131. pcm.rear cards.pcm.rear
  132. pcm.center_lfe cards.pcm.center_lfe
  133. pcm.side cards.pcm.side
  134. pcm.surround40 cards.pcm.surround40
  135. pcm.surround41 cards.pcm.surround41
  136. pcm.surround50 cards.pcm.surround50
  137. pcm.surround51 cards.pcm.surround51
  138. pcm.surround71 cards.pcm.surround71
  139. pcm.iec958 cards.pcm.iec958
  140. pcm.spdif iec958
  141. pcm.hdmi cards.pcm.hdmi
  142. pcm.dmix cards.pcm.dmix
  143. pcm.dsnoop cards.pcm.dsnoop
  144. pcm.modem cards.pcm.modem
  145. pcm.phoneline cards.pcm.phoneline
  146.  
  147. pcm.hw {
  148.     @args [ CARD DEV SUBDEV ]
  149.     @args.CARD {
  150.         type string
  151.         default {
  152.             @func getenv
  153.             vars [
  154.                 ALSA_PCM_CARD
  155.                 ALSA_CARD
  156.             ]
  157.             default {
  158.                 @func refer
  159.                 name defaults.pcm.card
  160.             }
  161.         }
  162.     }
  163.     @args.DEV {
  164.         type integer
  165.         default {
  166.             @func igetenv
  167.             vars [
  168.                 ALSA_PCM_DEVICE
  169.             ]
  170.             default {
  171.                 @func refer
  172.                 name defaults.pcm.device
  173.             }
  174.         }
  175.     }
  176.     @args.SUBDEV {
  177.         type integer
  178.         default {
  179.             @func refer
  180.             name defaults.pcm.subdevice
  181.         }
  182.     }      
  183.     type hw
  184.     card $CARD
  185.     device $DEV
  186.     subdevice $SUBDEV
  187.     hint {
  188.         show {
  189.             @func refer
  190.             name defaults.namehint.extended
  191.         }
  192.         description "Direct hardware device without any conversions"
  193.     }
  194. }
  195.  
  196. pcm.plughw {
  197.     @args [ CARD DEV SUBDEV ]
  198.     @args.CARD {
  199.         type string
  200.         default {
  201.             @func getenv
  202.             vars [
  203.                 ALSA_PCM_CARD
  204.                 ALSA_CARD
  205.             ]
  206.             default {
  207.                 @func refer
  208.                 name defaults.pcm.card
  209.             }
  210.         }
  211.     }
  212.     @args.DEV {
  213.         type integer
  214.         default {
  215.             @func igetenv
  216.             vars [
  217.                 ALSA_PCM_DEVICE
  218.             ]
  219.             default {
  220.                 @func refer
  221.                 name defaults.pcm.device
  222.             }
  223.         }
  224.     }
  225.     @args.SUBDEV {
  226.         type integer
  227.         default {
  228.             @func refer
  229.             name defaults.pcm.subdevice
  230.         }
  231.     }      
  232.     type plug
  233.     slave.pcm {
  234.         type hw
  235.         card $CARD
  236.         device $DEV
  237.         subdevice $SUBDEV
  238.     }
  239.     hint {
  240.         show {
  241.             @func refer
  242.             name defaults.namehint.extended
  243.         }
  244.         description "Hardware device with all software conversions"
  245.     }
  246. }
  247.  
  248. pcm.plug {
  249.     @args [ SLAVE ]
  250.     @args.SLAVE {
  251.         type string
  252.     }
  253.     type plug
  254.     slave.pcm $SLAVE
  255. }
  256.  
  257. pcm.shm {
  258.     @args [ SOCKET PCM ]
  259.     @args.SOCKET {
  260.         type string
  261.     }
  262.     @args.PCM {
  263.         type string
  264.     }
  265.     type shm
  266.     server $SOCKET
  267.     pcm $PCM
  268. }
  269.  
  270. pcm.tee {
  271.     @args [ SLAVE FILE FORMAT ]
  272.     @args.SLAVE {
  273.         type string
  274.     }
  275.     @args.FILE {
  276.         type string
  277.     }
  278.     @args.FORMAT {
  279.         type string
  280.         default {
  281.             @func refer
  282.             name defaults.pcm.file_format
  283.         }
  284.     }
  285.     type file
  286.     slave.pcm $SLAVE
  287.     file $FILE
  288.     format $FORMAT
  289.     truncate {
  290.         @func refer
  291.         name defaults.pcm.file_truncate
  292.     }
  293. }
  294.  
  295. pcm.file {
  296.     @args [ FILE FORMAT ]
  297.     @args.FILE {
  298.         type string
  299.     }
  300.     @args.FORMAT {
  301.         type string
  302.         default {
  303.             @func refer
  304.             name defaults.pcm.file_format
  305.         }
  306.     }
  307.     type file
  308.     slave.pcm null
  309.     file $FILE
  310.     format $FORMAT
  311.     truncate {
  312.         @func refer
  313.         name defaults.pcm.file_truncate
  314.     }
  315. }
  316.  
  317. pcm.null {
  318.     type null
  319.     hint {
  320.         show {
  321.             @func refer
  322.             name defaults.namehint.basic
  323.         }
  324.         description "Discard all samples (playback) or generate zero samples (capture)"
  325.     }
  326. }
  327.  
  328. #
  329. #  Control interface
  330. #
  331.    
  332. ctl.sysdefault {
  333.     type hw
  334.     card {
  335.         @func getenv
  336.         vars [
  337.             ALSA_CTL_CARD
  338.             ALSA_CARD
  339.         ]
  340.         default {
  341.             @func refer
  342.             name defaults.ctl.card
  343.         }
  344.     }
  345. }
  346. ctl.default ctl.sysdefault
  347.  
  348. ctl.hw {
  349.     @args [ CARD ]
  350.     @args.CARD {
  351.         type string
  352.         default {
  353.             @func getenv
  354.             vars [
  355.                 ALSA_CTL_CARD
  356.                 ALSA_CARD
  357.             ]
  358.             default {
  359.                 @func refer
  360.                 name defaults.ctl.card
  361.             }
  362.         }
  363.     }
  364.     type hw
  365.     card $CARD
  366. }
  367.  
  368. ctl.shm {
  369.     @args [ SOCKET CTL ]
  370.     @args.SOCKET {
  371.         type string
  372.     }
  373.     @args.CTL {
  374.         type string
  375.     }
  376.     type shm
  377.     server $SOCKET
  378.     ctl $CTL
  379. }
  380.  
  381. #
  382. #  RawMidi interface
  383. #
  384.  
  385. rawmidi.default {
  386.     type hw
  387.     card {
  388.         @func getenv
  389.         vars [
  390.             ALSA_RAWMIDI_CARD
  391.             ALSA_CARD
  392.         ]
  393.         default {
  394.             @func refer
  395.             name defaults.rawmidi.card
  396.         }
  397.     }
  398.     device {
  399.         @func igetenv
  400.         vars [
  401.             ALSA_RAWMIDI_DEVICE
  402.         ]
  403.         default {
  404.             @func refer
  405.             name defaults.rawmidi.device
  406.         }
  407.     }
  408. }
  409.  
  410. rawmidi.hw {
  411.     @args [ CARD DEV SUBDEV ]
  412.     @args.CARD {
  413.         type string
  414.         default {
  415.             @func getenv
  416.             vars [
  417.                 ALSA_RAWMIDI_CARD
  418.                 ALSA_CARD
  419.             ]
  420.             default {
  421.                 @func refer
  422.                 name defaults.rawmidi.card
  423.             }
  424.         }
  425.     }
  426.     @args.DEV {
  427.         type integer
  428.         default {
  429.             @func igetenv
  430.             vars [
  431.                 ALSA_RAWMIDI_DEVICE
  432.             ]
  433.             default {
  434.                 @func refer
  435.                 name defaults.rawmidi.device
  436.             }
  437.         }
  438.     }
  439.     @args.SUBDEV {
  440.         type integer
  441.         default -1
  442.     }
  443.     type hw
  444.     card $CARD
  445.     device $DEV
  446.     subdevice $SUBDEV
  447.     hint {
  448.         description "Direct rawmidi driver device"
  449.         device $DEV
  450.     }
  451. }
  452.  
  453. rawmidi.virtual {
  454.     @args [ MERGE ]
  455.     @args.MERGE {
  456.         type string
  457.         default 1
  458.     }
  459.     type virtual
  460.     merge $MERGE
  461. }
  462.  
  463. #
  464. #  Sequencer interface
  465. #
  466.  
  467. seq.default {
  468.     type hw
  469. }
  470.  
  471. seq.hw {
  472.     type hw
  473. }
  474.  
  475. #
  476. #  HwDep interface
  477. #
  478.  
  479. hwdep.default {
  480.     type hw
  481.     card {
  482.         @func getenv
  483.         vars [
  484.             ALSA_HWDEP_CARD
  485.             ALSA_CARD
  486.         ]
  487.         default {
  488.             @func refer
  489.             name defaults.hwdep.card
  490.         }
  491.     }
  492.     device {
  493.         @func igetenv
  494.         vars [
  495.             ALSA_HWDEP_DEVICE
  496.         ]
  497.         default {
  498.             @func refer
  499.             name defaults.hwdep.device
  500.         }
  501.     }
  502. }
  503.  
  504. hwdep.hw {
  505.     @args [ CARD DEV ]
  506.     @args.CARD {
  507.         type string
  508.         default {
  509.             @func getenv
  510.             vars [
  511.                 ALSA_HWDEP_CARD
  512.                 ALSA_CARD
  513.             ]
  514.             default {
  515.                 @func refer
  516.                 name defaults.hwdep.card
  517.             }
  518.         }
  519.     }
  520.     @args.DEV {
  521.         type integer
  522.         default {
  523.             @func igetenv
  524.             vars [
  525.                 ALSA_HWDEP_DEVICE
  526.             ]
  527.             default {
  528.                 @func refer
  529.                 name defaults.hwdep.device
  530.             }
  531.         }
  532.     }
  533.     type hw
  534.     card $CARD
  535.     device $DEV
  536. }
  537.  
  538. #
  539. #  Timer interface
  540. #
  541.  
  542. timer_query.default {
  543.     type hw
  544. }
  545.  
  546. timer_query.hw {
  547.     type hw
  548. }
  549.  
  550. timer.default {
  551.     type hw
  552.     class {
  553.         @func refer
  554.         name defaults.timer.class
  555.     }
  556.     sclass {
  557.         @func refer
  558.         name defaults.timer.sclass
  559.     }
  560.     card {
  561.         @func refer
  562.         name defaults.timer.card
  563.     }
  564.     device {
  565.         @func refer
  566.         name defaults.timer.device
  567.     }
  568.     subdevice {
  569.         @func refer
  570.         name defaults.timer.subdevice
  571.     }
  572.     hint.description "Default direct hardware timer device"
  573. }
  574.  
  575. timer.hw {
  576.     @args [ CLASS SCLASS CARD DEV SUBDEV ]
  577.     @args.CLASS {
  578.         type integer
  579.         default {
  580.             @func refer
  581.             name defaults.timer.class
  582.         }
  583.     }
  584.     @args.SCLASS {
  585.         type integer
  586.         default {
  587.             @func refer
  588.             name defaults.timer.sclass
  589.         }
  590.     }
  591.     @args.CARD {
  592.         type string
  593.         default {
  594.             @func refer
  595.             name defaults.timer.card
  596.         }
  597.     }
  598.     @args.DEV {
  599.         type integer
  600.         default {
  601.             @func refer
  602.             name defaults.timer.device
  603.         }
  604.     }
  605.     @args.SUBDEV {
  606.         type integer
  607.         default {
  608.             @func refer
  609.             name defaults.timer.subdevice
  610.         }
  611.     }
  612.     type hw
  613.     class $CLASS
  614.     sclass $SCLASS
  615.     card $CARD
  616.     device $DEV
  617.     subdevice $SUBDEV
  618. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement