aboutsummaryrefslogtreecommitdiff
path: root/nqpoly4/nqpoly4.pd
blob: 434907de64220f77c261d8eeec891e620b4c447d (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#N canvas 293 125 864 653 10;
#X obj 36 31 inlet;
#X obj 36 338 outlet;
#X obj 276 208 until;
#X obj 350 335 symbol \$2;
#X obj 157 130 moses 1;
#X obj 311 235 + 1;
#X text 425 27 usage: nqpoly <number of objects> <abstraction name>
<up to 4 creation args>;
#X text 427 68 your abstraction is ultimately called with the parameters:
<index> <number of objects> <arg1> <arg2> <arg3> <arg4>;
#N canvas 7 455 362 318 1002-poly 0;
#X restore 36 256 pd \$0-poly;
#X obj 36 227 s \$0-in1;
#X obj 121 228 s \$0-in2;
#X obj 36 283 r \$0-out;
#N canvas 220 112 751 428 init 0;
#X obj 197 139 symbol \$0-poly;
#X obj 197 163 makefilename pd-%s;
#X obj 197 187 pack s \$0;
#X msg 204 118 bang;
#X text 154 317 This will clear the subpatch and create fake "in/outlets"
as senders and receivers.;
#X msg 197 230 \; \$1 clear \; \$1 obj 50 60 r \$2-in1 \; \$1 obj 199
60 r \$2-in2 \; \$1 obj 50 200 s \$2-out;
#X obj 103 206 s \$0-subname;
#X obj 197 92 b;
#X obj 197 69 r \$0-init;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 6 0;
#X connect 2 0 5 0;
#X connect 3 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 7 0;
#X restore 238 37 pd init;
#X obj 276 235 f;
#X obj 121 26 inlet;
#X obj 173 37 loadbang;
#X obj 121 60 f \$1;
#X obj 377 216 f \$1;
#X obj 323 208 0;
#X obj 276 494 + 3;
#N canvas 0 0 692 559 last-two 0;
#X obj 153 175 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 378 110 first reset (b) \, then set new length (f).;
#X text 311 195 Right outlet is responsible to first fill the list
;
#X text 312 211 Left outlet then only lets the smaller list pass.;
#X obj 180 183 list;
#X obj 228 113 inlet;
#X obj 180 149 inlet;
#X obj 180 302 outlet;
#X obj 180 228 list split 2;
#X obj 228 149 b;
#X connect 4 0 8 0;
#X connect 5 0 9 0;
#X connect 6 0 4 0;
#X connect 8 0 4 1;
#X connect 8 0 7 0;
#X connect 8 2 4 1;
#X connect 9 0 4 1;
#X restore 276 516 pd last-two;
#X obj 276 562 list prepend;
#X msg 276 590 \; \$1 connect \$3 0 \$2 0 \;;
#X obj 324 359 r \$0-subname;
#X obj 355 541 r \$0-subname;
#N canvas 0 0 1005 687 finish 0;
#X obj 432 273 list prepend;
#X obj 432 235 + 2;
#X msg 432 304 \; \$1 connect 0 0 3 0 \; \$1 connect \$2 0 2 0 \;;
#X obj 136 256 until;
#X obj 171 283 + 1;
#X obj 136 355 list prepend;
#X obj 136 233 t a b;
#X msg 136 389 \; \$1 connect 1 0 \$2 1 \;;
#X obj 136 282 f 3;
#X obj 183 256 3;
#X obj 215 326 r \$0-subname;
#X obj 513 249 r \$0-subname;
#X text 182 234 first 3 objects are xlets;
#X obj 92 102 inlet;
#X obj 92 138 moses 1;
#X obj 136 169 t a a;
#X text 419 358 Connect final object to [s \$0-out];
#X text 69 439 Connect all wrapper object's right inlet to [r \$0-in2]
;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 3 0 8 0;
#X connect 4 0 8 1;
#X connect 5 0 7 0;
#X connect 6 0 3 0;
#X connect 6 1 9 0;
#X connect 8 0 4 0;
#X connect 8 0 5 0;
#X connect 9 0 8 1;
#X connect 10 0 5 1;
#X connect 11 0 0 1;
#X connect 13 0 14 0;
#X connect 14 1 15 0;
#X connect 15 0 6 0;
#X connect 15 1 1 0;
#X restore 139 198 pd finish;
#X text 568 154 based on: nqpoly (v4) - pix.test.at;
#X obj 276 188 t a b;
#X obj 231 116 s \$0-init;
#X obj 348 494 r \$0-init;
#X text 567 178 changes: fbar at footils.org 2006;
#X obj 298 390 pack f s s f;
#X msg 298 441 \; \$2 obj 50 100 nqpwrap4 \$3 \$1 \$4 \$5 \$6 \$7 \$8
\;;
#X obj 298 414 list append \$3 \$4 \$5 \$6;
#X obj 121 85 t b a a a b;
#X obj 276 271 t a a b;
#X obj 320 28 inlet;
#X obj 320 55 t b a;
#X connect 0 0 9 0;
#X connect 2 0 13 0;
#X connect 3 0 31 2;
#X connect 4 1 27 0;
#X connect 5 0 13 1;
#X connect 11 0 1 0;
#X connect 13 0 5 0;
#X connect 13 0 35 0;
#X connect 14 0 16 0;
#X connect 15 0 16 0;
#X connect 16 0 34 0;
#X connect 17 0 31 3;
#X connect 18 0 13 1;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 23 0 31 1;
#X connect 24 0 21 1;
#X connect 27 0 2 0;
#X connect 27 1 18 0;
#X connect 29 0 20 1;
#X connect 31 0 33 0;
#X connect 33 0 32 0;
#X connect 34 0 10 0;
#X connect 34 1 25 0;
#X connect 34 2 4 0;
#X connect 34 3 17 0;
#X connect 34 4 28 0;
#X connect 35 0 19 0;
#X connect 35 1 31 0;
#X connect 35 2 3 0;
#X connect 36 0 37 0;
#X connect 37 0 16 0;
#X connect 37 1 3 0;