PKGBUILDs/extra/alsa-utils/alsa
2009-09-26 09:35:50 -05:00

56 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
. /etc/rc.conf
. /etc/conf.d/alsa
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Restoring ALSA Levels"
/usr/sbin/alsactl $ALSA_ARGS restore
if [ $? -gt 0 ]; then
stat_fail
else
stat_done
add_daemon alsa
fi
POWERSAVE=${POWERSAVE:-0}
if [ -e /sys/module/snd_ac97_codec/parameters/power_save \
-a $POWERSAVE -ne 0 ]; then
echo $POWERSAVE > /sys/module/snd_ac97_codec/parameters/power_save
echo 1 > /dev/dsp
fi
if [ -e /sys/module/snd_hda_intel/parameters/power_save \
-a $POWERSAVE -ne 0 ]; then
echo $POWERSAVE > /sys/module/snd_hda_intel/parameters/power_save
echo 1 > /dev/dsp
fi
;;
stop)
SAVE_VOLUME=${SAVE_VOLUME:-yes}
if [ "$SAVE_VOLUME" == "yes" ]; then
stat_busy "Saving ALSA Levels"
/usr/sbin/alsactl $ALSA_ARGS store
else
stat_busy "Stopping ALSA"
fi
if [ "$MUTE_VOLUME" == "yes" ]; then
/usr/bin/amixer -q set Master 0 mute
fi
if [ $? -gt 0 ]; then
stat_fail
else
stat_done
rm_daemon alsa
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac