#!/bin/bash
#
# Edit yourself for suitable settings :)
#
# GPL.
CONFFILE=/etc/setmixer.conf
save_settings=1

[ -e /etc/default/setmixer ] && . /etc/default/setmixer
# Test if mixer is ready. smarter test anyone?
#cat /dev/mixer >> $TMPFILE 2>&1
#start error reporting here
#if [ `grep -vc "Invalid argument" $TMPFILE` -eq 0 ]; then
#	rm $TMPFILE
#	echo "not starting"
#	exit 0 
#fi

#rm $TMPFILE

case "$1" in
  start)
  #/usr/bin/setmixer vol 70 synth 0 pcm 100 line 0 mic 0 cd 0
	echo -n "Setting sound mixer volumes with setmixer... "
	set +e
	/usr/bin/setmixer `cat /etc/setmixer.conf` 
	if [ $? = 0 ] 
	then
		echo "done."
	 	touch /var/run/setmixer_flag
	else
		echo "failed."
	fi
	;;
  stop)
	if [ $save_settings = 1 ] && [ -f /var/run/setmixer_flag ] ; then
		echo -n "Saving sound mixer volumes with setmixer... "
		p=`basename $0`
		TMPFILE=`mktemp /tmp/$p.XXXXXX` || exit 1
		set +e
		/usr/bin/setmixer -V | sed 's/-//' > $TMPFILE
		if [ $? = 0 ] 
		then
			mv $TMPFILE /etc/setmixer.conf
			echo "done."
		else
			echo "failed."
		fi	
	fi
	;;
  save)
	echo -n "Saving sound mixer volumes with setmixer... "
	p=`basename $0`
	TMPFILE=`mktemp /tmp/$p.XXXXXX` || exit 1
	set +e
	/usr/bin/setmixer -V | sed 's/-//' > $TMPFILE
	if [ $? = 0 ] 
	then
		mv $TMPFILE /etc/setmixer.conf
		echo "done."
	else
		echo "failed."
	fi	
  	;;
  restart|reload|force-reload)
    $0 stop && $0 start
    ;;
  *)
        echo "Usage: /etc/init.d/setmixer {start|stop}"
        exit 1
esac

exit 0
