aboutsummaryrefslogtreecommitdiff
path: root/scripts/load_every_object.sh
blob: 0ba9b03ad20ab4b0ffd20ea36b638ba7be862c97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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