#!/bin/bash . /etc/rc.conf . /etc/conf.d/alsa . /etc/rc.d/functions case "$1" in start) stat_busy "Restoring ALSA Levels" STATE_FILE=${STATE_FILE:-/etc/asound.state} /usr/sbin/alsactl --file $STATE_FILE 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) STATE_FILE=${STATE_FILE:-/etc/asound.state} SAVE_VOLUME=${SAVE_VOLUME:-yes} if [ "$SAVE_VOLUME" == "yes" ]; then stat_busy "Saving ALSA Levels" /usr/sbin/alsactl --file $STATE_FILE 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