From 4efa89b7e48071b6ef05b72ac116442a0ea21653 Mon Sep 17 00:00:00 2001 From: perex Date: Sep 07 2009 11:50:10 +0000 Subject: alsa-utils: add speaker initialization --- diff --git a/alsa-utils.spec b/alsa-utils.spec index a7c9d17..770413c 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -4,7 +4,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: 1.0.21 -Release: 1%{?prever_dot}%{?dist} +Release: 2%{?prever_dot}%{?dist} License: GPLv2+ Group: Applications/Multimedia URL: http://www.alsa-project.org/ @@ -14,6 +14,7 @@ Source6: alsa-info.sh Source10: alsa.rules Source11: alsactl.conf Patch1: alsactl-init-fix-headphone2.patch +Patch2: alsactl-init-add-speaker.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel >= %{version} BuildRequires: ncurses-devel @@ -28,6 +29,7 @@ Architecture (ALSA). %prep %setup -q -n %{name}-%{version}%{?prever} %patch1 -p1 -b .headphone +%patch2 -p1 -b .speaker %build %configure CFLAGS="$RPM_OPT_FLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" --sbindir=/sbin --disable-alsaconf diff --git a/alsactl-init-add-speaker.patch b/alsactl-init-add-speaker.patch new file mode 100644 index 0000000..bb8ef38 --- /dev/null +++ b/alsactl-init-add-speaker.patch @@ -0,0 +1,83 @@ +From e02f8e8aba21357eacce483bd46106624863c5a3 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Wed, 12 Aug 2009 12:45:05 +0200 +Subject: [PATCH] alsactl - Initialize Speaker volume to 0dB when Master is present + +Initialize Speaker volume to 0dB as well as Headphone when Master +is present. Also initialize Headphone,1 for machines with dual +headphones. + +Signed-off-by: Takashi Iwai +--- + alsactl/init/default | 27 +++++++++++++++++++++------ + 1 files changed, 21 insertions(+), 6 deletions(-) + +diff --git a/alsactl/init/default b/alsactl/init/default +index f2c0539..a2069e3 100644 +--- a/alsactl/init/default ++++ b/alsactl/init/default +@@ -39,7 +39,7 @@ CTL{reset}="mixer" + CTL{name}="Front Playback Volume",PROGRAM!="__ctl_search",GOTO="front0_end" + # if master volume control is present, turn front volume to max + ENV{has_pmaster_vol}=="true",CTL{values}="0dB",RESULT=="0",GOTO="front0_end" +-ENV{has_pmaster_vol}=="true",CTL{values)="100%",GOTO="front0_end" ++ENV{has_pmaster_vol}=="true",CTL{values}="100%",GOTO="front0_end" + CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" + LABEL="front0_end" + CTL{name}="Front Playback Switch",PROGRAM=="__ctl_search", \ +@@ -56,8 +56,23 @@ CTL{name}="Headphone Playback Switch",PROGRAM=="__ctl_search", \ + CTL{values}="on" + + CTL{reset}="mixer" +-CTL{name}="Speaker Playback Volume",PROGRAM=="__ctl_search", \ +- CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++CTL{name}="Headphone Playback Volume",CTL{index}="1",PROGRAM!="__ctl_search",\ ++ GOTO="headphone1_end" ++# if master volume control is present, turn headphone volume to max ++ENV{has_pmaster_vol}=="true",CTL{values}="0dB",RESULT=="0",GOTO="headphone1_end" ++ENV{has_pmaster_vol}=="true",CTL{values}="100%",GOTO="headphone1_end" ++CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++LABEL="headphone1_end" ++CTL{name}="Headphone Playback Switch",CTL{index}="1",PROGRAM=="__ctl_search", \ ++ CTL{values}="on" ++ ++CTL{reset}="mixer" ++CTL{name}="Sepaker Playback Volume",PROGRAM!="__ctl_search",GOTO="speaker0_end" ++# if master volume control is present, turn speaker volume to max ++ENV{has_pmaster_vol}=="true",CTL{values}="0dB",RESULT=="0",GOTO="speaker0_end" ++ENV{has_pmaster_vol}=="true",CTL{values}="100%",GOTO="speaker0_end" ++CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}" ++LABEL="speaker0_end" + CTL{name}="Speaker Playback Switch",PROGRAM=="__ctl_search", \ + CTL{values}="on" + +@@ -72,7 +87,7 @@ CTL{name}="PCM Playback Volume",PROGRAM!="__ctl_search", \ + CTL{name}="PCM Volume",PROGRAM!="__ctl_search", GOTO="pcm0_end" + # if master volume control is present, turn PCM volume to max + ENV{has_pmaster_vol}=="true",CTL{values}="0dB",RESULT=="0",GOTO="pcm0_end" +-ENV{has_pmaster_vol}=="true",CTL{values)="100%",GOTO="pcm0_end" ++ENV{has_pmaster_vol}=="true",CTL{values}="100%",GOTO="pcm0_end" + # exception - some HDA codecs have shifted dB range + CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{values}="0dB",GOTO="pcm0_end" + CTL{dBmin}=="-30.00dB",CTL{dBmax}=="0dB",CTL{values}="0dB",GOTO="pcm0_end" +@@ -86,7 +101,7 @@ CTL{name}="PCM Playback Volume",CTL{index}="1",PROGRAM!="__ctl_search", \ + CTL{name}="PCM Volume",PROGRAM!="__ctl_search",GOTO="pcm1_end" + # if master volume control is present, turn PCM volume to max + ENV{has_pmaster_vol}=="true",CTL{values}="0dB",RESULT=="0",GOTO="pcm1_end" +-ENV{has_pmaster_vol}=="true",CTL{values)="100%",GOTO="pcm1_end" ++ENV{has_pmaster_vol}=="true",CTL{values}="100%",GOTO="pcm1_end" + # exception - some HDA codecs have shifted dB range + CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{values}="0dB",GOTO="pcm1_end" + CTL{dBmin}=="-30.00dB",CTL{dBmax}=="0dB",CTL{values}="0dB",GOTO="pcm1_end" +@@ -125,7 +140,7 @@ CTL{reset}="mixer" + CTL{name}="CD Playback Volume",PROGRAM!="__ctl_search", GOTO="cd0_end" + # if master volume control is present, turn CD volume to max + ENV{has_pmaster_vol}=="true",CTL{values}="0dB",RESULT=="0",GOTO="cd0_end" +-ENV{has_pmaster_vol}=="true",CTL{values)="100%",GOTO="cd0_end" ++ENV{has_pmaster_vol}=="true",CTL{values}="100%",GOTO="cd0_end" + # exception - some HDA codecs have shifted dB range + CTL{dBmin}=="-34.50dB",CTL{dBmax}=="12.00dB",CTL{values}="0dB",GOTO="cd0_end" + CTL{dBmin}=="-30.00dB",CTL{dBmax}=="0dB",CTL{values}="0dB",GOTO="cd0_end" +-- +1.5.5.1 +