diff options
Diffstat (limited to 'scripts/load_every_object.sh')
-rwxr-xr-x | scripts/load_every_object.sh | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/scripts/load_every_object.sh b/scripts/load_every_object.sh new file mode 100755 index 00000000..0ba9b03a --- /dev/null +++ b/scripts/load_every_object.sh @@ -0,0 +1,78 @@ +#!/bin/sh + + +PD_ROOT=$1 + +NETRECEIVE_PATCH=/tmp/.____pd_netreceive____.pd +PORT_NUMBER=55556 +LOG_FILE=/tmp/load_every_object-log-`date +20%y-%m-%d_%H.%M.%S`.txt + +TEST_DIR=/tmp +TEST_PATCH=.____test_patch.pd + +helpdir=${PD_ROOT}/doc +objectsdir=${PD_ROOT}/extra +bindir=${PD_ROOT}/bin + + +function make_netreceive_patch () +{ + rm $1 + touch $1 + echo '#N canvas 222 130 454 304 10;' >> $1 + echo "#X obj 111 83 netreceive $PORT_NUMBER 0 old;" >> $1 +} + +function make_patch () +{ + rm $2 + touch $2 + object=`echo $1|sed 's|^\(.*\)\.[adilnpruwx_]*$|\1|'` + echo '#N canvas 222 130 454 304 10;' >> $2 + echo "#X obj 111 83 $object;" >> $2 +} + +function open_patch () +{ + echo "OPENING: $1 $2" >> $LOG_FILE + echo "; pd open $1 $2;" | ${bindir}/pdsend $PORT_NUMBER localhost tcp +} + +function close_patch () +{ + echo "CLOSING: $1" >> $LOG_FILE + echo "; pd-$1 menuclose;" | ${bindir}/pdsend $PORT_NUMBER localhost tcp +} + +UNAME=`uname -s` +if [ $UNAME == "Darwin" ]; then + EXTENSION=pd_darwin +elif [ $UNAME == "Linux" ]; then + EXTENSION=pd_linux +else + EXTENSION=dll +fi + +echo "Searching for $EXTENSION" + +make_netreceive_patch $NETRECEIVE_PATCH + +touch $LOG_FILE +${bindir}/pd -nogui -stderr -open $NETRECEIVE_PATCH >> $LOG_FILE 2>&1 & + +#wait for pd to start +sleep 30 + +for file in `find $objectsdir -name "*.${EXTENSION}"`; do + echo $file + filename=`echo $file|sed 's|.*/\(.*\.[adilnpruwx_]*\)$|\1|'` + dir=`echo $file|sed 's|\(.*\)/.*\.[adilnpruwx_]*$|\1|'` + make_patch $filename ${TEST_DIR}/${TEST_PATCH} + open_patch ${TEST_PATCH} ${TEST_DIR} + sleep 1 + close_patch ${TEST_PATCH} +done + + +echo "COMPLETED!" >> $LOG_FILE +echo "; pd quit;" | ${bindir}/pdsend $PORT_NUMBER localhost tcp |