aboutsummaryrefslogtreecommitdiff
path: root/s-arranger.pd
blob: 3cb314e8d163d24dcefa98c73007d8f0adcefd18 (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
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
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
#N struct 1314cursor float x;
#N canvas 0 16 999 675 10;
#X text 6 627 template definition:;
#X obj 72 205 bng 12 250 50 0 \$0new empty add_block 16 9 0 8 -260818
-1 -1;
#N canvas 134 279 506 489 1314data 0;
#X scalar 1314cursor 0 \;;
#X coords 0 -1 770 180 770 180 1;
#X restore 19 22 pd \$0data;
#X obj 19 205 bng 12 250 50 0 \$0clear empty clear 16 9 0 8 -260818
-1 -1;
#X text 8 40 1;
#X text 8 50 2;
#X text 8 60 3;
#X text 8 70 4;
#X text 8 30 0;
#X text 8 80 5;
#X text 8 90 6;
#X text 8 100 7;
#X text 8 110 8;
#X text 8 120 9;
#X text 8 130 A;
#X text 8 140 B;
#X text 8 150 C;
#X text 8 160 D;
#X text 8 170 E;
#X text 8 180 F;
#N canvas 67 68 640 606 1314lines 0;
#X obj 7 7 struct \$0lines float x;
#X obj 423 397 pointer;
#X obj 316 174 t b b;
#X obj 346 196 \$0;
#X obj 346 218 makefilename pd-%ddata;
#X msg 423 374 traverse \$1 \, bang;
#X msg 529 218 \; \$1 clear \;;
#X obj 529 174 \$0;
#X obj 529 196 makefilename pd-%ddata;
#X text 527 151 clear the data;
#X obj 294 78 loadbang;
#X obj 316 333 until;
#X obj 316 354 f;
#X obj 347 354 + 1;
#X obj 316 266 t b b;
#X obj 346 288 0;
#X obj 316 423 append \$0lines x;
#X obj 358 78 r \$0clear;
#X obj 7 27 drawpolygon 333 1 8 11 8 170;
#X obj 153 263 pointer;
#X obj 39 168 t b b;
#X obj 69 190 \$0;
#X obj 69 212 makefilename pd-%ddata;
#X msg 153 240 traverse \$1 \, bang;
#X obj 39 286 append \$0cursor x;
#X msg 39 241 0;
#X text 36 134 create the cursor;
#X obj 294 117 t b b b;
#X text 320 155 create the lines;
#X obj 316 288 \$2;
#X obj 316 310 / \$3;
#X obj 316 376 * 3;
#X obj 316 397 * \$3;
#X obj 39 309 s \$0cursorp;
#X connect 1 0 16 1;
#X connect 2 0 14 0;
#X connect 2 1 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X connect 10 0 27 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 12 0 31 0;
#X connect 13 0 12 1;
#X connect 14 0 29 0;
#X connect 14 1 15 0;
#X connect 15 0 12 1;
#X connect 17 0 27 0;
#X connect 19 0 24 1;
#X connect 20 0 25 0;
#X connect 20 1 21 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 19 0;
#X connect 24 0 33 0;
#X connect 25 0 24 0;
#X connect 27 0 20 0;
#X connect 27 1 2 0;
#X connect 27 2 7 0;
#X connect 29 0 30 0;
#X connect 30 0 11 0;
#X connect 31 0 32 0;
#X connect 32 0 16 0;
#X restore 79 647 pd \$0lines;
#N canvas 382 73 583 576 1314rect 0;
#X obj 126 529 pointer;
#X obj 12 433 t b b;
#X text 438 55 main bar;
#X text 438 93 end: red;
#X text 439 129 begin: black;
#X obj 12 410 r \$0new;
#X obj 42 455 \$0;
#X obj 42 477 makefilename pd-%ddata;
#X msg 126 506 traverse \$1 \, bang;
#X obj 285 412 r \$0clear;
#X msg 285 479 \; \$1 clear \;;
#X obj 285 435 \$0;
#X obj 285 457 makefilename pd-%ddata;
#X text 284 393 clear the data;
#X text 10 393 create a new block;
#X obj 7 9 struct \$0rect float x float y float w float x0 float y0
float t;
#X obj 12 559 append \$0rect x y w t;
#X msg 12 535 10 10 20 1;
#X obj 7 42 filledpolygon 777 0 1 x0(0:300)(0:900)(1) y0(0:15)(0:150)(1)
w(0:300)(0:900)(1) y0(0:15)(0:150)(1) w(0:300)(0:900)(1) y0(0:15)(10:160)(1)
x0(0:300)(0:900)(1) y0(0:15)(10:160)(1);
#X obj 7 101 drawpolygon 900 5 w(0:300)(0:900)(1) y0(0:15)(0:150)(1)
w(0:300)(0:900)(1) y0(0:15)(11:161)(1);
#X obj 7 134 drawpolygon 0 5 x0(0:300)(0:900)(1) y0(0:15)(0:150)(1)
x0(0:300)(0:900)(1) y0(0:15)(11:161)(1);
#X obj 7 167 drawnumber t(0:20)(0:20) x0(0:300)(10:910)(1) y0(0:15)(0:150)(1)
;
#X connect 0 0 16 4;
#X connect 1 0 17 0;
#X connect 1 1 6 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 9 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 10 0;
#X connect 17 0 16 0;
#X restore 8 647 pd \$0rect;
#N canvas 67 68 640 606 1314cursor 0;
#X obj 7 27 drawpolygon 900 1 8 11 8 170;
#X obj 7 7 struct \$0cursor float x;
#X restore 157 647 pd \$0cursor;
#X obj 4 256 inlet;
#X obj 373 647 namecanvas \$0arranger;
#N canvas 43 35 764 635 setup 0;
#X obj 109 326 pack f s;
#X obj 160 280 \$0;
#X obj 109 256 t f b;
#X msg 109 349 \; \$2 obj 20 23 cnv 15 \$1 178 empty empty empty 20
12 0 14 -260818 -66577 0 \;;
#X obj 160 303 makefilename %darranger;
#X obj 131 187 pack f s;
#X obj 182 140 \$0;
#X obj 131 117 t f b;
#X obj 182 163 makefilename pd-%ddata;
#X msg 131 212 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 180 \$1 180
25 40;
#X obj 131 93 + 2;
#X obj 87 71 t f f f;
#X obj 87 427 pack f s;
#X msg 87 450 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 220 \$1 220 0
0;
#X obj 87 25 s-default \$2 256;
#X obj 87 47 * 3;
#X obj 87 402 + 28;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 2 0 0 0;
#X connect 2 1 1 0;
#X connect 4 0 0 1;
#X connect 4 0 12 1;
#X connect 5 0 9 0;
#X connect 6 0 8 0;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 8 0 5 1;
#X connect 10 0 7 0;
#X connect 11 0 16 0;
#X connect 11 1 2 0;
#X connect 11 2 10 0;
#X connect 12 0 13 0;
#X connect 14 0 15 0;
#X connect 15 0 11 0;
#X connect 16 0 12 0;
#X restore 7 601 pd setup;
#X text 2 223 args: [name] [length] [bars per section] [ticker name]
[ticks per bar];
#X obj 47 256 r \$4;
#X obj 4 379 int;
#X obj 4 401 change;
#X obj 4 356 /;
#X obj 141 508 r \$0cursorp;
#X obj 97 531 pointer;
#X obj 4 554 set \$0cursor x;
#X obj 4 514 * 3;
#X obj 20 335 s-default \$5 \$3;
#N canvas 485 99 507 438 save 0;
#X obj 176 16 r SSSAD_SAVE;
#X obj 214 199 until;
#X obj 172 338 list prepend;
#X obj 265 338 t l;
#X obj 149 367 list;
#X obj 176 41 t b b b b;
#X msg 214 112 traverse \$1 \, next;
#X obj 214 68 \$0;
#X obj 214 91 makefilename pd-%ddata;
#X obj 7 415 outlet;
#X obj 214 135 pointer \$0rect;
#X obj 274 260 get \$0rect w x0 y0 t;
#X obj 274 290 pack f f f f;
#X msg 294 186 next;
#X obj 7 394 sssad/sssad \$1/blocks;
#X obj 214 160 t b p;
#X connect 0 0 5 0;
#X connect 1 0 13 0;
#X connect 2 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 2 1;
#X connect 4 0 14 1;
#X connect 5 0 4 0;
#X connect 5 2 7 0;
#X connect 5 3 2 1;
#X connect 6 0 10 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X connect 10 0 15 0;
#X connect 10 2 1 1;
#X connect 11 0 12 0;
#X connect 11 1 12 1;
#X connect 11 2 12 2;
#X connect 11 3 12 3;
#X connect 12 0 2 0;
#X connect 13 0 10 0;
#X connect 14 0 9 0;
#X connect 15 0 1 0;
#X connect 15 1 11 0;
#X restore 278 623 pd save;
#N canvas 64 35 650 643 load 0;
#X obj 21 6 inlet;
#X obj 21 65 until;
#X obj 21 103 list append;
#X obj 120 148 bang;
#X obj 205 202 \$0;
#X obj 205 225 makefilename pd-%ddata;
#X obj 21 32 t b l b b;
#X obj 21 148 list split 4;
#X obj 152 78 \$0;
#X msg 205 246 traverse \$1 \, bang;
#X obj 205 269 pointer;
#X obj 21 381 append \$0rect w x0 y0 t x y;
#X msg 127 292 10;
#X obj 21 186 t l b;
#X obj 21 292 unpack f f f f;
#X msg 152 99 \; \$1clear bang \;;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 5 0 9 0;
#X connect 6 0 1 0;
#X connect 6 1 2 1;
#X connect 6 2 4 0;
#X connect 6 3 8 0;
#X connect 7 0 13 0;
#X connect 7 1 2 1;
#X connect 7 2 3 0;
#X connect 8 0 15 0;
#X connect 9 0 10 0;
#X connect 10 0 11 6;
#X connect 12 0 11 5;
#X connect 12 0 11 4;
#X connect 13 0 14 0;
#X connect 13 1 12 0;
#X connect 14 0 11 0;
#X connect 14 1 11 1;
#X connect 14 2 11 2;
#X connect 14 3 11 3;
#X restore 278 647 pd load;
#X obj 4 448 t f b f;
#N canvas 274 37 621 620 lookup 0;
#X obj 12 7 inlet;
#X obj 69 539 outlet;
#X obj 74 274 until;
#X msg 74 187 traverse \$1 \, next;
#X obj 74 143 \$0;
#X obj 74 166 makefilename pd-%ddata;
#X obj 74 210 pointer \$0rect;
#X obj 115 302 get \$0rect w x0 y0 t;
#X msg 162 262 next;
#X obj 74 235 t b p;
#X obj 349 189 f;
#X obj 294 374 &&;
#X obj 294 398 select 1;
#X obj 294 347 >=;
#X obj 364 346 <=;
#X obj 198 572 tabwrite \$0vals;
#X text 409 6 Temporary storage for values;
#X obj 412 28 table \$0vals 16;
#X obj 104 105 \$0;
#X msg 104 130 \; \$1vals const 0 \;;
#X obj 55 51 t b b b f;
#X obj 69 397 until;
#X obj 99 475 tabread \$0vals;
#X msg 69 375 16;
#X msg 99 375 0;
#X obj 69 419 f;
#X obj 97 419 + 1;
#X obj 55 337 t b b b;
#X obj 230 445 pack f f;
#X obj 207 475 list;
#X obj 207 500 unpack f f;
#X obj 224 548 f;
#X obj 207 522 t b f;
#X obj 69 448 t f f;
#X obj 69 507 pack f f;
#X connect 0 0 20 0;
#X connect 2 0 8 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 9 0;
#X connect 6 2 2 1;
#X connect 7 0 13 0;
#X connect 7 1 14 0;
#X connect 7 2 28 0;
#X connect 7 3 28 1;
#X connect 8 0 6 0;
#X connect 9 0 2 0;
#X connect 9 1 7 0;
#X connect 10 0 13 1;
#X connect 10 0 14 1;
#X connect 11 0 12 0;
#X connect 12 0 29 0;
#X connect 13 0 11 0;
#X connect 14 0 11 1;
#X connect 18 0 19 0;
#X connect 20 0 27 0;
#X connect 20 1 4 0;
#X connect 20 2 18 0;
#X connect 20 3 10 0;
#X connect 21 0 25 0;
#X connect 22 0 34 1;
#X connect 23 0 21 0;
#X connect 24 0 25 1;
#X connect 25 0 26 0;
#X connect 25 0 33 0;
#X connect 26 0 25 1;
#X connect 27 1 23 0;
#X connect 27 2 24 0;
#X connect 28 0 29 1;
#X connect 29 0 30 0;
#X connect 30 0 32 0;
#X connect 30 1 31 1;
#X connect 31 0 15 0;
#X connect 32 0 31 0;
#X connect 32 1 15 1;
#X connect 33 0 34 0;
#X connect 33 1 22 0;
#X connect 34 0 1 0;
#X restore 228 484 pd lookup;
#X obj 228 508 outlet;
#X obj 4 424 mod \$2;
#X text 694 653 inspired by FB's quantized sequencer demo!;
#X obj 279 508 s \$1/values;
#X connect 23 0 30 0;
#X connect 27 0 30 0;
#X connect 28 0 29 0;
#X connect 29 0 41 0;
#X connect 30 0 28 0;
#X connect 31 0 32 1;
#X connect 32 0 33 1;
#X connect 34 0 33 0;
#X connect 35 0 30 1;
#X connect 36 0 37 0;
#X connect 38 0 34 0;
#X connect 38 1 32 0;
#X connect 38 2 39 0;
#X connect 39 0 40 0;
#X connect 39 0 43 0;
#X connect 41 0 38 0;
#X coords 0 -1 796 220 796 220 1 0 0;