#!/bin/bash

# for festival compaibility
ARGS=`echo $@ | sed 's/\-eval\ ()//' | sed 's/\-eval\ (\(.\+\))\ \(.\+\)$/\2\ \-p\ \1/'`
eval set -- "$ARGS"

if [ -e `rospack find voice_text`/bin/voicetext ]; then
    COMMAND=`rospack find voice_text`/bin/voicetext
else
    COMMAND=$(catkin_find --libexec --share voice_text voicetext)
fi
INPUT_FILE=$1;shift;
JPTEXT_FILE=/tmp/_voice_text_$$.txt
OUTPUT_FILE=/tmp/_voice_text_$$.wav
while getopts p:o: OPT
do
    case ${OPT} in
	"o")
	    OUTPUT_FILE=${OPTARG};;
	esac
done

# Specify options
# Because text2wave is called from soundplay_node.py and it is difficult to add arguments, we use environments.
if [ -v VOICETEXT_TEXT2WAV_USE_LOCAL_MODE ]; # Use voice_text on local machine or remote machine.
then
    USE_LOCAL_MODE=1
else
    USE_LOCAL_MODE=0
fi
if [ -v VOICETEXT_TEXT2WAV_REMOTE_HOST ]; # Specify remote machine hostname, c2 by default.
then
    REMOTE_HOST=$VOICETEXT_TEXT2WAV_REMOTE_HOST
else
    REMOTE_HOST=c2
fi

nkf -s $INPUT_FILE > $JPTEXT_FILE
if [ $USE_LOCAL_MODE -eq 0 ];
then
    scp $JPTEXT_FILE $REMOTE_HOST:$JPTEXT_FILE
    ssh $REMOTE_HOST $COMMAND -o $OUTPUT_FILE $JPTEXT_FILE
    scp $REMOTE_HOST:$OUTPUT_FILE $OUTPUT_FILE
else
    $COMMAND -o $OUTPUT_FILE $JPTEXT_FILE
fi;
#rm -f /tmp/_voice_text_*_$$.*
