#!/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