1 1.1 jmcneill #!/bin/sh 2 1.1 jmcneill # 3 1.10 abs # $NetBSD: mixerctl,v 1.10 2007/03/16 22:30:22 abs Exp $ 4 1.1 jmcneill # 5 1.1 jmcneill 6 1.1 jmcneill # PROVIDE: mixerctl 7 1.3 lukem # REQUIRE: mountcritremote 8 1.5 kent # KEYWORD: shutdown 9 1.1 jmcneill 10 1.8 mycroft $_rc_subr_loaded . /etc/rc.subr 11 1.1 jmcneill 12 1.1 jmcneill name="mixerctl" 13 1.7 uebayasi rcvar=$name 14 1.1 jmcneill start_cmd="mixerctl_start" 15 1.5 kent stop_cmd="mixerctl_stop" 16 1.1 jmcneill 17 1.1 jmcneill mixerctl_start() 18 1.1 jmcneill { 19 1.5 kent if [ -n "$mixerctl_mixers" ]; then 20 1.5 kent echo -n "Restoring mixer settings:" 21 1.5 kent for mix in $mixerctl_mixers; do 22 1.5 kent if [ -s /var/db/${mix}.conf ]; then 23 1.5 kent echo -n " $mix" 24 1.6 tron /usr/bin/mixerctl -d /dev/$mix -n -w \ 25 1.9 christos $(/bin/cat /var/db/${mix}.conf) 26 1.5 kent fi 27 1.5 kent done 28 1.5 kent echo "." 29 1.5 kent fi 30 1.1 jmcneill if [ -r /etc/mixerctl.conf ]; then 31 1.1 jmcneill echo "Setting mixerctl variables..." 32 1.3 lukem while read setting; do 33 1.10 abs case "$setting" in 34 1.10 abs \#*|"") 35 1.10 abs continue 36 1.10 abs ;; 37 1.10 abs esac 38 1.10 abs /usr/bin/mixerctl -n -w $setting 39 1.3 lukem done < /etc/mixerctl.conf 40 1.5 kent fi 41 1.5 kent } 42 1.5 kent 43 1.5 kent mixerctl_stop() 44 1.5 kent { 45 1.5 kent if [ -n "$mixerctl_mixers" ]; then 46 1.5 kent echo -n "Saving mixer settings:" 47 1.5 kent for mix in $mixerctl_mixers; do 48 1.5 kent echo -n " $mix" 49 1.6 tron /usr/bin/mixerctl -d /dev/$mix -a > /var/db/${mix}.conf 50 1.5 kent done 51 1.5 kent echo "." 52 1.1 jmcneill fi 53 1.1 jmcneill } 54 1.1 jmcneill 55 1.1 jmcneill load_rc_config $name 56 1.1 jmcneill run_rc_command "$1" 57