FS#22302 - [alsa-utils] ALSA daemon script
Attached to Project:
Arch Linux
Opened by Daniel Mills (e36freak) - Tuesday, 04 January 2011, 00:13 GMT
Last edited by Tobias Powalowski (tpowa) - Wednesday, 14 November 2012, 11:34 GMT
Opened by Daniel Mills (e36freak) - Tuesday, 04 January 2011, 00:13 GMT
Last edited by Tobias Powalowski (tpowa) - Wednesday, 14 November 2012, 11:34 GMT
|
Details
Description:
I have made some modifications to the ALSA daemon script, as it was half-bash half-sh and wasn't really correct for either. Also, the if/then statement at line 42 really didn't make any sense. Additional info: * package version(s): current (1.0.23-2 ?) Here is the new script: #!/bin/bash . /etc/rc.conf . /etc/conf.d/alsa . /etc/rc.d/functions case "$1" in start) stat_busy "Restoring ALSA Levels" if /usr/sbin/alsactl $ALSA_ARGS restore; then # removed useless "if [ $? -gt 0 ]; then" stat_done add_daemon alsa else stat_fail fi POWERSAVE="${POWERSAVE:-0}" if [[ -e /sys/module/snd_ac97_codec/parameters/power_save ]] \ && (( $POWERSAVE )); then # rewritten with proper bash syntax echo $POWERSAVE > /sys/module/snd_ac97_codec/parameters/power_save [[ -c /dev/dsp ]] && echo 1 > /dev/dsp fi if [[ -e /sys/module/snd_hda_intel/parameters/power_save ]] \ && (( $POWERSAVE )); then # same here echo $POWERSAVE > /sys/module/snd_hda_intel/parameters/power_save [[ -c /dev/dsp ]] && echo 1 > /dev/dsp fi ;; stop) # this is the section that really confused me, the error checking on it was done very strangely. # i think that this is a much better way of doing it SAVE_VOLUME="${SAVE_VOLUME:-yes}" if [[ "$SAVE_VOLUME" = "yes" ]]; then stat_busy "Saving ALSA Levels" /usr/sbin/alsactl $ALSA_ARGS store || { stat_fail; exit 1; } else stat_busy "Stopping ALSA" fi if [[ "$MUTE_VOLUME" = "yes" ]]; then /usr/bin/amixer -q set Master 0 mute || { stat_fail; exit 1; } fi stat_done rm_daemon alsa ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac |
This task depends upon
Closed by Tobias Powalowski (tpowa)
Wednesday, 14 November 2012, 11:34 GMT
Reason for closing: Won't fix
Additional comments about closing: systemd is new default
Wednesday, 14 November 2012, 11:34 GMT
Reason for closing: Won't fix
Additional comments about closing: systemd is new default
alsadiff.txt (3 KiB)
Commenting [[ -c /dev/dsp ]] && echo 1 > /dev/dsp fixes the problem, so guys please fix this alsa script for all cases ;)