#/bin/bash

#TODO: config
PORT="9999"
VOICE="fr-FR"
PID="$HOME/.cache/pva-tts.pid"
TMP="/tmp/pva-tts"
LANG="/usr/share/nanotts-git/lang/"
EXEC="/usr/bin/nanotts-git"

function checkStarted() {
	if [ -f $PID ] && [ -d /proc/$(cat $PID) ]; then
		return 0
	else
		return 1
	fi
}

case $1 in
start)
	if ! checkStarted; then
		mkdir $TMP
		cp $LANG/$VOICE* $TMP/
		cp $EXEC $TMP/
		setsid ncat -l $PORT -k --allow localhost -e "$TMP/nanotts-git -p -v $VOICE -l $TMP" &
		echo -n $! > $PID
		echo "TTS service started: port=$PORT, pid=$(cat $PID), language: $VOICE."
		echo "usage: echo 'Something to say' | ncat localhost $PORT &"
	else
		echo "TTS service already started: port=$PORT, pid=$(cat $PID), language: $VOICE."
		echo 'usage: pva-tell "Something to say"'²
	fi
	;;
stop)
	if checkStarted; then
		kill $(cat $PID)
		rm -f $PID
		rm -rf $TMP
		echo "TTS service stopped."
	else
		echo "TTS service already stopped."
	fi
	;;
restart) $0 stop; $0 start ;;
status)
	if checkStarted; then
		echo "TTS service running: port=$PORT, pid=$(cat $PID), language: $VOICE."
	else
		echo "TTS service inactive."
	fi
	;;
*) 	echo "Text-To-Speach server"
	echo "usage: $0 start|stop|restart|status"
esac
