aboutsummaryrefslogtreecommitdiff
path: root/nqpoly4/nqpoly4.pd
blob: 140a5fabcec70f8ef40a56c2c5640267e0b41ff8 (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
153
154
155
156
157
158
159
#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 \$0-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 434 273 list prepend;
#X obj 434 235 + 2;
#X msg 434 304 \; \$1 connect 0 0 3 0 \; \$1 connect \$2 0 2 0 \;;
#X obj 161 256 until;
#X obj 196 283 + 1;
#X obj 161 355 list prepend;
#X obj 161 233 t a b;
#X msg 161 389 \; \$1 connect 1 0 \$2 1 \;;
#X obj 161 282 f 3;
#X obj 208 256 3;
#X obj 240 326 r \$0-subname;
#X obj 515 249 r \$0-subname;
#X text 207 234 first 3 objects are xlets;
#X obj 92 102 inlet;
#X obj 92 138 moses 1;
#X text 421 358 Connect final object to [s \$0-out];
#X text 157 436 Connect all wrapper object's right inlet to [r \$0-in2]
;
#X obj 138 169 t b a a;
#X obj 139 555 list prepend;
#X obj 220 526 r \$0-subname;
#X msg 139 577 \; \$1 loadbang;
#X text 140 618 Final loadbang;
#X text 139 497 No loadbang here for backwards compatibility!;
#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 17 0;
#X connect 17 1 6 0;
#X connect 17 2 1 0;
#X connect 18 0 20 0;
#X connect 19 0 18 1;
#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;