From: Heiko Z. <smi...@us...> - 2004-06-24 00:32:53
|
Update of /cvsroot/devil-linux/build/scripts/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11397/scripts/scripts Modified Files: Tag: rel-1-2-patches alsa-driver Log Message: alsa-driver init script now supports saving/restoring of mixer settings (Heiko / Roland Pabel) Index: alsa-driver =================================================================== RCS file: /cvsroot/devil-linux/build/scripts/scripts/alsa-driver,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -u -d -r1.6 -r1.6.2.1 --- alsa-driver 7 Jan 2004 22:27:20 -0000 1.6 +++ alsa-driver 24 Jun 2004 00:32:35 -0000 1.6.2.1 @@ -14,6 +14,7 @@ # parameters NAME="alsa drivers" +CONFIGFILE=/etc/asound.state CONFIGNAME=ALSA_DRIVER DAEMON= PARAMETER= @@ -31,6 +32,36 @@ test $link = $base && START=yes test "$START" = "yes" || exit 0 +function restore_mixer() { + echo -n "Restoring state of $NAME: " + # load mixer + if [ -d /proc/asound ]; then + if [ -r $CONFIGFILE ]; then + /sbin/alsactl restore -f $CONFIGFILE + else + echo "No mixer config found, using default. " + /bin/amixer -c0 sset Master,0 80% unmute + /bin/amixer -c0 sset Headphone,0 80% unmute + /bin/amixer -c0 sset PCM,0 60% unmute + echo -en "Use '$0 save' to save your config" + fi + print_status success + else + print_status failure + fi +} + +function store_mixer() { + echo -en "Saving state of $NAME: " + # save mixer + if [ -d /proc/asound ]; then + /sbin/alsactl store -f $CONFIGFILE + print_status success + return; + fi + print_status failure +} + case "$1" in start) echo -en "Loading $NAME: " @@ -38,9 +69,7 @@ modprobe snd-pcm-oss modprobe snd-mixer-oss print_status success - /bin/amixer -c0 sset Master,0 80% unmute - /bin/amixer -c0 sset Headphone,0 80% unmute - /bin/amixer -c0 sset PCM,0 60% unmute + restore_mixer ;; stop) echo -en "UnLoading $NAME: " @@ -58,6 +87,9 @@ rmmod snd-page-alloc print_status success ;; + save) + store_mixer + ;; restart) $0 stop sleep 1 |