rm documents to github
[svn42.git] / dart / start-dart.sh
index 006d0a1..db7a080 100755 (executable)
@@ -1,11 +1,34 @@
 #!/bin/sh
 
 if [ -z "$1" ]; then
-  echo "Usage $0 <mode>"
+  echo "Usage $0 <mode> [<param1> [<param2> ...]]"
   exit 1
 fi
 
+MYSELF=`readlink -f "$0"`
+MYPATH=`dirname "$MYSELF"`
 mode=$1
+shift
 
-ssh dart stty -F /dev/ttyDart 57600
-ssh dart cat /dev/ttyDart | ./dart-$mode.pl | ../dart-sounds/src/dart-sounds ../dart-sounds/media
+FIFO_D=`mktemp -d`
+FIFO_IN=$FIFO_D/dart-in.fifo
+FIFO_SHOUT=$FIFO_D/dart-out.fifo
+mkfifo $FIFO_IN
+mkfifo $FIFO_SHOUT
+
+trap signal_handler INT TERM
+
+signal_handler()
+{
+  rm -rf $FIFO_D
+}
+
+stty -echo
+ssh dart killall ttyread 2>&1
+ssh dart ttyread /dev/ttyDart  >$FIFO_IN &
+cd $MYPATH
+$MYPATH/../dart-sounds/src/dart-sounds $MYPATH/../dart-sounds/media > /dev/null <$FIFO_SHOUT &
+$MYPATH/eet $FIFO_IN | perl -I $MYPATH $MYPATH/dart-$mode.pl $FIFO_SHOUT $*
+rm -rf $FIFO_D
+
+exit 0