alsa-utils: try improve soundconfig

pass card num via udev. no need to loop thru all. needs testing
This commit is contained in:
Stefan Saraev 2014-05-24 13:23:23 +03:00 committed by Stephan Raue
parent afe74301c7
commit f043441788
2 changed files with 74 additions and 72 deletions

View File

@ -36,94 +36,96 @@ if [ -f $HOME/.config/sound.conf ]; then
alsactl restore -f $HOME/.config/sound.conf
else
for i in `seq 0 9` ; do
# set common mixer params
mixer $i Master 100%
mixer $i Front 100%
mixer $i PCM 100%
mixer $i Synth 100%
# mute CD, since using digital audio instead
mixer $i CD 0% mute
# get card num
card=`echo $1 | sed 's/[^0-9]*//g'`
# Only unmute Line and Aux if they are possibly used.
# mixer $i Line 100%
# mixer $i Aux 100%
# set common mixer params
mixer $card Master 100%
mixer $card Front 100%
mixer $card PCM 100%
mixer $card Synth 100%
# mute mic
mixer $i Mic 0% mute
# mute CD, since using digital audio instead
mixer $card CD 0% mute
# ESS 1969 chipset has 2 PCM channels
mixer $i PCM,1 100%
# Only unmute Line and Aux if they are possibly used.
# mixer $card Line 100%
# mixer $card Aux 100%
# Trident/YMFPCI/emu10k1
mixer $i Wave 100%
mixer $i Music 100%
mixer $i AC97 100%
mixer $i Surround 90%
mixer $i 'Surround Digital' 90%
mixer $i 'Wave Surround' 90%
mixer $i 'Duplicate Front' 90%
mixer $i 'Sigmatel 4-Speaker Stereo' 90%
# mute mic
mixer $card Mic 0% mute
# CS4237B chipset:
mixer $i 'Master Digital' 100%
# ESS 1969 chipset has 2 PCM channels
mixer $card PCM,1 100%
# DRC
mixer $i 'Dynamic Range Compression' 90%
# Trident/YMFPCI/emu10k1
mixer $card Wave 100%
mixer $card Music 100%
mixer $card AC97 100%
mixer $card Surround 90%
mixer $card 'Surround Digital' 90%
mixer $card 'Wave Surround' 90%
mixer $card 'Duplicate Front' 90%
mixer $card 'Sigmatel 4-Speaker Stereo' 90%
# Envy24 chips with analog outs
mixer $i DAC 100%
mixer $i DAC,0 100%
mixer $i DAC,1 100%
# CS4237B chipset:
mixer $card 'Master Digital' 100%
# some notebooks use headphone instead of master
mixer $i Headphone 100%
mixer $i Speaker 100%
mixer $i 'Internal Speaker' 0% mute
mixer $i Playback 100%
mixer $i Headphone 100%
mixer $i Speaker 100%
mixer $i Center 100%
mixer $i LFE 100%
mixer $i Center/LFE 100%
# DRC
mixer $card 'Dynamic Range Compression' 90%
# Intel P4P800-MX (Ubuntu bug #5813)
mixer $i 'Master Playback Switch' on
# Envy24 chips with analog outs
mixer $card DAC 100%
mixer $card DAC,0 100%
mixer $card DAC,1 100%
# set digital output mixer params
mixer $i 'IEC958' 100% on
mixer $i 'IEC958 Output' 100%
mixer $i 'IEC958 Coaxial' 100%
mixer $i 'IEC958 LiveDrive' 100%
mixer $i 'IEC958 Optical Raw' 100%
mixer $i 'SPDIF Out' 100%
mixer $i 'SPDIF Front' 100%
mixer $i 'SPDIF Rear' 100%
mixer $i 'SPDIF Center/LFE' 100%
mixer $i 'Master Digital' 100%
# some notebooks use headphone instead of master
mixer $card Headphone 100%
mixer $card Speaker 100%
mixer $card 'Internal Speaker' 0% mute
mixer $card Playback 100%
mixer $card Headphone 100%
mixer $card Speaker 100%
mixer $card Center 100%
mixer $card LFE 100%
mixer $card Center/LFE 100%
mixer $i 'Analog Front' 100%
mixer $i 'Analog Rear' 100%
mixer $i 'Analog Center/LFE' 100%
# Intel P4P800-MX (Ubuntu bug #5813)
mixer $card 'Master Playback Switch' on
# ASRock ION 330 (and perhaps others) has 2 IEC958 channels
mixer $i IEC958,0 on
mixer $i IEC958,1 on
# set digital output mixer params
mixer $card 'IEC958' 100% on
mixer $card 'IEC958 Output' 100%
mixer $card 'IEC958 Coaxial' 100%
mixer $card 'IEC958 LiveDrive' 100%
mixer $card 'IEC958 Optical Raw' 100%
mixer $card 'SPDIF Out' 100%
mixer $card 'SPDIF Front' 100%
mixer $card 'SPDIF Rear' 100%
mixer $card 'SPDIF Center/LFE' 100%
mixer $card 'Master Digital' 100%
# some ION2 has much more IEC958 channels ...
mixer $i IEC958,2 on
mixer $i IEC958,3 on
mixer $card 'Analog Front' 100%
mixer $card 'Analog Rear' 100%
mixer $card 'Analog Center/LFE' 100%
# ASRock ION 330 has Master Front set to 0
mixer $i 'Master Front' 100%
# ASRock ION 330 (and perhaps others) has 2 IEC958 channels
mixer $card IEC958,0 on
mixer $card IEC958,1 on
# Shuttle XS35GT needs this too
mixer $i 'Master',0 100% on
# some ION2 has much more IEC958 channels ...
mixer $card IEC958,2 on
mixer $card IEC958,3 on
# and this for various Fusion devices like Zotac ZBOX
mixer $i 'Front',0 100% on
done &>/dev/null
# ASRock ION 330 has Master Front set to 0
mixer $card 'Master Front' 100%
# Shuttle XS35GT needs this too
mixer $card 'Master',0 100% on
# and this for various Fusion devices like Zotac ZBOX
mixer $card 'Front',0 100% on
fi
exit 0

View File

@ -17,4 +17,4 @@
################################################################################
# When a sound device is detected, restore the volume settings
KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig"
KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig %k"