All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dominik 'Aeneas' Schnitzer <dominik@schnitzer.at>
To: alsa-devel@lists.sourceforge.net
Subject: [PATCH] EMU10K1.conf
Date: Sat, 27 Dec 2003 01:31:52 +0100	[thread overview]
Message-ID: <1072485112.2477.35.camel@blackhole> (raw)

[-- 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

             reply	other threads:[~2003-12-27  0:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-27  0:31 Dominik 'Aeneas' Schnitzer [this message]
2004-01-05 16:51 ` [PATCH] EMU10K1.conf 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1072485112.2477.35.camel@blackhole \
    --to=dominik@schnitzer.at \
    --cc=alsa-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.