pianorollseq.pd 21.8 KB
Newer Older
1
#N struct 1003.vertgrid float x float y float w float h;
Roman Haefeli's avatar
Roman Haefeli committed
2
3
4
#N struct 1003.horizgrid float x float y float w float h float c;
#N struct 1003.vertline float x float y float h float c float n float
nvis;
5
6
#N struct 1003.note float x float y float len float vel float color
float id float vis;
7
#N canvas 705 99 1045 815 10;
8
#N canvas 114 134 1068 729 testfeld 1;
Roman Haefeli's avatar
Roman Haefeli committed
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
#X scalar 1003.vertgrid 90 40 15 672 \;;
#X scalar 1003.vertgrid 105 40 15 672 \;;
#X scalar 1003.vertgrid 120 40 15 672 \;;
#X scalar 1003.vertgrid 135 40 15 672 \;;
#X scalar 1003.vertgrid 150 40 15 672 \;;
#X scalar 1003.vertgrid 165 40 15 672 \;;
#X scalar 1003.vertgrid 180 40 15 672 \;;
#X scalar 1003.vertgrid 195 40 15 672 \;;
#X scalar 1003.vertgrid 210 40 15 672 \;;
#X scalar 1003.vertgrid 225 40 15 672 \;;
#X scalar 1003.vertgrid 240 40 15 672 \;;
#X scalar 1003.vertgrid 255 40 15 672 \;;
#X scalar 1003.vertgrid 270 40 15 672 \;;
#X scalar 1003.vertgrid 285 40 15 672 \;;
#X scalar 1003.vertgrid 300 40 15 672 \;;
#X scalar 1003.vertgrid 315 40 15 672 \;;
#X scalar 1003.vertgrid 330 40 15 672 \;;
#X scalar 1003.vertgrid 345 40 15 672 \;;
#X scalar 1003.vertgrid 360 40 15 672 \;;
#X scalar 1003.vertgrid 375 40 15 672 \;;
#X scalar 1003.vertgrid 390 40 15 672 \;;
#X scalar 1003.vertgrid 405 40 15 672 \;;
#X scalar 1003.vertgrid 420 40 15 672 \;;
#X scalar 1003.vertgrid 435 40 15 672 \;;
#X scalar 1003.vertgrid 450 40 15 672 \;;
#X scalar 1003.vertgrid 465 40 15 672 \;;
#X scalar 1003.vertgrid 480 40 15 672 \;;
#X scalar 1003.vertgrid 495 40 15 672 \;;
#X scalar 1003.vertgrid 510 40 15 672 \;;
#X scalar 1003.vertgrid 525 40 15 672 \;;
#X scalar 1003.vertgrid 540 40 15 672 \;;
#X scalar 1003.vertgrid 555 40 15 672 \;;
#X scalar 1003.vertgrid 570 40 15 672 \;;
#X scalar 1003.vertgrid 585 40 15 672 \;;
#X scalar 1003.vertgrid 600 40 15 672 \;;
#X scalar 1003.vertgrid 615 40 15 672 \;;
#X scalar 1003.vertgrid 630 40 15 672 \;;
#X scalar 1003.vertgrid 645 40 15 672 \;;
#X scalar 1003.vertgrid 660 40 15 672 \;;
#X scalar 1003.vertgrid 675 40 15 672 \;;
#X scalar 1003.vertgrid 690 40 15 672 \;;
#X scalar 1003.vertgrid 705 40 15 672 \;;
#X scalar 1003.vertgrid 720 40 15 672 \;;
#X scalar 1003.vertgrid 735 40 15 672 \;;
#X scalar 1003.vertgrid 750 40 15 672 \;;
#X scalar 1003.vertgrid 765 40 15 672 \;;
#X scalar 1003.vertgrid 780 40 15 672 \;;
#X scalar 1003.vertgrid 795 40 15 672 \;;
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
#X scalar 1003.vertgrid 810 40 15 672 \;;
#X scalar 1003.vertgrid 825 40 15 672 \;;
#X scalar 1003.vertgrid 840 40 15 672 \;;
#X scalar 1003.vertgrid 855 40 15 672 \;;
#X scalar 1003.vertgrid 870 40 15 672 \;;
#X scalar 1003.vertgrid 885 40 15 672 \;;
#X scalar 1003.vertgrid 900 40 15 672 \;;
#X scalar 1003.vertgrid 915 40 15 672 \;;
#X scalar 1003.vertgrid 930 40 15 672 \;;
#X scalar 1003.vertgrid 945 40 15 672 \;;
#X scalar 1003.vertgrid 960 40 15 672 \;;
#X scalar 1003.vertgrid 975 40 15 672 \;;
#X scalar 1003.vertgrid 990 40 15 672 \;;
#X scalar 1003.vertgrid 1005 40 15 672 \;;
#X scalar 1003.vertgrid 1020 40 15 672 \;;
#X scalar 1003.vertgrid 1035 40 15 672 \;;
#X scalar 1003.horizgrid 90 40 960 14 887 \;;
#X scalar 1003.horizgrid 90 54 960 14 777 \;;
#X scalar 1003.horizgrid 90 68 960 14 887 \;;
#X scalar 1003.horizgrid 90 82 960 14 777 \;;
#X scalar 1003.horizgrid 90 96 960 14 887 \;;
#X scalar 1003.horizgrid 90 110 960 14 777 \;;
#X scalar 1003.horizgrid 90 124 960 14 887 \;;
#X scalar 1003.horizgrid 90 138 960 14 887 \;;
#X scalar 1003.horizgrid 90 152 960 14 777 \;;
#X scalar 1003.horizgrid 90 166 960 14 887 \;;
#X scalar 1003.horizgrid 90 180 960 14 777 \;;
#X scalar 1003.horizgrid 90 194 960 14 887 \;;
#X scalar 1003.horizgrid 90 208 960 14 887 \;;
#X scalar 1003.horizgrid 90 222 960 14 777 \;;
#X scalar 1003.horizgrid 90 236 960 14 887 \;;
#X scalar 1003.horizgrid 90 250 960 14 777 \;;
#X scalar 1003.horizgrid 90 264 960 14 887 \;;
#X scalar 1003.horizgrid 90 278 960 14 777 \;;
#X scalar 1003.horizgrid 90 292 960 14 887 \;;
#X scalar 1003.horizgrid 90 306 960 14 887 \;;
#X scalar 1003.horizgrid 90 320 960 14 777 \;;
#X scalar 1003.horizgrid 90 334 960 14 887 \;;
#X scalar 1003.horizgrid 90 348 960 14 777 \;;
#X scalar 1003.horizgrid 90 362 960 14 887 \;;
#X scalar 1003.horizgrid 90 376 960 14 887 \;;
#X scalar 1003.horizgrid 90 390 960 14 777 \;;
#X scalar 1003.horizgrid 90 404 960 14 887 \;;
#X scalar 1003.horizgrid 90 418 960 14 777 \;;
#X scalar 1003.horizgrid 90 432 960 14 887 \;;
#X scalar 1003.horizgrid 90 446 960 14 777 \;;
#X scalar 1003.horizgrid 90 460 960 14 887 \;;
#X scalar 1003.horizgrid 90 474 960 14 887 \;;
#X scalar 1003.horizgrid 90 488 960 14 777 \;;
#X scalar 1003.horizgrid 90 502 960 14 887 \;;
#X scalar 1003.horizgrid 90 516 960 14 777 \;;
#X scalar 1003.horizgrid 90 530 960 14 887 \;;
#X scalar 1003.horizgrid 90 544 960 14 887 \;;
#X scalar 1003.horizgrid 90 558 960 14 777 \;;
#X scalar 1003.horizgrid 90 572 960 14 887 \;;
#X scalar 1003.horizgrid 90 586 960 14 777 \;;
#X scalar 1003.horizgrid 90 600 960 14 887 \;;
#X scalar 1003.horizgrid 90 614 960 14 777 \;;
#X scalar 1003.horizgrid 90 628 960 14 887 \;;
#X scalar 1003.horizgrid 90 642 960 14 887 \;;
#X scalar 1003.horizgrid 90 656 960 14 777 \;;
#X scalar 1003.horizgrid 90 670 960 14 887 \;;
#X scalar 1003.horizgrid 90 684 960 14 777 \;;
#X scalar 1003.horizgrid 90 698 960 14 887 \;;
Roman Haefeli's avatar
Roman Haefeli committed
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
#X scalar 1003.vertline 90 40 672 0 1 1 \;;
#X scalar 1003.vertline 105 40 672 888 1 0 \;;
#X scalar 1003.vertline 120 40 672 888 1 0 \;;
#X scalar 1003.vertline 135 40 672 888 1 0 \;;
#X scalar 1003.vertline 150 40 672 666 1 0 \;;
#X scalar 1003.vertline 165 40 672 888 1 0 \;;
#X scalar 1003.vertline 180 40 672 888 1 0 \;;
#X scalar 1003.vertline 195 40 672 888 1 0 \;;
#X scalar 1003.vertline 210 40 672 666 1 0 \;;
#X scalar 1003.vertline 225 40 672 888 1 0 \;;
#X scalar 1003.vertline 240 40 672 888 1 0 \;;
#X scalar 1003.vertline 255 40 672 888 1 0 \;;
#X scalar 1003.vertline 270 40 672 666 1 0 \;;
#X scalar 1003.vertline 285 40 672 888 1 0 \;;
#X scalar 1003.vertline 300 40 672 888 1 0 \;;
#X scalar 1003.vertline 315 40 672 888 1 0 \;;
#X scalar 1003.vertline 330 40 672 0 2 1 \;;
#X scalar 1003.vertline 345 40 672 888 2 0 \;;
#X scalar 1003.vertline 360 40 672 888 2 0 \;;
#X scalar 1003.vertline 375 40 672 888 2 0 \;;
#X scalar 1003.vertline 390 40 672 666 2 0 \;;
#X scalar 1003.vertline 405 40 672 888 2 0 \;;
#X scalar 1003.vertline 420 40 672 888 2 0 \;;
#X scalar 1003.vertline 435 40 672 888 2 0 \;;
#X scalar 1003.vertline 450 40 672 666 2 0 \;;
#X scalar 1003.vertline 465 40 672 888 2 0 \;;
#X scalar 1003.vertline 480 40 672 888 2 0 \;;
#X scalar 1003.vertline 495 40 672 888 2 0 \;;
#X scalar 1003.vertline 510 40 672 666 2 0 \;;
#X scalar 1003.vertline 525 40 672 888 2 0 \;;
#X scalar 1003.vertline 540 40 672 888 2 0 \;;
#X scalar 1003.vertline 555 40 672 888 2 0 \;;
#X scalar 1003.vertline 570 40 672 0 3 1 \;;
#X scalar 1003.vertline 585 40 672 888 3 0 \;;
#X scalar 1003.vertline 600 40 672 888 3 0 \;;
#X scalar 1003.vertline 615 40 672 888 3 0 \;;
#X scalar 1003.vertline 630 40 672 666 3 0 \;;
#X scalar 1003.vertline 645 40 672 888 3 0 \;;
#X scalar 1003.vertline 660 40 672 888 3 0 \;;
#X scalar 1003.vertline 675 40 672 888 3 0 \;;
#X scalar 1003.vertline 690 40 672 666 3 0 \;;
#X scalar 1003.vertline 705 40 672 888 3 0 \;;
#X scalar 1003.vertline 720 40 672 888 3 0 \;;
#X scalar 1003.vertline 735 40 672 888 3 0 \;;
#X scalar 1003.vertline 750 40 672 666 3 0 \;;
#X scalar 1003.vertline 765 40 672 888 3 0 \;;
#X scalar 1003.vertline 780 40 672 888 3 0 \;;
#X scalar 1003.vertline 795 40 672 888 3 0 \;;
#X scalar 1003.vertline 810 40 672 0 4 1 \;;
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
#X scalar 1003.vertline 825 40 672 888 4 0 \;;
#X scalar 1003.vertline 840 40 672 888 4 0 \;;
#X scalar 1003.vertline 855 40 672 888 4 0 \;;
#X scalar 1003.vertline 870 40 672 666 4 0 \;;
#X scalar 1003.vertline 885 40 672 888 4 0 \;;
#X scalar 1003.vertline 900 40 672 888 4 0 \;;
#X scalar 1003.vertline 915 40 672 888 4 0 \;;
#X scalar 1003.vertline 930 40 672 666 4 0 \;;
#X scalar 1003.vertline 945 40 672 888 4 0 \;;
#X scalar 1003.vertline 960 40 672 888 4 0 \;;
#X scalar 1003.vertline 975 40 672 888 4 0 \;;
#X scalar 1003.vertline 990 40 672 666 4 0 \;;
#X scalar 1003.vertline 1005 40 672 888 4 0 \;;
#X scalar 1003.vertline 1020 40 672 888 4 0 \;;
#X scalar 1003.vertline 1035 40 672 888 4 0 \;;
#X scalar 1003.vertline 1050 40 672 0 5 0 \;;
#X scalar 1003.note 495 320 20 64 400 0 0 \;;
#X scalar 1003.note 600 334 20 64 400 1 0 \;;
#X scalar 1003.note 615 418 20 64 400 2 0 \;;
#X scalar 1003.note 525 334 20 64 400 3 0 \;;
#X scalar 1003.note 330 320 228 101 700 4 1 \;;
#X scalar 1003.note 345 348 20 64 400 5 0 \;;
#X scalar 1003.note 330 348 229 83 500 6 1 \;;
#X scalar 1003.note 330 418 226 64 400 7 1 \;;
#X scalar 1003.note 615 348 5 73 500 8 1 \;;
#X scalar 1003.note 615 390 6 86 600 9 1 \;;
#X scalar 1003.note 615 418 3 76 500 10 1 \;;
#X scalar 1003.note 660 348 3 64 400 11 1 \;;
Roman Haefeli's avatar
Roman Haefeli committed
198
#X restore 39 55 pd testfeld;
199
#X obj 346 184 s pd-testfeld;
200
#X msg 622 275 clear;
201
#X msg 325 58 scalar rechteck 20 100 20 64 555;
Roman Haefeli's avatar
Roman Haefeli committed
202
#X obj 571 409 s pd-testfeld;
203
#X obj 67 646 s pd-testfeld;
Roman Haefeli's avatar
Roman Haefeli committed
204
205
206
#X obj 67 373 del 0;
#X obj 67 400 f;
#X msg 110 376 1;
207
#X msg 252 359 0;
Roman Haefeli's avatar
Roman Haefeli committed
208
209
#X obj 67 426 sel 1;
#N canvas 0 99 483 432 detect_double_click 0;
210
211
#X obj 91 101 -;
#X obj 90 76 t a a;
Roman Haefeli's avatar
Roman Haefeli committed
212
213
214
#X obj 19 23 inlet;
#X text 109 21 this detects two clicks on the same scalar within a
certain period.;
215
216
217
218
#X obj 19 75 t b b;
#X obj 19 99 del 300;
#X msg 19 122 0;
#X msg 52 123 1;
Roman Haefeli's avatar
Roman Haefeli committed
219
#X obj 19 48 t b a;
220
221
222
223
224
225
226
227
228
229
230
231
232
233
#X obj 91 166 spigot 0;
#X obj 91 203 outlet;
#X obj 91 126 sel 0;
#X connect 0 0 11 0;
#X connect 1 0 0 1;
#X connect 1 1 0 0;
#X connect 2 0 8 0;
#X connect 4 0 5 0;
#X connect 4 1 7 0;
#X connect 5 0 6 0;
#X connect 6 0 9 1;
#X connect 7 0 9 1;
#X connect 8 0 4 0;
#X connect 8 1 1 0;
Roman Haefeli's avatar
Roman Haefeli committed
234
#X connect 9 0 10 0;
235
236
237
238
239
#X connect 11 0 9 0;
#X restore 279 398 pd detect_double_click;
#X obj 130 522 f;
#X obj 130 545 t a a;
#X obj 177 532 + 1;
240
#X obj 67 494 t a b;
241
242
243
244
245
246
247
248
249
250
251
252
253
#X obj 67 569 list append;
#X obj 252 277 unpack s p f;
#X obj 252 300 sel click;
#X msg 279 421 0;
#X obj 252 322 t b b;
#X obj 279 346 pointer;
#X obj 835 17 array define \$0.active 1000;
#X obj 835 38 array define \$0.step 1000;
#X obj 835 61 array define \$0.pitch 1000;
#X obj 835 84 array define \$0.length 1000;
#X obj 835 107 array define \$0.velocity 1000;
#X obj 673 17 loadbang;
#X obj 673 40 \$0;
Roman Haefeli's avatar
Roman Haefeli committed
254
#X obj 571 208 r \$0.init;
255
256
#X obj 651 16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
#N canvas 133 127 401 394 create_horizgrid 0;
#X obj 16 86 t a b;
#X obj 16 109 until;
#X obj 16 132 f;
#X msg 54 110 0;
#X obj 67 150 + 1;
#X obj 16 62 f;
#X obj 49 62 r \$0.pitchrange;
#X text 229 320 x y w h c;
#X obj 16 271 pack f f f f f;
#N canvas 0 99 387 189 x 0;
#X obj 18 12 inlet;
#X obj 18 97 +;
#X obj 33 70 r \$0.canvasleftmargin;
#X msg 18 46 0;
#X obj 18 120 outlet;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 2 0 1 1;
Roman Haefeli's avatar
Roman Haefeli committed
276
#X connect 3 0 1 0;
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
#X restore 16 233 pd x;
#N canvas 0 99 405 280 y 0;
#X obj 42 123 * 14;
#X obj 42 199 +;
#X obj 57 173 r \$0.canvastopmargin;
#X obj 63 96 r \$0.stepvisheight;
#X obj 42 35 inlet;
#X obj 42 239 outlet;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 0 1;
#X connect 4 0 0 0;
#X restore 55 234 pd y;
#N canvas 0 99 418 249 w 0;
#X obj 16 17 inlet;
#X obj 16 194 outlet;
#X obj 16 103 f;
#X obj 31 77 r \$0.stepcount;
#X obj 31 127 r \$0.stepviswidth;
#X obj 16 155 *;
#X obj 16 45 b;
#X connect 0 0 6 0;
#X connect 2 0 5 0;
#X connect 3 0 2 1;
#X connect 4 0 5 1;
#X connect 5 0 1 0;
#X connect 6 0 2 0;
#X restore 92 234 pd w;
#N canvas 0 99 395 171 h 0;
#X obj 23 14 inlet;
#X obj 23 37 b;
#X obj 23 90 f;
#X obj 23 113 outlet;
#X obj 38 65 r \$0.stepvisheight;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 4 0 2 1;
#X restore 135 235 pd h;
#X obj 16 156 t a a;
#X obj 16 185 t a a a a a;
#N canvas 570 378 422 271 c 0;
#X obj 20 56 mod 12;
#X obj 20 80 sel 0 2 4 5 7 9 11;
#X obj 125 102 b;
#X obj 20 130 f 887;
#X obj 125 177 f 777;
#X obj 20 32 + 5;
#X obj 64 129 r \$0.stepkeycolor1;
#X obj 132 152 r \$0.stepkeycolor2;
#X obj 20 211 t a;
#X obj 20 7 inlet;
#X obj 20 238 outlet;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 3 0;
#X connect 1 2 3 0;
#X connect 1 3 3 0;
#X connect 1 4 3 0;
#X connect 1 5 3 0;
#X connect 1 6 3 0;
#X connect 1 7 2 0;
#X connect 2 0 4 0;
#X connect 3 0 8 0;
#X connect 4 0 8 0;
#X connect 5 0 0 0;
#X connect 6 0 3 1;
#X connect 7 0 4 1;
#X connect 8 0 10 0;
#X connect 9 0 5 0;
#X restore 171 234 pd c;
#X obj 16 294 list prepend \$0;
#X obj 16 10 inlet;
#X obj 16 35 b;
#X obj 16 343 outlet;
#X msg 16 320 scalar \$1.horizgrid \$2 \$3 \$4 \$5 \$6;
#X connect 0 0 1 0;
#X connect 0 1 3 0;
#X connect 1 0 2 0;
#X connect 2 0 13 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 0 0;
#X connect 6 0 5 1;
#X connect 8 0 16 0;
#X connect 9 0 8 0;
#X connect 10 0 8 1;
#X connect 11 0 8 2;
#X connect 12 0 8 3;
#X connect 13 0 14 0;
#X connect 13 1 4 0;
#X connect 14 0 9 0;
#X connect 14 1 10 0;
#X connect 14 2 11 0;
#X connect 14 3 12 0;
#X connect 14 4 15 0;
#X connect 15 0 8 4;
#X connect 16 0 20 0;
#X connect 17 0 18 0;
#X connect 18 0 5 0;
#X connect 20 0 19 0;
Roman Haefeli's avatar
Roman Haefeli committed
379
#X restore 588 328 pd create_horizgrid;
380
381
382
383
#N canvas 75 102 410 167 horizgrid-template 0;
#X obj 19 18 filledpolygon c c 1 0 0 0 h w h w 0;
#X obj 20 44 struct \$0.horizgrid float x float y float w float h float
c;
Roman Haefeli's avatar
Roman Haefeli committed
384
385
#X obj 20 73 s \$0.horizgrid.send;
#X connect 1 0 2 0;
386
#X restore 737 294 pd horizgrid-template;
Roman Haefeli's avatar
Roman Haefeli committed
387
#N canvas 60 99 380 157 vertgrid-template 0;
388
389
#X obj 19 18 filledpolygon 0 0 1 0 0 0 h w h w 0;
#X obj 19 42 struct \$0.vertgrid float x float y float w float h;
Roman Haefeli's avatar
Roman Haefeli committed
390
391
392
393
#X obj 19 66 s \$0.vertgrid.send;
#X connect 1 0 2 0;
#X restore 736 321 pd vertgrid-template;
#N canvas 133 127 401 394 create_vertgrid 0;
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
#X obj 16 86 t a b;
#X obj 16 109 until;
#X obj 16 132 f;
#X msg 54 110 0;
#X obj 67 150 + 1;
#X obj 16 62 f;
#N canvas 0 99 401 215 x 0;
#X obj 18 12 inlet;
#X obj 18 147 +;
#X obj 33 120 r \$0.canvasleftmargin;
#X obj 18 170 outlet;
#X obj 18 75 *;
#X obj 33 42 r \$0.stepviswidth;
#X connect 0 0 4 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 4 0 1 0;
#X connect 5 0 4 1;
#X restore 16 233 pd x;
#N canvas 0 99 405 280 y 0;
#X obj 42 199 +;
#X obj 57 173 r \$0.canvastopmargin;
#X obj 42 35 inlet;
#X obj 42 239 outlet;
#X msg 42 90 0;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 4 0;
#X connect 4 0 0 0;
#X restore 55 234 pd y;
#N canvas 0 99 418 249 w 0;
#X obj 16 17 inlet;
#X obj 16 194 outlet;
#X obj 31 127 r \$0.stepviswidth;
#X obj 16 45 b;
#X obj 16 155 f;
#X connect 0 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X restore 92 234 pd w;
#N canvas 0 99 398 252 h 0;
#X obj 23 14 inlet;
#X obj 23 37 b;
#X obj 23 163 outlet;
#X obj 38 115 r \$0.stepvisheight;
#X obj 23 91 f;
#X obj 23 140 *;
#X obj 38 66 r \$0.pitchrange;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 4 1;
#X restore 135 235 pd h;
#X obj 16 156 t a a;
#X obj 16 294 list prepend \$0;
#X obj 16 10 inlet;
#X obj 16 35 b;
#X obj 16 343 outlet;
#X obj 46 60 r \$0.stepcount;
#X text 229 320 x y w h;
#X obj 16 271 pack f f f f;
#X obj 16 185 t a a a a;
#X msg 16 320 scalar \$1.vertgrid \$2 \$3 \$4 \$5;
#X connect 0 0 1 0;
#X connect 0 1 3 0;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 0 0;
#X connect 6 0 17 0;
#X connect 7 0 17 1;
#X connect 8 0 17 2;
#X connect 9 0 17 3;
#X connect 10 0 18 0;
#X connect 10 1 4 0;
#X connect 11 0 19 0;
Roman Haefeli's avatar
Roman Haefeli committed
474
#X connect 12 0 13 0;
475
476
477
478
479
480
481
482
#X connect 13 0 5 0;
#X connect 15 0 5 1;
#X connect 17 0 11 0;
#X connect 18 0 6 0;
#X connect 18 1 7 0;
#X connect 18 2 8 0;
#X connect 18 3 9 0;
#X connect 19 0 14 0;
Roman Haefeli's avatar
Roman Haefeli committed
483
#X restore 605 300 pd create_vertgrid;
484
485
486
487
488
489
490
#X obj 67 152 r \$0.horizgrid.send;
#X obj 67 175 route click;
#X obj 67 198 get \$0.horizgrid y;
#X obj 112 243 route click;
#X obj 112 220 r \$0.vertgrid.send;
#X obj 67 291 pack f f;
#X obj 112 266 get \$0.vertgrid x;
Roman Haefeli's avatar
Roman Haefeli committed
491
492
493
494
495
496
497
498
499
#N canvas 107 99 450 300 vertline-template 0;
#X obj 18 20 drawpolygon c 1 0 0 0 h;
#X obj 19 79 s \$0.vertline.send;
#X obj 165 20 drawnumber -v nvis n -3 -15 c;
#X obj 19 42 struct \$0.vertline float x float y float h float c float
n float nvis;
#X connect 3 0 1 0;
#X restore 736 348 pd vertline-template;
#X obj 571 248 t b b b b;
500
#N canvas 43 99 400 432 create_vertline 0;
Roman Haefeli's avatar
Roman Haefeli committed
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
#X obj 16 116 t a b;
#X obj 16 139 until;
#X obj 16 162 f;
#X msg 54 140 0;
#X obj 67 180 + 1;
#X obj 16 62 f;
#N canvas 0 99 401 215 x 0;
#X obj 18 12 inlet;
#X obj 18 147 +;
#X obj 33 120 r \$0.canvasleftmargin;
#X obj 18 170 outlet;
#X obj 18 75 *;
#X obj 33 42 r \$0.stepviswidth;
#X connect 0 0 4 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 4 0 1 0;
#X connect 5 0 4 1;
#X restore 16 263 pd x;
#N canvas 0 99 405 280 y 0;
#X obj 42 199 +;
#X obj 57 173 r \$0.canvastopmargin;
#X obj 42 35 inlet;
#X obj 42 239 outlet;
#X msg 42 90 0;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 4 0;
#X connect 4 0 0 0;
#X restore 55 264 pd y;
#X obj 16 186 t a a;
#X obj 16 324 list prepend \$0;
#X obj 16 10 inlet;
#X obj 16 35 b;
#X obj 16 373 outlet;
#X obj 46 60 r \$0.stepcount;
#N canvas 0 99 398 252 h 0;
#X obj 23 14 inlet;
#X obj 23 37 b;
#X obj 23 163 outlet;
#X obj 38 115 r \$0.stepvisheight;
#X obj 23 91 f;
#X obj 23 140 *;
#X obj 38 66 r \$0.pitchrange;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 4 1;
#X restore 96 266 pd h;
#N canvas 0 99 500 410 c 0;
#X obj 16 17 inlet;
#X obj 16 326 outlet;
#X obj 87 53 r \$0.griddivision;
#X obj 103 80 r \$0.gridsubdivision;
#X obj 87 131 *;
#X obj 16 161 mod;
#X obj 16 198 sel 0;
#X obj 58 205 r \$0.gridsubdivision;
#X obj 43 232 mod;
#X obj 43 261 sel 0;
#X msg 70 288 888;
#X msg 16 289 0;
#X obj 103 103 t b a;
#X msg 43 288 666;
#X connect 0 0 5 0;
#X connect 2 0 4 0;
#X connect 3 0 12 0;
#X connect 4 0 5 1;
#X connect 5 0 6 0;
#X connect 6 0 11 0;
#X connect 6 1 8 0;
#X connect 7 0 8 1;
#X connect 8 0 9 0;
#X connect 9 0 13 0;
#X connect 9 1 10 0;
#X connect 10 0 1 0;
#X connect 11 0 1 0;
#X connect 12 0 4 0;
#X connect 12 1 4 1;
#X connect 13 0 1 0;
#X restore 133 267 pd c;
#X obj 16 89 + 1;
#X text 46 89 one more for end line;
#X obj 16 215 t a a a a a;
#N canvas 0 99 429 340 n 0;
#X obj 20 26 inlet;
#X obj 20 265 outlet;
#X obj 113 30 r \$0.griddivision;
#X obj 129 57 r \$0.gridsubdivision;
#X obj 113 108 *;
#X obj 129 80 t b a;
#X obj 20 161 div;
#X obj 20 109 t a a;
596
597
598
#X obj 109 197 mod;
#X obj 109 225 == 0;
#X obj 109 268 outlet;
Roman Haefeli's avatar
Roman Haefeli committed
599
#X obj 20 184 + 1;
600
601
602
#X obj 170 115 r \$0.stepcount;
#X obj 78 174 sel;
#X msg 78 200 0;
Roman Haefeli's avatar
Roman Haefeli committed
603
604
605
606
607
608
609
610
611
#X connect 0 0 7 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 6 1;
#X connect 4 0 8 1;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
#X connect 6 0 11 0;
#X connect 7 0 6 0;
612
#X connect 7 1 13 0;
Roman Haefeli's avatar
Roman Haefeli committed
613
614
615
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 11 0 1 0;
616
617
618
619
#X connect 12 0 13 1;
#X connect 13 0 14 0;
#X connect 13 1 8 0;
#X connect 14 0 10 0;
Roman Haefeli's avatar
Roman Haefeli committed
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
#X restore 170 267 pd n nvis;
#X obj 16 301 pack f f f f f f;
#X text 249 349 x y h c n nvis;
#X msg 16 350 scalar \$1.vertline \$2 \$3 \$4 \$5 \$6 \$7;
#X connect 0 0 1 0;
#X connect 0 1 3 0;
#X connect 1 0 2 0;
#X connect 2 0 8 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 16 0;
#X connect 6 0 20 0;
#X connect 7 0 20 1;
#X connect 8 0 18 0;
#X connect 8 1 4 0;
#X connect 9 0 22 0;
#X connect 10 0 11 0;
#X connect 11 0 5 0;
#X connect 13 0 5 1;
#X connect 14 0 20 2;
#X connect 15 0 20 3;
#X connect 16 0 0 0;
#X connect 18 0 6 0;
#X connect 18 1 7 0;
#X connect 18 2 14 0;
#X connect 18 3 15 0;
#X connect 18 4 19 0;
#X connect 19 0 20 4;
#X connect 19 1 20 5;
#X connect 20 0 9 0;
#X connect 22 0 12 0;
#X restore 571 356 pd create_vertline;
652
653
654
655
#X obj 67 340 t b b a;
#X obj 67 453 list append;
#X msg 67 314 \$2 \$1;
#X msg 674 63 \; \$1.stepcount 64 \; \$1.pitchrange 48 \; \$1.stepviswidth
Roman Haefeli's avatar
Roman Haefeli committed
656
657
658
15 \; \$1.stepvisheight 14 \; \$1.canvastopmargin 40 \; \$1.canvasleftmargin
90 \; \$1.stepkeycolor1 887 \; \$1.stepkeycolor2 777 \; \$1.griddivision
4 \; \$1.gridsubdivision 4 \; \$1.init bang \;;
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
#N canvas 79 99 424 435 note-template 0;
#X obj 51 189 t p p;
#X obj 112 318 int;
#X obj 51 247 max 0;
#X obj 51 270 min 127;
#X obj 112 296 / 14.2;
#X obj 51 166 route click change;
#X obj 51 295 t a a;
#X obj 112 341 * 100;
#X obj 32 141 t a a a;
#X obj 32 54 filledpolygon -v vis color 555 1 0 0 0 13 len(0:1000)(12:1012)
13 len(0:1000)(12:1012) 0;
#X obj 32 34 drawnumber -v vis vel 1 -14 0;
#X obj 32 105 struct \$0.note float x float y float len float vel float
color float id float vis;
#X obj 32 409 s \$0.note.send;
#X obj 51 222 get \$0.note vel;
#X obj 51 376 set \$0.note vel color;
#X connect 0 0 13 0;
#X connect 0 1 14 2;
#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 1 0;
#X connect 5 0 0 0;
#X connect 5 1 0 0;
#X connect 6 0 14 0;
#X connect 6 1 4 0;
#X connect 7 0 14 1;
#X connect 8 0 12 0;
#X connect 8 1 5 0;
#X connect 11 0 8 0;
#X connect 13 0 2 0;
#X restore 734 395 pd note-template;
#X obj 67 592 list prepend \$0;
#X obj 252 247 r \$0.note.send;
#X obj 279 372 get \$0.note id;
#X obj 279 469 set \$0.note vis;
#X msg 67 622 scalar \$1.note \$2 \$3 20 64 400 \$4 1;
698
699
#X connect 2 0 4 0;
#X connect 3 0 1 0;
700
701
702
703
704
705
706
707
708
709
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 7 1;
#X connect 9 0 7 1;
#X connect 10 0 46 0;
#X connect 11 0 19 0;
#X connect 12 0 13 0;
#X connect 13 0 16 1;
#X connect 13 1 14 0;
#X connect 14 0 12 1;
710
#X connect 15 0 16 0;
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
#X connect 15 1 12 0;
#X connect 16 0 50 0;
#X connect 17 0 18 0;
#X connect 17 1 21 1;
#X connect 17 1 53 1;
#X connect 18 0 20 0;
#X connect 19 0 53 0;
#X connect 20 0 9 0;
#X connect 20 1 21 0;
#X connect 21 0 52 0;
#X connect 27 0 28 0;
#X connect 28 0 48 0;
#X connect 29 0 43 0;
#X connect 30 0 28 0;
#X connect 31 0 4 0;
#X connect 34 0 4 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 40 0;
#X connect 38 0 41 0;
#X connect 39 0 38 0;
#X connect 40 0 47 0;
#X connect 41 0 40 1;
#X connect 43 0 44 0;
#X connect 43 1 31 0;
#X connect 43 2 34 0;
#X connect 43 3 2 0;
#X connect 44 0 4 0;
#X connect 45 0 6 0;
#X connect 45 1 8 0;
#X connect 45 2 46 1;
#X connect 46 0 15 0;
#X connect 47 0 45 0;
#X connect 50 0 54 0;
#X connect 51 0 17 0;
#X connect 52 0 11 0;
#X connect 54 0 5 0;