-
Notifications
You must be signed in to change notification settings - Fork 2
/
vanillaJoin.pd
217 lines (217 loc) · 5.54 KB
/
vanillaJoin.pd
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
#N canvas 107 327 719 401 10;
#X obj 49 360 namecanvas \$0-this;
#N canvas 330 108 633 394 \$0-guts 0;
#X obj 51 133 moses 1;
#X obj 51 106 i \$1;
#X msg 51 158 2;
#X text 83 158 no creation arg gives 2 inlets;
#X obj 309 42 r \$0-start;
#X obj 309 64 \$1;
#X obj 309 133 until;
#X obj 309 177 f;
#X obj 339 177 + 1;
#X msg 324 154 0;
#X obj 309 86 t f b;
#X obj 415 239 moses \$1;
#X obj 415 261 t b f;
#X obj 415 332 s;
#X msg 442 306 symbol \$2-bang\$1;
#X obj 442 284 pack f \$0;
#X obj 534 256 t b;
#X obj 534 278 s \$0-done;
#X obj 51 180 t f f f;
#X obj 309 108 + 2;
#X obj 309 199 moses 1;
#X obj 415 216 - 1;
#X obj 309 221 t b;
#X obj 309 243 s \$0-clear;
#N canvas 352 117 461 379 \$0-create_inlet_and_subpatch 0;
#X obj 81 103 + 1;
#X obj 52 103 i;
#X obj 52 38 t f b;
#X obj 52 61 until;
#X msg 67 81 0;
#X obj 52 125 t f f f;
#X obj 71 243 s \$0-this;
#X obj 71 173 + 20;
#X obj 52 16 inlet;
#X obj 52 266 outlet done;
#X obj 71 197 pack f f \$0;
#X msg 71 221 obj \$1 10 inlet \, obj \$1 50 pd \$3-element\$2;
#X obj 71 151 * 120;
#X connect 0 0 1 1;
#X connect 1 0 0 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 1 0;
#X connect 4 0 1 1;
#X connect 5 0 9 0;
#X connect 5 1 12 0;
#X connect 5 2 10 1;
#X connect 7 0 10 0;
#X connect 8 0 2 0;
#X connect 10 0 11 0;
#X connect 11 0 6 0;
#X connect 12 0 7 0;
#X restore 51 206 pd \$0-create_inlet_and_subpatch;
#N canvas 607 27 489 725 \$0-fill_subpatch 0;
#X obj 30 12 inlet;
#X obj 49 78 t f f f;
#X msg 49 56 100;
#X obj 49 160 pack f f f f \$0;
#X obj 68 102 + 50;
#X obj 102 102 + 100;
#X msg 49 182 obj \$1 50 inlet \, obj \$1 80 route bang float symbol
\, obj \$2 120 t b b f \, obj \$3 120 t b b s \, obj \$2 150 s \$5-start
\, obj \$1 180 r \$5-bang\$4 \, msg \$2 210 0 \, msg \$3 210 1 \, obj
\$1 250 f \, obj \$2 250 f \, obj \$3 250 symbol \, obj \$1 280 sel
0 1 \, obj \$2 320 outlet;
#X obj 141 257 pack f \$0;
#X msg 141 279 symbol pd-\$2-element\$1;
#X obj 114 51 t f f;
#X obj 49 318 s;
#X obj 30 34 t f b f;
#X msg 49 363 13;
#X obj 49 385 until;
#X obj 49 433 f;
#X obj 79 433 + 1;
#X text 81 364 the objects in the subpatch are 13;
#X obj 49 455 t f f;
#X obj 96 494 t l l;
#X obj 96 472 list prepend;
#X obj 49 511 list;
#X obj 141 301 t s s;
#X obj 49 633 s;
#X obj 30 678 outlet done;
#X obj 30 341 t f b b;
#X msg 64 411 0;
#X obj 49 477 sel 12;
#X obj 30 654 t f b;
#X msg 112 671 vis 0;
#X msg 49 533 connect \$1 0 \$2 0 \, connect \$2 1 \$3 0 \, connect
\$2 2 \$4 0 \, connect \$3 0 \$5 0 \, connect \$4 0 \$5 0 \, connect
\$2 0 \$5 0 \, connect \$3 1 \$7 0 \, connect \$4 1 \$8 0 \, connect
\$7 0 \$9 1 \, connect \$8 0 \$9 1 \, connect \$6 0 \$9 0 \, connect
\$9 0 \$12 0 \, connect \$3 2 \$10 1 \, connect \$4 2 \$11 1 \, connect
\$12 0 \$10 0 \, connect \$12 1 \$11 0 \, connect \$10 0 \$13 0 \,
connect \$11 0 \$13 0;
#X connect 0 0 11 0;
#X connect 1 0 3 0;
#X connect 1 1 4 0;
#X connect 1 2 5 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 4 0 3 1;
#X connect 5 0 3 2;
#X connect 6 0 10 0;
#X connect 7 0 8 0;
#X connect 8 0 21 0;
#X connect 9 0 3 3;
#X connect 9 1 7 0;
#X connect 11 0 24 0;
#X connect 11 1 2 0;
#X connect 11 2 9 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 14 0 17 0;
#X connect 15 0 14 1;
#X connect 17 0 26 0;
#X connect 17 1 19 0;
#X connect 18 0 20 1;
#X connect 18 1 19 1;
#X connect 19 0 18 0;
#X connect 20 0 29 0;
#X connect 21 0 10 1;
#X connect 21 1 22 1;
#X connect 24 0 27 0;
#X connect 24 1 12 0;
#X connect 24 2 25 0;
#X connect 25 0 14 1;
#X connect 26 0 20 0;
#X connect 27 0 23 0;
#X connect 27 1 28 0;
#X connect 28 0 22 0;
#X connect 29 0 22 0;
#X restore 51 227 pd \$0-fill_subpatch;
#N canvas 0 22 569 264 \$0-connect_inlet_and_subpatch 0;
#X obj 70 107 t f f;
#X obj 97 130 + 1;
#X obj 70 152 pack;
#X obj 70 197 s \$0-this;
#X obj 70 18 inlet;
#X obj 70 63 * 2;
#X obj 70 40 + 1;
#X obj 70 85 + 8;
#X text 100 58 we need to connet 10 with 11 and 11 with 2 \, then 12
with 13 and 13 with 2 etc. hence these additions and multiplication
;
#X msg 70 175 connect \$1 0 \$2 0 \, connect \$2 0 2 0;
#X connect 0 0 2 0;
#X connect 0 1 1 0;
#X connect 1 0 2 1;
#X connect 2 0 9 0;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 7 0 0 0;
#X connect 9 0 3 0;
#X restore 51 249 pd \$0-connect_inlet_and_subpatch;
#X obj 51 39 r _initbang;
#X obj 51 61 spigot 1;
#X obj 51 83 t b b;
#X msg 111 61 0;
#X connect 0 0 2 0;
#X connect 0 1 24 0;
#X connect 1 0 0 0;
#X connect 2 0 18 0;
#X connect 4 0 5 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 0 20 0;
#X connect 8 0 7 1;
#X connect 9 0 7 1;
#X connect 10 0 19 0;
#X connect 10 1 9 0;
#X connect 11 0 12 0;
#X connect 11 1 16 0;
#X connect 12 0 13 0;
#X connect 12 1 15 0;
#X connect 14 0 13 1;
#X connect 15 0 14 0;
#X connect 16 0 17 0;
#X connect 18 0 24 0;
#X connect 18 1 11 1;
#X connect 18 2 5 1;
#X connect 19 0 6 0;
#X connect 20 0 22 0;
#X connect 20 1 21 0;
#X connect 21 0 11 0;
#X connect 22 0 23 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 27 0 28 0;
#X connect 28 0 29 0;
#X connect 29 0 1 0;
#X connect 29 1 30 0;
#X connect 30 0 28 1;
#X restore 170 360 pd \$0-guts;
#X obj 70 247 list prepend;
#X obj 70 269 t l l;
#X obj 49 291 list;
#X obj 49 313 list trim;
#X obj 49 335 outlet;
#X obj 49 224 r \$0-done;
#X obj 139 224 r \$0-clear;
#X text 287 257 Pd-vanilla list abstraction with hot inlets only. Inspired
by [vanillaBondo] by Matt Davey. Made by Alexandros Drymonitis;
#X connect 2 0 3 0;
#X connect 3 0 4 1;
#X connect 3 1 2 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 7 0 4 0;
#X connect 8 0 2 1;
_initbang bang;