add system files
[GitHub/Stricted/sm-g903f-system.git] / usr / share / alsa / alsa.conf
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 }