alsa-utils/alsactl/init/default
Takashi Iwai e02f8e8aba 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 <tiwai@suse.de>
2009-09-02 14:44:52 +02:00

196 lines
7.9 KiB
Text

#
# Default ALSA volume levels and setting when initialization database fails.
#
# Basic rules are:
# - keep volumes at minimal level, but sound should be hearable
# - enable just main speakers for playback and main microphone for recording
#
# **************************************************************************
# playback
# **************************************************************************
ENV{ppercent}:="75%"
ENV{cpercent}:="75%"
ENV{pvolume}:="-20dB"
ENV{cvolume}:="12dB"
ENV{has_pmaster_vol}:="false"
CTL{reset}="mixer"
CTL{name}="Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Master Playback Volume",PROGRAM=="__ctl_search", \
ENV{has_pmaster_vol}:="true", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="Master Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Master Digital Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="Master Digital Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
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"
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
LABEL="front0_end"
CTL{name}="Front Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Headphone Playback Volume",PROGRAM!="__ctl_search",GOTO="headphone0_end"
# if master volume control is present, turn headphone volume to max
ENV{has_pmaster_vol}=="true",CTL{values}="0dB",RESULT=="0",GOTO="headphone0_end"
ENV{has_pmaster_vol}=="true",CTL{values}="100%",GOTO="headphone0_end"
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
LABEL="headphone0_end"
CTL{name}="Headphone Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
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"
CTL{reset}="mixer"
CTL{name}="PC Speaker Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="PC Speaker Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
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"
# 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"
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="75%"
LABEL="pcm0_end"
CTL{name}="PCM Playback Switch",PROGRAM=="__ctl_search", CTL{values}="on"
CTL{name}="PCM Switch",PROGRAM=="__ctl_search",CTL{values}="on"
CTL{reset}="mixer"
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"
# 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"
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="75%"
LABEL="pcm1_end"
CTL{name}="PCM Playback Switch",CTL{index}="1",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{name}="PCM Switch",CTL{index}="1",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="DAC Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="DAC Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Synth Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="Synth Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Wave Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="100%"
CTL{name}="Wave Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Music Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="100%"
CTL{name}="Music Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
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"
# 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"
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
LABEL="cd0_end"
CTL{name}="CD Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Mono Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="Mono Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="Master Mono Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
CTL{name}="Master Mono Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{reset}="mixer"
CTL{name}="AC97 Playback Volume",PROGRAM=="__ctl_search", \
CTL{values}="100%"
CTL{name}="AC97 Playback Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
#
# Powermacs
#
CTL{reset}="mixer"
CTL{name}="DRC Range",PROGRAM=="__ctl_search", \
CTL{values}="$env{pvolume}",RESULT!="0",CTL{values}="$env{ppercent}"
# **************************************************************************
# capture
# **************************************************************************
CTL{reset}="mixer"
CTL{name}="Capture Volume",PROGRAM=="__ctl_search", \
CTL{values}="$env{cvolume}",RESULT!="0",CTL{values}="$env{cpercent}"
CTL{name}="Capture Switch",PROGRAM=="__ctl_search", \
CTL{values}="on"
CTL{name}="Input Source",PROGRAM!="__ctl_search", GOTO="end_input_source"
CTL{enums}=="*|Internal Mic|*",CTL{values}="Internal Mic", \
GOTO="end_input_source"
CTL{enums}=="*|Mic|*",CTL{values}="Mic"
LABEL="end_input_source"
CTL{name}="Internal Mic Boost",PROGRAM=="__ctl_search", \
CTL{values}="on"