#!/bin/sh
trap 'exit 1' SIGINT
echo "C" > /dev/usb/tts/0
alast=""
disp=20
astart=0
alen=0
blast=""
blen=0
bstart=0

while true; do
	status=`echo "status" | nc localhost 6600 | grep -e "^state:" | awk '{ print $2 }'` 
	if [ "$status" ==  "play" ]; then
		acurrent=`echo "currentsong" | nc localhost 6600 | grep -e "^Title:" | awk 'BEGIN{FS=": "} { print $2 }'`
		bcurrent=`echo "currentsong" | nc localhost 6600 | grep -e "^Name:" | awk 'BEGIN{FS=": "} { print $2 }'`
		#echo $current
		if [ "$acurrent" != "$alast" ]; then
		 	#echo "C1$current" > /dev/usb/tts/0
			alast=$acurrent
			alen=`expr length "$alast"`
			astart=0
		fi
		if [ "$bcurrent" != "$blast" ]; then
		        #echo "C1$current" > /dev/usb/tts/0
		        blast=$bcurrent
		        blen=`expr length "$blast"`
		        bstart=0
		fi
		                                                                                                                
	fi
	if [ `expr length "$alast"` -gt "$disp" ]; then
		if [ $(($astart + $disp))  -gt "$alen" ]; then
			astart=0
		fi
		astart=$(( $astart + 1 ))

		echo "$alast" | awk '{ print "1"substr($0,st,en) }' st=$astart en=$disp > /dev/usb/tts/0
		#echo "$alast" | awk '{ print "1"substr($0,st,en) }' st=$astart en=$disp
	else
		echo "$last" | awk '{ l=length(); s=int((20-l)/2); printf "1%"(s+l)"s\n", $0 }' > /dev/usb/tts/0
	fi
	if [ `expr length "$blast"` -gt "$disp" ]; then
		if [ $(($bstart + $disp))  -gt "$blen" ]; then
			bstart=0
		fi
		bstart=$(( $bstart + 1 ))

		echo "$blast" | awk '{ print "2"substr($0,st,en) }' st=$bstart en=$disp > /dev/usb/tts/0
		#echo "$blast" | awk '{ print "2"substr($0,st,en) }' st=$bstart en=$disp
	else
		echo "$blast" | awk '{ l=length(); s=int((20-l)/2); printf "2%"(s+l)"s\n", $0 }' > /dev/usb/tts/0
	fi
	sleep 1
done
