Ticket #197: alsa.conf

File alsa.conf, 8.2 KB (added by stranche@…, 14 years ago)

completely untouched alsa.conf (Fedora Core 3 on a AMD64 with SB-Live platinium)

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