aboutsummaryrefslogtreecommitdiff
path: root/scripts/load_every_object.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/load_every_object.sh')
-rwxr-xr-xscripts/load_every_object.sh78
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