perex 2a14aa
From c1bc8d61ddcdd0a569b3b12ff5ff1f6df79e0e15 Mon Sep 17 00:00:00 2001
perex 2a14aa
From: Jaroslav Kysela <perex@perex.cz>
perex 2a14aa
Date: Thu, 5 Feb 2009 12:58:42 +0100
perex 2a14aa
Subject: [PATCH] alsactl: init - modify default rule to better support some HDA codecs
perex 2a14aa
perex 2a14aa
Some HDA codecs have shifted dB range (-34.5dB - 12dB) for PCM and CD
perex 2a14aa
inputs. Use default 0dB value for them.
perex 2a14aa
perex 2a14aa
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
perex 2a14aa
---
perex 2a14aa
 alsactl/init/default |   32 +++++++++++++++++++++-----------
perex 2a14aa
 1 files changed, 21 insertions(+), 11 deletions(-)
perex 2a14aa
perex 2a14aa
diff --git a/alsactl/init/default b/alsactl/init/default
perex 2a14aa
index 66692b3..e2dcfd6 100644
perex 2a14aa
--- a/alsactl/init/default
perex 2a14aa
+++ b/alsactl/init/default
perex 2a14aa
@@ -11,6 +11,7 @@
perex 2a14aa
 # **************************************************************************
perex 2a14aa
 
perex 2a14aa
 ENV{volume}:="-20dB"
perex 2a14aa
+ENV{cvolume}:="12dB"
perex 2a14aa
 
perex 2a14aa
 CTL{reset}="mixer"
perex 2a14aa
 CTL{name}="Playback Volume",PROGRAM=="__ctl_search", \
perex 2a14aa
@@ -55,14 +56,21 @@ CTL{name}="PC Speaker Playback Switch",PROGRAM=="__ctl_search", \
perex 2a14aa
   CTL{values}="on"
perex 2a14aa
 
perex 2a14aa
 CTL{reset}="mixer"
perex 2a14aa
-CTL{name}="PCM Playback Volume",PROGRAM=="__ctl_search", \
perex 2a14aa
-  CTL{values}="$env{volume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
+CTL{name}="PCM Playback Volume",PROGRAM!="__ctl_search",GOTO="pcm0_end"
perex 2a14aa
+# exception - some HDA codecs have shifted dB range
perex 2a14aa
+CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{values}="0dB",GOTO="pcm0_end"
perex 2a14aa
+CTL{values}="$env{volume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
+LABEL="pcm0_end"
perex 2a14aa
 CTL{name}="PCM Playback Switch",PROGRAM=="__ctl_search", \
perex 2a14aa
   CTL{values}="on"
perex 2a14aa
 
perex 2a14aa
 CTL{reset}="mixer"
perex 2a14aa
-CTL{name}="PCM Playback Volume",CTL{index}="1",PROGRAM=="__ctl_search", \
perex 2a14aa
-  CTL{values}="$env{volume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
+CTL{name}="PCM Playback Volume",CTL{index}="1",PROGRAM!="__ctl_search", \
perex 2a14aa
+  GOTO="pcm1_end"
perex 2a14aa
+# exception - some HDA codecs have shifted dB range
perex 2a14aa
+CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{values}="0dB",GOTO="pcm1_end"
perex 2a14aa
+CTL{values}="$env{volume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
+LABEL="pcm1_end"
perex 2a14aa
 CTL{name}="PCM Playback Switch",CTL{index}="1",PROGRAM=="__ctl_search", \
perex 2a14aa
   CTL{values}="on"
perex 2a14aa
 
perex 2a14aa
@@ -91,8 +99,11 @@ CTL{name}="Music Playback Switch",PROGRAM=="__ctl_search", \
perex 2a14aa
   CTL{values}="on"
perex 2a14aa
 
perex 2a14aa
 CTL{reset}="mixer"
perex 2a14aa
-CTL{name}="CD Playback Volume",PROGRAM=="__ctl_search", \
perex 2a14aa
-  CTL{values}="$env{volume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
+CTL{name}="CD Playback Volume",PROGRAM!="__ctl_search", GOTO="cd0_end"
perex 2a14aa
+# exception - some HDA codecs have shifted dB range
perex 2a14aa
+CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{values}="0dB",GOTO="cd0_end"
perex 2a14aa
+CTL{values}="$env{volume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
+LABEL="cd0_end"
perex 2a14aa
 CTL{name}="CD Playback Switch",PROGRAM=="__ctl_search", \
perex 2a14aa
   CTL{values}="on"
perex 2a14aa
 
perex 2a14aa
@@ -130,15 +141,14 @@ ENV{volume}:="20dB"
perex 2a14aa
 
perex 2a14aa
 CTL{reset}="mixer"
perex 2a14aa
 CTL{name}="Capture Volume",PROGRAM=="__ctl_search", \
perex 2a14aa
-  CTL{values}="$env{volume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
+  CTL{values}="$env{cvolume}",RESULT!="0",CTL{values}="75%"
perex 2a14aa
 CTL{name}="Capture Switch",PROGRAM=="__ctl_search", \
perex 2a14aa
   CTL{values}="on"
perex 2a14aa
 
perex 2a14aa
-CTL{name}="Input Source",PROGRAM=="__ctl_search", \
perex 2a14aa
-  CTL{enums}=="*|Internal Mic|*",CTL{values}="Internal Mic", \
perex 2a14aa
+CTL{name}="Input Source",PROGRAM!="__ctl_search", GOTO="end_input_source"
perex 2a14aa
+CTL{enums}=="*|Internal Mic|*",CTL{values}="Internal Mic", \
perex 2a14aa
   GOTO="end_input_source"
perex 2a14aa
-CTL{name}="Input Source",PROGRAM=="__ctl_search", \
perex 2a14aa
-  CTL{enums}=="*|Mic|*",CTL{values}="Mic"
perex 2a14aa
+CTL{enums}=="*|Mic|*",CTL{values}="Mic"
perex 2a14aa
 LABEL="end_input_source"
perex 2a14aa
 
perex 2a14aa
 CTL{name}="Internal Mic Boost",PROGRAM=="__ctl_search", \
perex 2a14aa
-- 
perex 2a14aa
1.5.5.1
perex 2a14aa