Advertisement
KaeruCT

Alsa config

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