1#
2# Configuration for the Audigy2 chip
3#
4
5<confdir:pcm/front.conf>
6
7Audigy2.pcm.front.0 {
8	@args [ CARD ]
9	@args.CARD {
10		type string
11	}
12	type hooks
13	slave.pcm {
14		type hw
15		card $CARD
16	}
17	hooks.0 {
18		type ctl_elems
19		hook_args [
20			{
21				interface PCM
22				name "EMU10K1 PCM Send Volume"
23				index { @func private_pcm_subdevice }
24				lock true
25				optional true
26				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
27			}
28			{
29				# for compatibility with older drivers
30				name "EMU10K1 PCM Send Volume"
31				index { @func private_pcm_subdevice }
32				lock true
33				optional true
34				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
35			}
36			{
37				interface PCM
38				name "EMU10K1 PCM Send Routing"
39				index { @func private_pcm_subdevice }
40				lock true
41				optional true
42				value [ 8 9 0 0 0 0 0 0  8 9 0 0 0 0 0 0  8 9 0 0 0 0 0 0 ]
43			}
44			{
45				# for compatibility with older drivers
46				name "EMU10K1 PCM Send Routing"
47				index { @func private_pcm_subdevice }
48				lock true
49				optional true
50				value [ 8 9 0 0 0 0 0 0  8 9 0 0 0 0 0 0  8 9 0 0 0 0 0 0 ]
51			}
52
53		]
54	}
55}	
56
57<confdir:pcm/rear.conf>
58
59Audigy2.pcm.rear.0 {
60	@args [ CARD ]
61	@args.CARD {
62		type string
63	}
64	type hooks
65	slave.pcm {
66		type hw
67		card $CARD
68	}
69	hooks.0 {
70		type ctl_elems
71		hook_args [
72			{
73				interface PCM
74				name "EMU10K1 PCM Send Volume"
75				index { @func private_pcm_subdevice }
76				lock true
77				optional true
78				value [ 0 0 255 255 0 0 0 0  0 0 255 0 0 0 0 0  0 0 0 255 0 0 0 0 ]
79			}
80			{
81				# for compatibility with older drivers
82				name "EMU10K1 PCM Send Volume"
83				index { @func private_pcm_subdevice }
84				lock true
85				optional true
86				value [ 0 0 255 255 0 0 0 0  0 0 255 0 0 0 0 0  0 0 0 255 0 0 0 0 ]
87			}
88		]
89	}
90}	
91
92<confdir:pcm/center_lfe.conf>
93
94Audigy2.pcm.center_lfe.0 {
95	@args [ CARD ]
96	@args.CARD {
97		type string
98	}
99	type hooks
100	slave.pcm {
101		type hw
102		card $CARD
103	}
104	hooks.0 {
105		type ctl_elems
106		hook_args [
107			{
108				interface PCM
109				name "EMU10K1 PCM Send Volume"
110				index { @func private_pcm_subdevice }
111				lock true
112				optional true
113				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
114			}
115			{
116				# for compatibility with older drivers
117				name "EMU10K1 PCM Send Volume"
118				index { @func private_pcm_subdevice }
119				lock true
120				optional true
121				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
122			}
123			{
124				interface PCM
125				name "EMU10K1 PCM Send Routing"
126				index { @func private_pcm_subdevice }
127				lock true
128				optional true
129				value [ 6 7 0 0 0 0 0 0  6 7 0 0 0 0 0 0  6 7 0 0 0 0 0 0 ]
130			}
131			{
132				# for compatibility with older drivers
133				name "EMU10K1 PCM Send Routing"
134				index { @func private_pcm_subdevice }
135				lock true
136				optional true
137				value [ 6 7 0 0 0 0 0 0  6 7 0 0 0 0 0 0  6 7 0 0 0 0 0 0 ]
138			}
139		]
140	}
141}
142
143<confdir:pcm/side.conf>
144
145Audigy2.pcm.side.0 {
146	@args [ CARD ]
147	@args.CARD {
148		type string
149	}
150	type hooks
151	slave.pcm {
152		type hw
153		card $CARD
154	}
155	hooks.0 {
156		type ctl_elems
157		hook_args [
158			{
159				interface PCM
160				name "EMU10K1 PCM Send Volume"
161				index { @func private_pcm_subdevice }
162				lock true
163				optional true
164				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
165			}
166			{
167				# for compatibility with older drivers
168				name "EMU10K1 PCM Send Volume"
169				index { @func private_pcm_subdevice }
170				lock true
171				optional true
172				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
173			}
174			{
175				interface PCM
176				name "EMU10K1 PCM Send Routing"
177				index { @func private_pcm_subdevice }
178				lock true
179				optional true
180				value [ 14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0 ]
181			}
182			{
183				# for compatibility with older drivers
184				name "EMU10K1 PCM Send Routing"
185				index { @func private_pcm_subdevice }
186				lock true
187				optional true
188				value [ 14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0  14 15 0 0 0 0 0 0 ]
189			}
190		]
191	}
192}
193
194<confdir:pcm/surround40.conf>
195<confdir:pcm/surround41.conf>
196<confdir:pcm/surround50.conf>
197
198Audigy2.pcm.surround40.0 {
199	@args [ CARD ]
200	@args.CARD {
201		type string
202	}
203	type multi
204	slaves [
205		{
206			pcm {
207				@func concat
208				strings [
209					"cards.Audigy2.pcm.front.0:CARD=" $CARD
210				]
211			}
212			channels 2
213		}
214		{
215			pcm {
216				@func concat
217				strings [
218					"cards.Audigy2.pcm.rear.0:CARD=" $CARD
219				]
220			}
221			channels 2
222		}
223	]
224	bindings [
225		{ slave 0 channel 0 }
226		{ slave 0 channel 1 }
227		{ slave 1 channel 0 }
228		{ slave 1 channel 1 }
229	]
230}
231
232<confdir:pcm/surround51.conf>
233
234Audigy2.pcm.surround51.0 {
235	@args [ CARD ]
236	@args.CARD {
237		type string
238	}
239	type multi
240	slaves [
241		{
242			pcm {
243				@func concat
244				strings [
245					"cards.Audigy2.pcm.front.0:CARD=" $CARD
246				]
247			}
248			channels 2
249		}
250		{
251			pcm {
252				@func concat
253				strings [
254					"cards.Audigy2.pcm.rear.0:CARD=" $CARD
255				]
256			}
257			channels 2
258		}
259		{
260			pcm {
261				@func concat
262				strings [
263					"cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD
264				]
265			}
266			channels 2
267		}
268	]
269	bindings [
270		{ slave 0 channel 0 }
271		{ slave 0 channel 1 }
272		{ slave 1 channel 0 }
273		{ slave 1 channel 1 }
274		{ slave 2 channel 0 }
275		{ slave 2 channel 1 }
276	]
277}
278
279<confdir:pcm/surround71.conf>
280
281Audigy2.pcm.surround71.0 {
282	@args [ CARD ]
283	@args.CARD {
284		type string
285	}
286	type multi
287	slaves [
288		{
289			pcm {
290				@func concat
291				strings [
292					"cards.Audigy2.pcm.front.0:CARD=" $CARD
293				]
294			}
295			channels 2
296		}
297		{
298			pcm {
299				@func concat
300				strings [
301					"cards.Audigy2.pcm.rear.0:CARD=" $CARD
302				]
303			}
304			channels 2
305		}
306		{
307			pcm {
308				@func concat
309				strings [
310					"cards.Audigy2.pcm.center_lfe.0:CARD=" $CARD
311				]
312			}
313			channels 2
314		}
315		{
316			pcm {
317				@func concat
318				strings [
319					"cards.Audigy2.pcm.side.0:CARD=" $CARD
320				]
321			}
322			channels 2
323		}
324	]
325	bindings [
326		{ slave 0 channel 0 }
327		{ slave 0 channel 1 }
328		{ slave 1 channel 0 }
329		{ slave 1 channel 1 }
330		{ slave 2 channel 0 }
331		{ slave 2 channel 1 }
332		{ slave 3 channel 0 }
333		{ slave 3 channel 1 }
334	]
335}
336
337<confdir:pcm/iec958.conf>
338
339Audigy2.pcm.iec958.0 {
340	@args [ CARD AES0 AES1 AES2 AES3 ]
341	@args.CARD {
342		type string
343	}
344	@args.AES0 {
345		type integer
346	}
347	@args.AES1 {
348		type integer
349	}
350	@args.AES2 {
351		type integer
352	}
353	@args.AES3 {
354		type integer
355	}
356	type hooks
357	slave.pcm {
358		type hw
359		card $CARD
360	}
361
362	hooks.0 {
363		type ctl_elems
364		hook_args [
365			{
366				interface PCM
367				name "IEC958 Playback Default"
368				preserve true
369				optional true
370				value [ $AES0 $AES1 $AES2 $AES3 ]
371			}
372			{
373				# for compatibility with older drivers
374				name "IEC958 Playback Default"
375				preserve true
376				optional true
377				value [ $AES0 $AES1 $AES2 $AES3 ]
378			}
379			{
380				name "IEC958 Optical Raw Playback Switch"
381				lock true
382				preserve true
383				value [ 1 1 ]
384			}
385			{
386				interface PCM
387				name "EMU10K1 PCM Send Volume"
388				index { @func private_pcm_subdevice }
389				lock true
390				optional true
391				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
392			}
393			{
394				# for compatibility with older drivers
395				name "EMU10K1 PCM Send Volume"
396				index { @func private_pcm_subdevice }
397				lock true
398				optional true
399				value [ 255 255 0 0 0 0 0 0  255 0 0 0 0 0 0 0  0 255 0 0 0 0 0 0 ]
400			}
401			{
402				interface PCM
403				name "EMU10K1 PCM Send Routing"
404				index { @func private_pcm_subdevice }
405				lock true
406				optional true
407				value [ 20 21 0 0 0 0 0 0  20 21 0 0 0 0 0 0   20 21 0 0 0 0 0 0 ]
408			}
409			{
410				# for compatibility with older drivers
411				name "EMU10K1 PCM Send Routing"
412				index { @func private_pcm_subdevice }
413				lock true
414				optional true
415				value [ 20 21 0 0 0 0 0 0  20 21 0 0 0 0 0 0   20 21 0 0 0 0 0 0 ]
416			}
417			{
418				name "Audigy Analog/Digital Output Jack"
419				lock true
420				preserve true
421				value 1
422			}
423		]
424	}
425}
426