-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathpp.xycurve.pd
892 lines (892 loc) · 23.9 KB
/
pp.xycurve.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
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
381
382
383
384
385
386
387
388
389
390
391
392
393
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
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
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
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
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
652
653
654
655
656
657
658
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
698
699
700
701
702
703
704
705
706
707
708
709
710
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
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
#N struct 1011-playhead-template float x float y;
#N struct 1011-control-array float x float y float x1 float y1 float
x2 float y2 array c-array 1011-control-template;
#N struct 1011-control-template float x float y;
#N struct 1011-bezier-array float x float y float x1 float y1 float
x2 float y2 array b-array 1011-bezier-template;
#N struct 1011-bezier-template float x float y;
#N canvas 234 87 761 622 10;
#N canvas 217 67 1057 661 read 0;
#X obj 168 489 get \$0-control-template x y;
#X obj 357 444 r \$0-control-array-pointer;
#X obj 168 469 element \$0-control-array c-array;
#X obj 168 386 until;
#X obj 168 415 f;
#X obj 199 419 + 1;
#X obj 168 348 t f f;
#X obj 327 540 *;
#X obj 327 575 +;
#X obj 367 579 f;
#X obj 327 609 f;
#X msg 231 201 0;
#X obj 230 348 - 1;
#X obj 168 297 getsize \$0-control-array c-array;
#X obj 207 253 r \$0-control-array-pointer;
#X obj 168 273 pointer;
#X obj 168 540 *;
#X obj 168 587 +;
#X obj 208 591 f;
#X obj 139 614 f;
#X obj 139 185 t b b b f b;
#X obj 168 442 t float float;
#X obj 230 373 v nr\$0;
#X obj 186 221 v tr\$0;
#X obj 195 564 r \$0-setzeror;
#X obj 354 556 r \$0-setzeror;
#X obj 231 223 s \$0-setzeror;
#X obj 245 671 set \$0-playhead-template x y;
#X obj 410 647 r \$0-playhead-template-pointer;
#X obj 225 397 r \$0-setzeror;
#X obj 164 164 / 2;
#X obj 164 139 +;
#X obj 164 94 t f f;
#X obj 139 8 inlet;
#X obj 191 116 * 99;
#X obj 139 711 outlet;
#X obj 242 713 outlet;
#N canvas 534 205 584 442 interpolate 0;
#X obj 157 66 inlet;
#X obj 157 324 outlet;
#X obj 157 116 expr imodf($f1) \; modf($f1);
#X obj 220 189 + 1;
#X obj 157 164 t f f;
#X obj 157 288 expr $f1+$f3*($f2-$f1);
#X obj 220 212 tabread \$0-distances;
#X obj 157 248 tabread \$0-distances;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 5 2;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 4 1 3 0;
#X connect 5 0 1 0;
#X connect 6 0 5 1;
#X connect 7 0 5 0;
#X restore 191 139 pd interpolate distances;
#X obj 139 29 list prepend 0;
#X obj 139 50 list trim;
#X obj 139 71 route 0 1;
#X obj 220 8 r \$0-speedcompensation;
#X obj 651 480 symbol \$0-fact;
#X obj 651 457 loadbang;
#X obj 342 502 expr $s2[ nr\$0]/($s2[$f1]*$s2[ nr\$0-$f1])*pow( tr\$0
\, $f1)*pow(1- tr\$0 \, nr\$0-$f1);
#X obj 168 321 min 34;
#X connect 0 0 16 0;
#X connect 0 1 7 0;
#X connect 1 0 2 1;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 0 21 0;
#X connect 5 0 4 1;
#X connect 6 0 3 0;
#X connect 6 1 12 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 8 1;
#X connect 9 0 10 1;
#X connect 10 0 36 0;
#X connect 10 0 27 1;
#X connect 11 0 26 0;
#X connect 12 0 22 0;
#X connect 13 0 45 0;
#X connect 14 0 15 1;
#X connect 15 0 13 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 17 1;
#X connect 18 0 19 1;
#X connect 19 0 35 0;
#X connect 19 0 27 0;
#X connect 20 0 19 0;
#X connect 20 1 10 0;
#X connect 20 2 15 0;
#X connect 20 3 23 0;
#X connect 20 4 11 0;
#X connect 21 0 2 0;
#X connect 21 1 44 0;
#X connect 24 0 17 1;
#X connect 25 0 8 1;
#X connect 28 0 27 2;
#X connect 29 0 4 1;
#X connect 30 0 20 0;
#X connect 31 0 30 0;
#X connect 32 0 31 0;
#X connect 32 1 34 0;
#X connect 33 0 38 0;
#X connect 34 0 37 0;
#X connect 37 0 31 1;
#X connect 38 0 39 0;
#X connect 39 0 40 0;
#X connect 40 0 20 0;
#X connect 40 1 32 0;
#X connect 41 0 38 1;
#X connect 42 0 44 1;
#X connect 43 0 42 0;
#X connect 44 0 7 1;
#X connect 44 0 16 1;
#X connect 45 0 6 0;
#X restore 114 383 pd read;
#X f 14;
#N canvas 237 57 944 710 draw 0;
#X obj 374 518 get \$0-control-template x y;
#X obj 563 477 r \$0-control-array-pointer;
#X obj 374 498 element \$0-control-array c-array;
#X obj 615 717 element \$0-bezier-array b-array;
#X obj 345 753 set \$0-bezier-template x y, f 45;
#X obj 374 413 until;
#X obj 374 442 f;
#X obj 405 446 + 1;
#X obj 374 375 t f f;
#X obj 533 612 *;
#X obj 533 647 +;
#X obj 564 652 f;
#X obj 533 681 f;
#X msg 437 218 0;
#X obj 436 375 - 1;
#X obj 374 324 getsize \$0-control-array c-array;
#X obj 413 274 r \$0-control-array-pointer;
#X obj 374 300 pointer;
#X obj 654 696 r \$0-bezier-array-pointer;
#X obj 374 624 *;
#X obj 374 659 +;
#X obj 405 662 f;
#X obj 345 686 f;
#X obj 345 200 t b b b f b;
#X obj 321 14 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X floatatom 387 37 5 0 0 0 - - -;
#X obj 345 177 / 100;
#X obj 392 240 v td\$0;
#X obj 437 240 s \$0-setzerod;
#X obj 431 424 r \$0-setzerod;
#X obj 560 628 r \$0-setzerod;
#X obj 401 636 r \$0-setzerod;
#X obj 436 400 v nd\$0;
#X obj 321 37 metro 200;
#N canvas 1 57 450 300 count 0;
#X obj 93 34 inlet;
#X obj 93 57 t b b;
#X obj 93 101 until;
#X obj 93 124 f;
#X obj 121 125 + 1;
#X obj 93 147 outlet;
#X msg 137 99 0;
#X msg 93 78 101;
#X connect 0 0 1 0;
#X connect 1 0 7 0;
#X connect 1 1 6 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 3 1;
#X connect 6 0 3 1;
#X connect 7 0 2 0;
#X restore 342 124 pd count 0 100;
#X obj 227 60 r \$0-drawbez;
#X obj 342 149 t bang float float float, f 46;
#N canvas 706 178 525 488 distance 0;
#X obj 82 48 inlet;
#X obj 221 50 inlet;
#X obj 406 54 inlet;
#X obj 112 310 f;
#X obj 80 310 +;
#X obj 37 367 f;
#X obj 80 220 expr sqrt(pow($f3 - $f1 \, 2)+ pow($f4 - $f2 \, 2));
#X obj 82 92 t f b f;
#X obj 82 117 f;
#X obj 221 96 t f b f;
#X obj 221 123 f;
#X msg 479 174 0;
#X obj 80 192 spigot;
#X msg 113 169 1;
#X obj 82 141 t b f;
#X text 126 64 x;
#X text 267 60 y;
#X obj 479 54 inlet;
#X obj 312 355 f;
#X obj 281 354 +;
#X obj 281 288 swap 1;
#X obj 281 311 /;
#X obj 80 246 t f f;
#X obj 404 132 spigot;
#X msg 437 109 1;
#X obj 406 81 t b f;
#X obj 404 155 - 1;
#X obj 281 386 tabwrite \$0-distances;
#X obj 36 48 inlet;
#X obj 37 390 s \$0-bezier-length;
#X connect 0 0 7 0;
#X connect 1 0 9 0;
#X connect 2 0 25 0;
#X connect 3 0 4 1;
#X connect 4 0 3 0;
#X connect 4 0 5 1;
#X connect 5 0 29 0;
#X connect 6 0 22 0;
#X connect 7 0 8 1;
#X connect 7 1 8 0;
#X connect 7 2 6 2;
#X connect 8 0 14 0;
#X connect 9 0 10 1;
#X connect 9 1 10 0;
#X connect 9 2 6 3;
#X connect 10 0 6 1;
#X connect 11 0 4 1;
#X connect 11 0 12 1;
#X connect 11 0 19 1;
#X connect 11 0 23 1;
#X connect 12 0 6 0;
#X connect 13 0 12 1;
#X connect 14 0 13 0;
#X connect 14 1 12 0;
#X connect 17 0 11 0;
#X connect 18 0 19 1;
#X connect 19 0 18 0;
#X connect 19 0 27 0;
#X connect 20 0 21 0;
#X connect 20 1 21 1;
#X connect 21 0 19 0;
#X connect 22 0 4 0;
#X connect 22 1 20 0;
#X connect 23 0 26 0;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 25 1 23 0;
#X connect 26 0 27 1;
#X connect 28 0 5 0;
#X restore 227 723 pd distance;
#X f 45;
#X msg 134 123 normalize 1;
#X obj 134 145 s \$0-distances;
#X obj 227 88 t bang bang bang, f 59;
#X obj 49 169 array define \$0-distances 99;
#X obj 340 12 r \$0-draw-cont;
#X obj 321 60 s \$0-drawbez;
#X obj 208 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 839 524 symbol \$0-fact;
#X obj 839 501 loadbang;
#X obj 374 469 t float float;
#X obj 548 547 expr $s2[ nd\$0]/($s2[$f1]*$s2[ nd\$0-$f1])*pow( td\$0
\, $f1)*pow(1- td\$0 \, nd\$0-$f1);
#X connect 0 0 19 0;
#X connect 0 1 9 0;
#X connect 1 0 2 1;
#X connect 2 0 0 0;
#X connect 3 0 4 2;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 0 47 0;
#X connect 7 0 6 1;
#X connect 8 0 5 0;
#X connect 8 1 14 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 10 1;
#X connect 11 0 12 1;
#X connect 12 0 4 1;
#X connect 12 0 37 2;
#X connect 13 0 28 0;
#X connect 14 0 32 0;
#X connect 15 0 8 0;
#X connect 16 0 17 1;
#X connect 17 0 15 0;
#X connect 18 0 3 1;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 20 1;
#X connect 21 0 22 1;
#X connect 22 0 4 0;
#X connect 22 0 37 1;
#X connect 23 0 22 0;
#X connect 23 1 12 0;
#X connect 23 2 17 0;
#X connect 23 3 27 0;
#X connect 23 4 13 0;
#X connect 24 0 33 0;
#X connect 25 0 33 1;
#X connect 26 0 23 0;
#X connect 29 0 6 1;
#X connect 30 0 10 1;
#X connect 31 0 20 1;
#X connect 33 0 43 0;
#X connect 34 0 36 0;
#X connect 35 0 40 0;
#X connect 36 1 26 0;
#X connect 36 2 37 3;
#X connect 36 3 3 0;
#X connect 38 0 39 0;
#X connect 40 0 38 0;
#X connect 40 0 37 0;
#X connect 40 1 34 0;
#X connect 40 2 37 4;
#X connect 42 0 33 0;
#X connect 44 0 40 0;
#X connect 45 0 48 1;
#X connect 46 0 45 0;
#X connect 47 0 2 0;
#X connect 47 1 48 0;
#X connect 48 0 9 1;
#X connect 48 0 19 1;
#X restore 473 414 pd draw bezier;
#N canvas 66 188 571 485 set 0;
#X obj 44 281 set \$0-control-template x y;
#X obj 203 256 element \$0-control-array c-array;
#X obj 392 176 r \$0-control-array-pointer;
#X obj 226 207 setsize \$0-control-array c-array;
#X obj 44 211 unpack f f f;
#X obj 44 22 r \$0-pointslist;
#X obj 44 81 t l b b;
#X obj 83 102 del 0;
#X obj 63 151 f;
#X obj 98 152 + 1;
#X msg 83 125 1;
#X connect 1 0 0 2;
#X connect 2 0 3 1;
#X connect 2 0 1 1;
#X connect 4 0 0 0;
#X connect 4 1 0 1;
#X connect 4 2 1 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 6 1 8 0;
#X connect 6 2 7 0;
#X connect 7 0 10 0;
#X connect 8 0 9 0;
#X connect 8 0 3 0;
#X connect 9 0 8 1;
#X connect 10 0 8 1;
#X restore 473 346 pd set controlpoints;
#N canvas 654 293 450 417 randomize 0;
#X obj 116 125 until;
#X obj 116 186 t b b f;
#X obj 145 156 + 1;
#X obj 135 215 random 512;
#X obj 135 238 - 256;
#X obj 116 267 random 512;
#X obj 116 290 - 256;
#X obj 76 11 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 154 130 0;
#X obj 116 101 f;
#X obj 188 94 + 2;
#X obj 116 326 pack f f f;
#X obj 116 349 s \$0-pointslist;
#X obj 99 35 t b b b b;
#X obj 116 154 f;
#X obj 99 67 s \$0-drawbez;
#X obj 99 10 r \$0-randomize;
#X obj 188 71 random 12;
#X connect 0 0 14 0;
#X connect 1 0 5 0;
#X connect 1 1 3 0;
#X connect 1 2 11 2;
#X connect 2 0 14 1;
#X connect 3 0 4 0;
#X connect 4 0 11 1;
#X connect 5 0 6 0;
#X connect 6 0 11 0;
#X connect 7 0 13 0;
#X connect 8 0 14 1;
#X connect 9 0 0 0;
#X connect 10 0 9 1;
#X connect 11 0 12 0;
#X connect 13 0 15 0;
#X connect 13 1 9 0;
#X connect 13 2 8 0;
#X connect 13 3 17 0;
#X connect 14 0 2 0;
#X connect 14 0 1 0;
#X connect 16 0 13 0;
#X connect 17 0 10 0;
#X restore 473 368 pd randomize;
#N canvas 894 280 450 300 init 0;
#X obj 100 30 loadbang;
#X obj 100 99 f \$0;
#X obj 49 40 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 51 8 r \$0-reset;
#X msg 100 122 \; \$1-setup-pointers bang \;;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X restore 473 136 pd init;
#N canvas 574 173 547 490 setup 0;
#X obj 107 41 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 131 64 symbol pd-\$0-graph;
#X obj 158 111 f \$0;
#X obj 131 87 t s b;
#X msg 319 234 traverse \$1 \, bang;
#X obj 319 282 pointer;
#X obj 148 329 append \$0-control-array x y;
#X obj 148 301 unpack;
#X msg 158 133 \; pd-\$1-graph clear;
#X obj 131 173 t b b b s;
#X obj 148 352 s \$0-control-array-pointer;
#X obj 166 409 unpack;
#X obj 166 437 append \$0-bezier-array x y;
#X obj 166 460 s \$0-bezier-array-pointer;
#X obj 320 600 r \$0-bezier-array-pointer;
#X obj 164 680 setsize \$0-bezier-array b-array;
#X obj 320 622 t b p;
#X msg 164 658 100;
#X obj 75 469 unpack;
#X obj 75 497 append \$0-playhead-template x y;
#X obj 75 520 s \$0-playhead-template-pointer;
#X obj 131 26 r \$0-setup-pointers;
#X msg 75 446 0 0;
#X msg 166 386 0 0;
#X msg 148 278 0 0;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 8 0;
#X connect 3 0 9 0;
#X connect 3 1 2 0;
#X connect 4 0 5 0;
#X connect 5 0 6 2;
#X connect 5 0 12 2;
#X connect 5 0 19 2;
#X connect 6 0 10 0;
#X connect 7 0 6 0;
#X connect 7 1 6 1;
#X connect 9 0 22 0;
#X connect 9 1 24 0;
#X connect 9 2 23 0;
#X connect 9 3 4 0;
#X connect 11 0 12 0;
#X connect 11 1 12 1;
#X connect 12 0 13 0;
#X connect 14 0 16 0;
#X connect 16 0 17 0;
#X connect 16 1 15 1;
#X connect 17 0 15 0;
#X connect 18 0 19 0;
#X connect 18 1 19 1;
#X connect 19 0 20 0;
#X connect 21 0 1 0;
#X connect 22 0 18 0;
#X connect 23 0 11 0;
#X connect 24 0 7 0;
#X restore 473 311 pd setup pointers;
#X obj 304 471 r \$0-bezier-length;
#X obj 472 44 inlet;
#N canvas 1 57 637 300 in 0;
#X obj 37 8 inlet;
#N canvas 362 125 450 479 recall 0;
#X obj 49 145 outlet;
#N canvas 3 54 450 600 listsplit 0;
#X obj 158 23 inlet;
#X obj 220 87 list length;
#X obj 220 113 until;
#X obj 182 150 f;
#X obj 278 150 + 1;
#X msg 265 111 0;
#X obj 182 226 list store;
#X msg 182 202 get \$1 1;
#X obj 154 367 list split;
#X obj 222 342 f;
#X obj 154 334 list;
#X obj 98 124 list;
#X obj 182 389 list split 1;
#X obj 154 274 t bang bang bang;
#X obj 182 179 t f f;
#X obj 158 48 t l l l b;
#X obj 154 473 outlet;
#X obj 154 440 list trim;
#X obj 163 248 sel |;
#X text 275 197 hacky split list at "|";
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 14 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 18 0;
#X connect 7 0 6 0;
#X connect 8 0 17 0;
#X connect 8 1 12 0;
#X connect 9 0 8 1;
#X connect 10 0 8 0;
#X connect 11 0 15 0;
#X connect 12 1 11 0;
#X connect 13 0 10 0;
#X connect 13 1 9 0;
#X connect 13 2 2 1;
#X connect 14 0 7 0;
#X connect 14 1 9 1;
#X connect 15 0 1 0;
#X connect 15 1 10 1;
#X connect 15 2 6 1;
#X connect 15 3 5 0;
#X connect 17 0 16 0;
#X connect 18 0 13 0;
#X restore 49 117 pd listsplit;
#X obj 49 24 r \$0-recall;
#X obj 49 54 pipe 1;
#X obj 221 409 text fromlist \$0-savestates;
#X obj 49 77 text get \$0-savestates;
#X msg 253 246 21;
#X obj 253 269 until;
#X obj 253 292 f;
#X obj 300 295 + 1;
#X obj 253 315 t b f;
#X obj 253 367 text set \$0-savestates;
#X obj 221 114 text tolist \$0-savestates;
#X msg 253 342 list empty_slot;
#X obj 221 160 t a b;
#X obj 151 166 loadbang;
#X obj 221 137 savestate;
#X obj 221 33 text define \$0-savestates;
#X obj 151 189 del 0;
#X msg 298 199 0;
#X obj 253 220 spigot 1;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 8 1;
#X connect 10 0 13 0;
#X connect 10 1 11 1;
#X connect 12 0 16 0;
#X connect 13 0 11 0;
#X connect 14 0 4 0;
#X connect 14 1 19 0;
#X connect 15 0 18 0;
#X connect 16 0 14 0;
#X connect 16 1 12 0;
#X connect 18 0 20 0;
#X connect 19 0 20 1;
#X connect 20 0 6 0;
#X restore 195 22 pd recall;
#N canvas 627 449 200 251 route 0;
#X obj 20 20 inlet;
#X obj 30 60 route save recall;
#X obj 30 85 route float;
#X obj 97 111 route float;
#X obj 30 136 s \$0-save;
#X obj 30 108 i;
#X obj 98 133 i;
#X obj 98 161 s \$0-recall;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 5 0;
#X connect 3 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X restore 389 186 pd route save-recall;
#X obj 121 232 s \$0-randomize;
#X obj 178 208 s \$0-reset;
#X obj 234 259 s \$0-speedcompensation;
#X obj 20 59 route recall;
#X obj 20 82 t b;
#X obj 37 31 t a a;
#X obj 292 207 s \$0-drawbez;
#X obj 20 105 del 100;
#N canvas 1 57 450 300 coordinates 0;
#X obj 93 30 inlet;
#X obj 93 53 unpack f f f, f 14;
#X obj 133 82 * 256;
#X obj 174 82 * 256;
#X obj 93 150 pack f f f, f 14;
#X obj 93 198 s \$0-pointslist;
#X msg 93 175 \$2 \$3 \$1;
#X obj 133 124 i;
#X obj 174 127 i;
#X obj 133 103 + 0.5;
#X obj 174 104 + 0.5;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 1 1 2 0;
#X connect 1 2 3 0;
#X connect 2 0 9 0;
#X connect 3 0 10 0;
#X connect 4 0 6 0;
#X connect 6 0 5 0;
#X connect 7 0 4 1;
#X connect 8 0 4 2;
#X connect 9 0 7 0;
#X connect 10 0 8 0;
#X restore 64 195 pd coordinates;
#X obj 64 154 route list randomize reset compensate-speed bang read
;
#X obj 326 184 s \$0-read;
#X connect 0 0 8 0;
#X connect 1 0 12 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 6 0;
#X connect 8 1 12 0;
#X connect 10 0 12 0;
#X connect 12 0 11 0;
#X connect 12 1 3 0;
#X connect 12 2 4 0;
#X connect 12 3 5 0;
#X connect 12 4 9 0;
#X connect 12 5 13 0;
#X connect 12 6 2 0;
#X restore 472 67 pd in;
#X obj 103 115 hsl 175 15 0 127 0 0 \$0-visbng \$0-visbngr empty 2
8 2 10 -233017 -233017 -1 0 1;
#N canvas 353 147 552 500 outlet-message 0;
#X obj 159 428 list trim;
#X msg 91 434 addcomma;
#X msg 274 448 set;
#X obj 159 405 list prepend add2;
#X obj 159 481 outlet;
#N canvas 497 433 297 264 save 0;
#X obj 48 16 inlet;
#N canvas 690 259 481 384 collect 0;
#X obj 47 60 inlet;
#X obj 47 274 outlet;
#X obj 98 180 list;
#X obj 166 181 t l;
#X obj 47 225 list;
#X obj 98 139 list append |;
#X obj 47 126 del 0;
#X obj 47 82 t b a;
#X text 119 75 hacky thing... replaycing " \, " with "|";
#X connect 0 0 7 0;
#X connect 2 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 2 1;
#X connect 6 0 4 0;
#X connect 7 0 6 0;
#X connect 7 1 5 0;
#X restore 48 38 pd collect;
#X obj 117 16 r \$0-save;
#X obj 27 130 text set \$0-savestates;
#X obj 27 104 list;
#X obj 117 62 t b f;
#X obj 117 39 clip 0 20;
#X connect 0 0 1 0;
#X connect 1 0 4 1;
#X connect 2 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 1 3 1;
#X connect 6 0 5 0;
#X restore 181 378 pd save;
#X obj 170 267 get \$0-control-template x y;
#X obj 359 74 r \$0-control-array-pointer;
#X obj 170 245 element \$0-control-array c-array;
#X obj 166 185 f;
#X obj 193 186 + 1;
#X obj 142 212 t float float;
#X obj 142 323 pack f f f;
#X obj 157 122 getsize \$0-control-array c-array;
#X obj 157 98 pointer;
#X obj 157 34 r \$0-drawbez;
#X obj 166 151 until;
#X msg 215 152 0;
#X obj 157 57 t b b b, f 20;
#X obj 142 345 t b a a;
#X obj 170 292 / 256;
#X obj 329 289 / 256;
#X connect 0 0 4 0;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 6 0 20 0;
#X connect 6 1 21 0;
#X connect 7 0 8 1;
#X connect 7 0 14 1;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 9 0 11 0;
#X connect 10 0 9 1;
#X connect 11 0 12 0;
#X connect 11 1 8 0;
#X connect 12 0 19 0;
#X connect 13 0 16 0;
#X connect 14 0 13 0;
#X connect 15 0 18 0;
#X connect 16 0 9 0;
#X connect 17 0 9 1;
#X connect 18 0 14 0;
#X connect 18 1 17 0;
#X connect 18 2 2 0;
#X connect 19 0 1 0;
#X connect 19 1 3 0;
#X connect 19 2 5 0;
#X connect 20 0 12 1;
#X connect 21 0 12 2;
#X restore 473 476 pd outlet-message;
#X obj 304 494 outlet;
#N canvas 299 256 587 349 stuff 0;
#X obj 262 70 r \$0-visbng;
#X obj 282 211 s \$0-visbngr;
#X msg 262 183 color 0 0;
#X msg 346 183 color 10 10;
#X obj 344 158 del 250;
#X obj 262 92 t b;
#X msg 117 129 relocate 537x560+1+1 1x1+50+60 \, vis 1 \, editmode
0;
#X obj 117 153 s pd-\$0-xycurve;
#X connect 0 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 5 0 4 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X restore 473 157 pd stuff;
#X obj 114 494 outlet;
#X obj 195 495 outlet;
#X obj 114 441 / 256;
#X obj 195 440 / 256;
#X obj 114 349 r \$0-read;
#X text 156 493 x;
#X text 240 495 y;
#X obj 473 499 outlet;
#N canvas 50 60 537 560 \$0-xycurve 0;
#N canvas 117 96 603 589 mask 0;
#X obj 0 0 cnv 15 519 544 empty empty empty 20 12 0 14 -262144 -66577
0;
#X obj 2 3 cnv 15 514 514 empty empty empty 20 12 0 14 -162280 -66577
0;
#X obj 3 4 cnv 15 512 512 empty empty empty 20 12 0 14 -262144 -66577
0;
#X obj 251 259 cnv 2 16 2 empty empty empty 20 12 0 14 -228856 -66577
0;
#X obj 258 252 cnv 2 2 16 empty empty empty 20 12 0 14 -228856 -66577
0;
#X obj 442 525 tgl 14 0 \$0-draw-cont \$0-draw-contr Draw_const. 17
9 2 10 -262144 -1 -1 1 1;
#N canvas 0 57 1366 711 \$0-graph 0;
#X scalar 1011-playhead-template -87 -132 \;;
#X scalar 1011-control-array 0 0 0 0 0 0 \; -87 -132 \; 57 79 \; 24
55 \; 35 -130 \; -20 -129 \; -2 127 \; -33 -174 \; -190 5 \; 18 204
\; \;;
#X scalar 1011-bezier-array 0 0 0 0 0 0 \; -87 -132 \; -75.9635 -115.774
\; -65.847 -100.836 \; -56.5843 -87.1554 \; -48.1136 -74.697 \; -40.3781
-63.4222 \; -33.3248 -53.2892 \; -26.9046 -44.2536 \; -21.0722 -36.2685
\; -15.7854 -29.2849 \; -11.0052 -23.2524 \; -6.69552 -18.1189 \; -2.82277
-13.8315 \; 0.644096 -10.3364 \; 3.73391 -7.57938 \; 6.4734 -5.50629
\; 8.88739 -4.06296 \; 10.9989 -3.19573 \; 12.8294 -2.85156 \; 14.3986
-2.97838 \; 15.7251 -3.52523 \; 16.826 -4.44253 \; 17.7174 -5.68223
\; 18.414 -7.19802 \; 18.9296 -8.94548 \; 19.2772 -10.8822 \; 19.4686
-12.9681 \; 19.515 -15.165 \; 19.4265 -17.4376 \; 19.2128 -19.7526
\; 18.8827 -22.0795 \; 18.4443 -24.3903 \; 17.9053 -26.6596 \; 17.2723
-28.8644 \; 16.5519 -30.9846 \; 15.7497 -33.0025 \; 14.871 -34.9031
\; 13.9206 -36.6735 \; 12.9025 -38.3037 \; 11.8205 -39.7858 \; 10.6779
-41.114 \; 9.47754 -42.285 \; 8.22174 -43.2971 \; 6.91247 -44.1507
\; 5.55134 -44.8479 \; 4.13954 -45.3924 \; 2.67793 -45.7892 \; 1.16706
-46.0445 \; -0.392857 -46.1658 \; -2.00184 -46.161 \; -3.66016 -46.0391
\; -5.36827 -45.8091 \; -7.12681 -45.4808 \; -8.93653 -45.0634 \; -10.7982
-44.5663 \; -12.7127 -43.9986 \; -14.6809 -43.3684 \; -16.7033 -42.6833
\; -18.7805 -41.9497 \; -20.9128 -41.1731 \; -23.1003 -40.3571 \; -25.3424
-39.5041 \; -27.6383 -38.6147 \; -29.9864 -37.6874 \; -32.3847 -36.7187
\; -34.8302 -35.7031 \; -37.3191 -34.6325 \; -39.8464 -33.4966 \; -42.4062
-32.2826 \; -44.9912 -30.975 \; -47.5928 -29.5561 \; -50.2006 -28.0052
\; -52.8028 -26.2995 \; -55.3854 -24.4136 \; -57.9327 -22.3196 \; -60.4264
-19.9877 \; -62.8461 -17.3858 \; -65.1688 -14.4802 \; -67.3685 -11.2355
\; -69.4164 -7.61491 \; -71.2804 -3.58113 \; -72.925 0.903904 \; -74.3111
5.87823 \; -75.3958 11.3794 \; -76.1319 17.4438 \; -76.4678 24.1064
\; -76.3476 31.3993 \; -75.7102 39.3518 \; -74.4895 47.989 \; -72.614
57.3309 \; -70.0064 67.392 \; -66.5834 78.1794 \; -62.2556 89.6919
\; -56.927 101.919 \; -50.4943 114.84 \; -42.8476 128.421 \; -33.8689
142.615 \; -23.4329 157.359 \; -11.4057 172.574 \; 18 204 \; \;;
#X coords -256 256 256 -256 512 512 2 100 100;
#X restore 3 4 pd \$0-graph;
#X obj 59 525 bng 14 250 50 0 \$0-randomize \$0-randomizer Randomize
17 9 2 10 -262144 -1 -1;
#X obj 6 525 bng 14 250 50 0 \$0-reset \$0-resetr Reset 17 9 2 10 -262144
-1 -1;
#X obj 381 525 bng 14 250 50 0 \$0-drawbez \$0-drawbezr Draw 17 9 2
10 -262144 -1 -1;
#X obj 143 527 hsl 150 12 0 1 0 0 \$0-readhsl \$0-readhslr empty -2
-8 0 10 -262144 -1 -1 0 1;
#X obj 301 527 nbx 4 12 -1e+37 1e+37 0 0 \$0-read \$0-readr Read 42
7 2 10 -262144 -1 -1 0 256;
#X msg 301 550 set \$1;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 10 0;
#X coords 0 -1 1 1 520 545 2 0 0;
#X restore 7 5 pd mask;
#X restore 473 447 pd \$0-xycurve;
#N canvas 327 225 450 402 factorials 0;
#X obj 39 123 until;
#X obj 81 150 + 1;
#X msg 142 123 1;
#X obj 73 263 *;
#X obj 39 264 f 1;
#X obj 39 188 t b f f, f 17;
#X obj 39 72 t f b b;
#X msg 92 118 0;
#X obj 39 148 f;
#X obj 88 239 + 1;
#X obj 39 22 loadbang;
#X msg 39 45 35;
#X obj 39 296 tabwrite \$0-fact, f 17;
#X obj 39 332 array define \$0-fact 35;
#X connect 0 0 8 0;
#X connect 1 0 8 1;
#X connect 2 0 4 1;
#X connect 3 0 4 1;
#X connect 4 0 3 0;
#X connect 4 0 12 0;
#X connect 5 0 4 0;
#X connect 5 1 9 0;
#X connect 5 2 12 1;
#X connect 6 0 0 0;
#X connect 6 1 7 0;
#X connect 6 2 2 0;
#X connect 7 0 8 1;
#X connect 8 0 1 0;
#X connect 8 0 5 0;
#X connect 9 0 3 1;
#X connect 10 0 11 0;
#X connect 11 0 6 0;
#X restore 473 392 pd factorials;
#N canvas 798 583 567 184 control-array 0;
#X obj 17 20 struct \$0-control-array float x float y float x1 float
y1 float x2 float y2 array c-array \$0-control-template;
#X obj 15 67 plot c-array 444 0 0 0 1;
#X restore 473 188 pd control-array;
#N canvas 68 551 455 147 control-template 0;
#X obj 24 44 filledpolygon 0 0 0 -5 0 0 5 5 0 0 -5;
#X obj 24 15 struct \$0-control-template float x float y;
#X restore 473 210 pd control-template;
#N canvas 186 396 567 184 bezier-array 0;
#X obj 17 20 struct \$0-bezier-array float x float y float x1 float
y1 float x2 float y2 array b-array \$0-bezier-template;
#X obj 15 67 plot b-array 900 1 0 0 1;
#X restore 473 232 pd bezier-array;
#N canvas 119 242 455 147 bezier-template 0;
#X obj 24 15 struct \$0-bezier-template float x float y;
#X restore 473 255 pd bezier-template;
#N canvas 465 457 451 141 playhead-template 0;
#X obj 10 12 struct \$0-playhead-template float x float y;
#X obj 201 112 drawnumber y 0 -20 0 y:;
#X obj 11 112 drawnumber x 0 -10 0 x:;
#X obj 11 69 loadbang;
#X msg 11 92 0;
#X obj 10 40 filledcurve -x 900 900 0 -6 0 0 6 6 0 0 -6;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 4 0 2 0;
#X restore 473 277 pd playhead-template;
#X connect 0 0 15 0;
#X connect 0 1 16 0;
#X connect 6 0 11 0;
#X connect 7 0 8 0;
#X connect 10 0 20 0;
#X connect 15 0 13 0;
#X connect 16 0 14 0;
#X connect 17 0 0 0;
#X coords 0 -1 1 1 180 33 1 100 100;