#! /bin/sh -x
# control.cgi

TIM=/usr/local/bin/timidity
DIR=/usr/local/www/data/ag
DATA=$DIR/DATA
FLAGON=$DIR/SET/OnDuty
FLAGOFF=$DIR/SET/Holiday
MIDIFILE=$DIR/SET/midifile
PID=/tmp/wavplay.pid
PIDM=/tmp/midiplay.pid



echo "Content-type: text/html"
echo

#rm -f $PID $PIDM


case "$QUERY_STRING"
in
        *check=C*)
		echo "<head><META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=http://160.194.176.195/ag/DATA/\"</head>"
		;;
esac


case "$QUERY_STRING"
in
        *help=H*)
		echo "<head><META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=//160.194.176.195/ag/HELP/help.html\"</head>"
		;;
esac



case "$QUERY_STRING"
in
        *hotaru=%1B*)
		midiS=`cat /usr/local/www/data/ag/SET/midifile`
		/usr/sbin/mixer pcm 80 > /dev/null
        $TIM  $DATA/$midiS &
		echo $! > $PIDM
		;;
esac



case "$QUERY_STRING"
in
        *flag=OFF*)
			echo "flag" > $FLAGOFF
			rm $FLAGON
			echo "<img src=off-air.gif>"
			;;
        *flag=ON*)
			echo "flag" > $FLAGON
			rm $FLAGOFF
			echo "<img src=on-air.gif>"
			;;
esac

case "$QUERY_STRING"
in
        *num=1*)   	cnt=1;;
        *num=2*)   	cnt=2;;
        *num=3*)  	cnt=3;;
        *num=4*)  	cnt=4;;
        *num=5*)  	cnt=5;;
        *num=6*)  	cnt=6;;
        *num=7*) 	cnt=7;;
        *num=8*) 	cnt=8;;
        *num=9*) 	cnt=9;;
        *num=10*) 	cnt=10;;
esac

case "$QUERY_STRING"
in
        *audio=A.wav*) audioname=A.wav;;
        *audio=B.wav*) audioname=B.wav;;
        *audio=C.wav*) audioname=C.wav;;
        *audio=D.wav*) audioname=D.wav;;
        *audio=E.wav*) audioname=E.wav;;
        *audio=F.wav*) audioname=F.wav;;
        *audio=G.wav*) audioname=G.wav;;
        *audio=H.wav*) audioname=H.wav;;
        *audio=S.wav*) audioname=S.wav;;
        *audio=X.wav*) audioname=X.wav;;
        *audio=Y.wav*) audioname=Y.wav;;
        *audio=Z.wav*) audioname=Z.wav;;
esac

case "$QUERY_STRING"
in
        *midi=jazz.mid*)   	mid=jazz.mid;;
        *midi=piano.mid*)   mid=piano.mid;;
        *midi=bright.mid*)  mid=bright.mid;;
        *midi=bell.mid*)  	mid=bell.mid;;
        *midi=organ.mid*)  	mid=organ.mid;;
        *midi=harp.mid*)  	mid=harp.mid;;
        *midi=manden.mid*) 	mid=manden.mid;;
esac

case "$QUERY_STRING"
in
        *play*) 
                 if ! grep START /tmp/wavplay.status 
                 then
                        echo "<font color=red> START </font>"
                        echo START > /tmp/wavplay.status
                        echo $audioname $cnt | /usr/local/www/data/ag/CGI/wavplay.cgi
						echo $! > $PID
                        echo "$audioname $cnt | /usr/local/www/data/ag/CGI/wavplay.cgi"
                 else 
                        echo "BUSY(maybe playing...)"
                 fi
                 ;;
        *stop*)  echo "<font color=red> STOP </font>"
                 echo STOP > /tmp/wavplay.status
                 kill `/bin/ps ax | /usr/bin/grep "/usr/local/bin/wavplay /usr/local/www/data/ag/DATA/" | /usr/bin/grep -v grep  | /usr/bin/cut -d\  -f 1`
				 kill `/bin/ps ax | /usr/bin/grep "/bin/sh /usr/local/www/data/ag/CGI/wavplay.cgi" | /usr/bin/grep -v grep  | /usr/bin/cut -d\  -f 1`
				 kill `/bin/ps ax | /usr/bin/grep "/bin/sh /usr/local/www/data/ag/CGI/control.cgi" | /usr/bin/grep -v grep  | /usr/bin/cut -d\  -f 1`


                 kill `/bin/ps ax | /usr/bin/grep "/usr/local/bin/wavplay /usr/local/www/data/ag/DATA/" | /usr/bin/grep -v grep  | /usr/bin/cut -d\  -f 1`
				 kill `/bin/ps ax | /usr/bin/grep "/bin/sh /usr/local/www/data/ag/CGI/wavplay.cgi" | /usr/bin/grep -v grep  | /usr/bin/cut -d\  -f 1`
				 kill `/bin/ps ax | /usr/bin/grep "/bin/sh /usr/local/www/data/ag/CGI/control.cgi" | /usr/bin/grep -v grep  | /usr/bin/cut -d\  -f 1`

				 kill `cat $PID`
				 kill `cat $PIDM`

				 pa=`cat $PID`
				 pb=`cat $PIDM`

                 kill `/bin/ps ax | /usr/bin/grep "/usr/local/bin/timidity /usr/local/www/data/ag/DATA/" | /usr/bin/grep -v grep  | /usr/bin/cut -d\  -f 1`


				 
                 echo "<font color=red> <b> KILL ($pa, $pb) </b></font> <br>"
                 ;;

	  *midiset*)  echo $mid > $MIDIFILE
				  echo $mid 
				 ;;
esac