File set_default_volume of Package alsa
100
1
#!/bin/sh
2
#
3
# set default volumes for playback on ALSA
4
#
5
# set_default_mixer [-f] [card#]
6
#
7
# written by Takashi Iwai <tiwai@suse.de>
8
#
9
10
forced=
11
if [ x$1 = x-f ]; then
12
forced=yes
13
shift
14
fi
15
16
if [ -f /var/lib/alsa/asound.state -a -z "$forced" ]; then
17
/usr/sbin/alsactl restore >/dev/null 2>&1
18
exit 0
19
fi
20
21
if [ -n "$1" ]; then
22
case "$1" in
23
[0-9]*)
24
card="-D hw:$1";;
25
*)
26
card="-D $1";;
27
esac
28
fi
29
30
if amixer $card | grep -q "'Master"; then
31
slavevolp="100%"
32
slavevoldb="0dB"
33
else
34
slavevolp="75%"
35
slavevoldb="-12dB"
36
fi
37
38
amixer -q -s $card <<EOF
39
set Master 75% unmute
40
set Master -12dB
41
set 'Master Mono' 75% unmute
42
set 'Master Mono' -12dB
43
set Front $slavevolp unmute
44
set Front $slavevoldb
45
set PCM $slavevolp unmute
46
set PCM $slavevoldb
47
set Synth $slavevolp unmute
48
set Synth $slavevoldb
49
set Speaker $slavevolp unmute
50
set Speaker $slavevoldb
51
set CD $slavevolp unmute
52
set CD $slavevoldb
53
# mute mic
54
set Mic 0% mute
55
# ESS 1969 chipset has 2 PCM channels
56
set PCM,1 90% unmute
57
set PCM,1 0dB
58
# Trident/YMFPCI/emu10k1
59
set Wave 100% unmute
60
set Music 100% unmute
61
set AC97 100% unmute
62
# CS4237B chipset:
63
set 'Master Digital' 75% unmute
64
# Envy24 chips with analog outs
65
set DAC 90% unmute
66
set DAC -12dB
67
set DAC,0 90% unmute
68
set DAC,0 -12dB
69
set DAC,1 90% unmute
70
set DAC,1 -12dB
71
# some notebooks use headphone instead of master
72
set Headphone $slavevolp unmute
73
set Headphone $slavevoldb
74
set Playback 100% unmute
75
# turn off digital switches
76
set "SB Live Analog/Digital Output Jack" off
77
set "Audigy Analog/Digital Output Jack" off
78
# VIA82xx
79
set "VIX DXS" 100%
80
set "VIX DXS",1 100%
81
set "VIX DXS",2 100%
82
set "VIX DXS",3 100%
83
# capture
84
set Capture 12dB cap
85
EOF
86
87
# run platform-defined scripts (if any)
88
for i in /etc/alsa.d/volume/*; do
89
if [ -x "$i" ]; then
90
case "$i" in
91
*~|*.bak|*.rpm*)
92
;;
93
/etc/alsa.d/volume/[0-9]*)
94
"$i" "$@"
95
esac
96
fi
97
done
98
99
exit 0
100