logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

alsa.conf (10119B)


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