Advertisement
Guest User

Untitled

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