All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] EMU10K1.conf
@ 2003-12-27  0:31 Dominik 'Aeneas' Schnitzer
  2004-01-05 16:51 ` Takashi Iwai
  0 siblings, 1 reply; 6+ messages in thread
From: Dominik 'Aeneas' Schnitzer @ 2003-12-27  0:31 UTC (permalink / raw)
  To: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 1348 bytes --]

Hi,

I finally got my emu10k1 soundcard working with full 5.1 surround :-)

It took me 2 days, getting alsa to know and sound working properly. I
finally found out that /usr/share/alsa/cards/EMU10K1.conf was b0rked and
modified it so everything now works properly. Things which prevented it
from working properly were:

 - Rear/Center&&LFE Volume Controls in the config file were set to 0 and
locked!..

 - surround51 was statically bound to the non-digital output and locked
(to the analogue output), so there was no way to get surround sound on
my digital-out.

 - other volume controls were locked too, I had a look at Audigy.conf
and reduced the locked controls to the minimum required.


The patch attached for /usr/share/alsa/cards/EMU10K1.conf is actually
very trivial and a cleanup of the old file, it would be cool if you'd
apply the patch to the ALSA config file in CVS, I'm sure it would help a
lot of people which have no rear sound with the emu10k1.


/me now leans back and enjoys alsa and Lord Of The Rings II Extended
Version in _FULL_ Digital Dolby 5.1 :))))

best wishes,
dominik.
-- 
Dominik 'Aeneas' Schnitzer <dominik@schnitzer.at>
http://www.schnitzer.at/dominik/ - Update 03/08/31: Birthday Party

PGP Fingerprint: E839 B9EA F518 899D AA35  BB67 0DBF 7AB2 5FE6 525A
PGP Public Key: http://www.schnitzer.at/dominik/public.key

[-- Attachment #2: EMU10K1.conf --]
[-- Type: text/plain, Size: 2893 bytes --]

#
# Configuration for the EMU10K1 chip
#

<confdir:pcm/front.conf>

EMU10K1.pcm.front.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
	device 0
}

<confdir:pcm/rear.conf>

EMU10K1.pcm.rear.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hooks
	slave.pcm {
		type hw
		card $CARD
		device 0
	}
	hooks.0 {
		type ctl_elems
		hook_args [
			{
				name "EMU10K1 PCM Send Volume"
				index { @func private_pcm_subdevice }
				lock true
				value [ 0 0 0 0 0 0 255 0 0 0 0 255 ]
			}
		]
	}
}	

<confdir:pcm/center_lfe.conf>

EMU10K1.pcm.center_lfe.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hooks
	slave.pcm {
		type hw
		card $CARD
		device 0
	}
	hooks.0 {
		type ctl_elems
		hook_args [
			{
				name "EMU10K1 PCM Send Volume"
				index { @func private_pcm_subdevice }
				lock true
				value [ 0 0 0 0 255 0 0 0 0 255 0 0 ]
			}
			{
				name "EMU10K1 PCM Send Routing"
				index { @func private_pcm_subdevice }
				lock true
				value [ 0 1 2 3 6 7 0 1 6 7 0 1 ]
			}
		]
	}
}	

<confdir:pcm/surround40.conf>

EMU10K1.pcm.surround40.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type multi
	slaves [
		{
			pcm {
				@func concat
				strings [
					"cards.EMU10K1.pcm.front.0:CARD=" $CARD
				]
			}
			channels 2
		}
		{
			pcm {
				@func concat
				strings [
					"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
				]
			}
			channels 2
		}
	]
	bindings [
		{ slave 0 channel 0 }
		{ slave 0 channel 1 }
		{ slave 1 channel 0 }
		{ slave 1 channel 1 }
	]
}

<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>

EMU10K1.pcm.surround51.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type multi
	slaves [
		{
			pcm {
				@func concat
				strings [
					"cards.EMU10K1.pcm.front.0:CARD=" $CARD
				]
			}
			channels 2
		}
		{
			pcm {
				@func concat
				strings [
					"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
				]
			}
			channels 2
		}
		{
			pcm {
				@func concat
				strings [
					"cards.EMU10K1.pcm.center_lfe.0:CARD=" $CARD
				]
			}
			channels 2
		}
	]
	bindings [
		{ slave 0 channel 0 }
		{ slave 0 channel 1 }
		{ slave 1 channel 0 }
		{ slave 1 channel 1 }
		{ slave 2 channel 0 }
		{ slave 2 channel 1 }
	]
}

<confdir:pcm/iec958.conf>

EMU10K1.pcm.iec958.0 {
	@args [ CARD AES0 AES1 AES2 AES3 ]
	@args.CARD {
		type string
	}
	@args.AES0 {
		type integer
	}
	@args.AES1 {
		type integer
	}
	@args.AES2 {
		type integer
	}
	@args.AES3 {
		type integer
	}
	type hooks
	slave.pcm {
		type hw
		card $CARD
		device 3
	}
	hooks.0 {
		type ctl_elems
		hook_args [
			{
				name "IEC958 Playback Default"
				lock true
				preserve true
				value [ $AES0 $AES1 $AES2 $AES3 ]
			}
			{
				name "IEC958 Optical Raw Playback Switch"
				lock true
				preserve true
				value [ 1 1 ]
			}
			{
				name "SB Live Analog/Digital Output Jack"
				lock true
				preserve true
				value 1
			}
		]
	}
}

[-- Attachment #3: EMU10K1-conf.patch --]
[-- Type: text/x-patch, Size: 1148 bytes --]

--- EMU10K1.conf.orig	2003-12-25 23:57:56.000000000 +0100
+++ EMU10K1.conf	2003-12-27 01:02:00.000000000 +0100
@@ -12,7 +12,7 @@
 	type hw
 	card $CARD
 	device 0
-}	
+}
 
 <confdir:pcm/rear.conf>
 
@@ -31,12 +31,6 @@
 		type ctl_elems
 		hook_args [
 			{
-				name "Wave Surround Playback Volume"
-				preserve true
-				lock true
-				value [ 0 0 ]
-			}
-			{
 				name "EMU10K1 PCM Send Volume"
 				index { @func private_pcm_subdevice }
 				lock true
@@ -63,38 +57,6 @@
 		type ctl_elems
 		hook_args [
 			{
-				name "Wave Center Playback Volume"
-				preserve true
-				lock true
-				value 0
-			}
-			{
-				name "Wave LFE Playback Volume"
-				preserve true
-				lock true
-				value 0
-			}
-			{
-				name "Headphone Center Playback Switch"
-				index 1
-				preserve true
-				lock true
-				value true
-			}
-			{
-				name "Headphone LFE Playback Switch"
-				index 1
-				preserve true
-				lock true
-				value true
-			}
-			{
-				name "SB Live Analog/Digital Output Jack"
-				preserve true
-				lock true
-				value 0
-			}
-			{
 				name "EMU10K1 PCM Send Volume"
 				index { @func private_pcm_subdevice }
 				lock true

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-01-07 18:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-27  0:31 [PATCH] EMU10K1.conf Dominik 'Aeneas' Schnitzer
2004-01-05 16:51 ` Takashi Iwai
2004-01-06 11:23   ` Dominik 'Aeneas' Schnitzer
2004-01-07 17:07     ` Takashi Iwai
2004-01-07 17:50       ` Dominik 'Aeneas' Schnitzer
2004-01-07 18:09         ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.