-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathav.pd
3273 lines (3273 loc) · 98 KB
/
av.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
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#N canvas 0 27 746 997 12;
#X declare -path ./audio/instruments;
#X declare -path ./audio/objects;
#X declare -path ./visuals/objects;
#X declare -lib Gem;
#X declare -path ./visuals/vfx;
#X declare -lib Gem;
#N canvas 758 223 622 529 imports 0;
#X obj 6 6 declare -path ./audio/instruments;
#X obj 6 28 declare -path ./audio/objects;
#X obj 6 51 declare -path ./visuals/objects;
#X obj 6 97 declare -lib Gem;
#X obj 6 74 declare -path ./visuals/vfx;
#X restore 19 -53 pd imports;
#N canvas 855 63 1025 639 beatslicer 0;
#N canvas 1 67 450 250 (subpatch) 0;
#X array \$0-sample-L 132300 float 2;
#X coords 0 1 132300 -1 448 100 1 0 0;
#X restore 178 124 graph;
#N canvas 1 67 450 250 (subpatch) 0;
#X array \$0-sample-R 132300 float 2;
#X coords 0 1 132300 -1 448 100 1 0 0;
#X restore 178 224 graph;
#X obj 179 334 hradio 14 1 0 32 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0;
#N canvas 605 396 441 345 read-file 0;
#X obj 35 51 openpanel;
#X obj 35 241 soundfiler;
#X text 116 241 Read sample into array;
#X obj 68 125 symbol \$0-sample-L;
#X obj 35 179 pack s s s;
#X obj 102 149 symbol \$0-sample-R;
#X obj 35 86 t a b b;
#X msg 35 210 read -resize \$1 \$2 \$3;
#X obj 35 265 outlet sample-size;
#X obj 35 25 inlet open;
#X connect 0 0 6 0;
#X connect 1 0 8 0;
#X connect 3 0 4 1;
#X connect 4 0 7 0;
#X connect 5 0 4 2;
#X connect 6 0 4 0;
#X connect 6 1 3 0;
#X connect 6 2 5 0;
#X connect 7 0 1 0;
#X connect 9 0 0 0;
#X restore 672 249 pd read-file;
#X obj 115 126 bng 30 250 50 0 empty empty Open_file 35 7 0 10 #fcfcfc #000000 #000000;
#X floatatom 672 295 10 0 0 0 - - - 0;
#X obj 761 266 f 0;
#X obj 793 266 + 1;
#X floatatom 761 314 5 0 0 0 - - - 0;
#X obj 114 170 tgl 30 0 empty empty Play 35 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 761 242 metro 200;
#X obj 825 236 expr ($f1 / 32) / 44.1;
#N canvas 339 338 487 403 send-message-to-step 0;
#X obj 88 329 send;
#X obj 113 232 pack f \$0;
#X msg 113 261 symbol \$2-step-\$1;
#X obj 31 264 pack s f;
#X obj 84 233 f;
#X obj 30 165 t b b f;
#X obj 31 234 symbol;
#X obj 31 288 list trim;
#X obj 30 39 r \$0-step-to-message;
#X obj 339 39 r \$0-message-value;
#X obj 190 39 r \$0-message-type;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
#X connect 3 0 7 0;
#X connect 4 0 3 1;
#X connect 5 0 6 0;
#X connect 5 1 4 0;
#X connect 5 2 1 0;
#X connect 6 0 3 0;
#X connect 7 0 0 0;
#X connect 8 0 5 0;
#X connect 9 0 4 1;
#X connect 10 0 6 1;
#X restore 672 410 pd send-message-to-step;
#X obj 694 69 t f b b;
#X msg 717 98 symbol step;
#X obj 761 290 mod 32;
#N canvas 0 0 1919 944 sample-player 0;
#X obj 85 489 tabread4~ \$0-sample-L;
#X obj 153 508 tabread4~ \$0-sample-R;
#X obj 84 437 line~;
#X obj 84 461 *~ 1;
#X obj 151 240 f;
#X obj 84 30 bng 15 250 50 0 empty \$0-trigger Trigger 17 7 0 10 #fcfcfc #000000 #000000;
#X msg 84 358 \$1 \, \$2 \$3;
#X obj 84 323 pack f f f;
#X obj 84 50 t b b;
#X obj 84 83 t b b;
#X obj 84 263 f;
#X obj 117 263 f;
#X obj 102 133 t f f;
#X obj 102 160 expr $f1;
#X obj 135 191 expr (float(1) / 32) + $f1;
#X obj 162 69 r \$0-start-pos;
#X obj 151 269 expr ($f1 / 32) / 44.1 * $f2;
#X obj 344 240 r \$0-pitch;
#X msg 174 358 \$2 \, \$1 \$3;
#X obj 84 397 spigot 1;
#X obj 154 397 spigot 0;
#X obj 282 335 r \$0-reverse;
#X obj 282 359 == 0;
#X obj 171 530 r \$0-on-off;
#X obj 154 603 *~;
#X obj 84 604 *~;
#X obj 171 576 line~;
#X obj 167 427 r \$0-file-size;
#X obj 178 216 r \$0-file-size;
#X obj 84 628 outlet~;
#X obj 154 628 outlet~;
#X msg 171 552 \$1;
#X obj 162 93 expr int($f1 * 32) / 32;
#X connect 0 0 25 0;
#X connect 1 0 24 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 3 0 1 0;
#X connect 4 0 16 0;
#X connect 5 0 8 0;
#X connect 6 0 19 0;
#X connect 7 0 6 0;
#X connect 7 0 18 0;
#X connect 8 0 9 0;
#X connect 8 1 4 0;
#X connect 9 0 10 0;
#X connect 9 1 11 0;
#X connect 10 0 7 0;
#X connect 11 0 7 1;
#X connect 12 0 13 0;
#X connect 12 1 14 0;
#X connect 13 0 10 1;
#X connect 14 0 11 1;
#X connect 15 0 32 0;
#X connect 16 0 7 2;
#X connect 17 0 16 1;
#X connect 18 0 20 0;
#X connect 19 0 2 0;
#X connect 20 0 2 0;
#X connect 21 0 22 0;
#X connect 21 0 20 1;
#X connect 22 0 19 1;
#X connect 23 0 31 0;
#X connect 24 0 30 0;
#X connect 25 0 29 0;
#X connect 26 0 24 1;
#X connect 26 0 25 1;
#X connect 27 0 3 1;
#X connect 28 0 4 1;
#X connect 31 0 26 0;
#X connect 32 0 12 0;
#X restore 745 463 pd sample-player;
#X obj 704 345 s \$0-file-size;
#X obj 825 208 r \$0-file-size;
#X msg 740 128 0;
#N canvas 416 367 460 592 control-all 0;
#X obj 137 443 until;
#X msg 137 386 32;
#X obj 137 497 f 0;
#X obj 172 497 + 1;
#X msg 155 468 0;
#X obj 137 410 t f b;
#X msg 223 351 symbol pitch;
#X obj 100 36 vsl 14 80 0.1 1 0 0 empty empty empty -56 30 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 197 238 t b b f;
#X obj 100 119 tgl 14 0 empty empty empty -68 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 263 237 t b b f;
#X msg 240 390 symbol on-off;
#X msg 230 370 symbol reverse;
#X msg 213 331 symbol start-pos;
#X obj 216 438 t a;
#X obj 295 290 t f;
#X obj 100 20 tgl 14 0 empty empty empty -62 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 323 237 t b b f;
#X obj 137 292 t b;
#X obj 100 135 vsl 14 80 0 1 0 0 empty empty empty -80 30 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 137 238 t b b f;
#X obj 137 551 s \$0-step-to-message;
#X obj 216 521 s \$0-message-type;
#X obj 295 491 s \$0-message-value;
#X connect 0 0 2 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 2 0 21 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 0 0;
#X connect 5 1 4 0;
#X connect 6 0 14 0;
#X connect 7 0 8 0;
#X connect 8 0 18 0;
#X connect 8 1 6 0;
#X connect 8 2 15 0;
#X connect 9 0 10 0;
#X connect 10 0 18 0;
#X connect 10 1 12 0;
#X connect 10 2 15 0;
#X connect 11 0 14 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 22 0;
#X connect 15 0 23 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 1 11 0;
#X connect 17 2 15 0;
#X connect 18 0 1 0;
#X connect 19 0 20 0;
#X connect 20 0 18 0;
#X connect 20 1 13 0;
#X connect 20 2 15 0;
#X coords 0 -1 1 1 14 200 2 100 20;
#X restore 155 358 pd control-all;
#X obj 694 211 s \$0-step-to-message;
#X obj 717 181 s \$0-message-type;
#X obj 740 155 s \$0-message-value;
#X obj 131 358 bng 14 250 50 0 \$0-randomize-on-off empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 131 382 bng 14 250 50 0 \$0-randomize-pitch empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 131 457 bng 14 250 50 0 \$0-randomize-reverse empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 131 481 bng 14 250 50 0 \$0-randomize-start-pos empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#N canvas 356 93 827 648 randomize 0;
#X obj 66 23 r \$0-randomize-start-pos;
#X obj 66 345 until;
#X msg 66 288 32;
#X obj 66 399 f 0;
#X obj 101 399 + 1;
#X msg 84 370 0;
#X obj 66 312 t f b;
#X msg 464 234 symbol pitch;
#X msg 624 234 symbol on-off;
#X msg 294 234 symbol reverse;
#X msg 112 234 symbol start-pos;
#X obj 66 542 s \$0-step-to-message;
#X obj 225 489 s \$0-message-type;
#X obj 155 516 s \$0-message-value;
#X msg 89 171 80;
#X obj 66 423 t f b;
#X obj 155 463 random;
#X obj 155 487 /;
#X obj 89 209 t f;
#X obj 248 23 r \$0-randomize-reverse;
#X obj 66 47 t b b b;
#X obj 225 461 t a;
#X obj 66 111 t b;
#X obj 248 47 t b b b;
#X obj 418 47 t b b b;
#X obj 418 23 r \$0-randomize-pitch;
#X obj 578 47 t b b b;
#X obj 578 23 r \$0-randomize-on-off;
#X obj 138 430 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 190 336 t b b;
#X msg 222 359 2;
#X msg 190 360 1;
#X obj 271 169 t b;
#X connect 0 0 20 0;
#X connect 1 0 3 0;
#X connect 2 0 6 0;
#X connect 3 0 4 0;
#X connect 3 0 15 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 1 0;
#X connect 6 1 5 0;
#X connect 7 0 21 0;
#X connect 8 0 21 0;
#X connect 9 0 21 0;
#X connect 10 0 21 0;
#X connect 14 0 18 0;
#X connect 15 0 11 0;
#X connect 15 1 16 0;
#X connect 16 0 17 0;
#X connect 17 0 13 0;
#X connect 18 0 17 1;
#X connect 18 0 16 1;
#X connect 19 0 23 0;
#X connect 20 0 22 0;
#X connect 20 1 14 0;
#X connect 20 2 10 0;
#X connect 21 0 12 0;
#X connect 22 0 2 0;
#X connect 23 0 22 0;
#X connect 23 1 32 0;
#X connect 23 2 9 0;
#X connect 24 0 22 0;
#X connect 24 1 14 0;
#X connect 24 2 7 0;
#X connect 25 0 24 0;
#X connect 26 0 22 0;
#X connect 26 1 32 0;
#X connect 26 2 8 0;
#X connect 27 0 26 0;
#X connect 28 0 16 0;
#X connect 29 0 31 0;
#X connect 29 1 30 0;
#X connect 30 0 16 1;
#X connect 31 0 17 1;
#X connect 32 0 29 0;
#X restore 672 429 pd randomize;
#N canvas 266 144 937 597 init 0;
#X obj 66 345 until;
#X msg 66 288 32;
#X obj 66 399 f 0;
#X obj 101 399 + 1;
#X msg 84 370 0;
#X obj 66 312 t f b;
#X msg 464 234 symbol pitch;
#X msg 624 234 symbol on-off;
#X msg 294 234 symbol reverse;
#X msg 112 234 symbol start-pos;
#X obj 66 542 s \$0-step-to-message;
#X obj 225 489 s \$0-message-type;
#X obj 155 516 s \$0-message-value;
#X obj 89 209 t f;
#X obj 66 47 t b b b;
#X obj 225 391 t a;
#X obj 66 111 t b;
#X obj 248 47 t b b b;
#X obj 418 47 t b b b;
#X obj 578 47 t b b b;
#X obj 66 23 r \$0-init-start-pos;
#X obj 248 23 r \$0-init-reverse;
#X obj 418 23 r \$0-init-pitch;
#X obj 578 23 r \$0-init-on-off;
#X msg 271 138 0;
#X msg 441 138 1;
#X msg 601 138 1;
#X obj 203 420 sel start-pos;
#X obj 155 479 spigot;
#X msg 203 444 1;
#X msg 291 446 0;
#X obj 66 423 t f f;
#X text 306 421 <-- Special case for start-pos;
#X obj 98 448 expr $f1 / 32;
#X connect 0 0 2 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 2 0 31 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 0 0;
#X connect 5 1 4 0;
#X connect 6 0 15 0;
#X connect 7 0 15 0;
#X connect 8 0 15 0;
#X connect 9 0 15 0;
#X connect 13 0 12 0;
#X connect 14 0 16 0;
#X connect 14 2 9 0;
#X connect 15 0 11 0;
#X connect 15 0 27 0;
#X connect 16 0 1 0;
#X connect 17 0 16 0;
#X connect 17 1 24 0;
#X connect 17 2 8 0;
#X connect 18 0 16 0;
#X connect 18 1 25 0;
#X connect 18 2 6 0;
#X connect 19 0 16 0;
#X connect 19 1 26 0;
#X connect 19 2 7 0;
#X connect 20 0 14 0;
#X connect 21 0 17 0;
#X connect 22 0 18 0;
#X connect 23 0 19 0;
#X connect 24 0 13 0;
#X connect 25 0 13 0;
#X connect 26 0 13 0;
#X connect 27 0 29 0;
#X connect 27 1 30 0;
#X connect 28 0 12 0;
#X connect 29 0 28 1;
#X connect 30 0 28 1;
#X connect 31 0 10 0;
#X connect 31 1 33 0;
#X connect 33 0 28 0;
#X restore 672 448 pd init;
#X obj 111 358 bng 14 250 50 0 \$0-init-on-off empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 111 382 bng 14 250 50 0 \$0-init-pitch empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 111 457 bng 14 250 50 0 \$0-init-reverse empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 111 481 bng 14 250 50 0 \$0-init-start-pos empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 662 19 t f f;
#X obj 662 43 s \$0-trigger;
#X obj 672 366 s \$0-init;
#X obj 672 323 t b f;
#X obj 672 273 f;
#X obj 16 42 loadbang;
#X obj 745 546 outlet~;
#X obj 108 69 inlet;
#X obj 146 69 inlet;
#X obj 892 118 cnv 15 100 60 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X obj 907 545 outlet;
#X obj 746 513 +~, f 16;
#X obj 414 27 inlet;
#X obj 854 544 outlet;
#N canvas 158 371 1009 370 controls 0;
#X obj 100 100 step \$0 0;
#X obj 114 100 step \$0 1;
#X obj 128 100 step \$0 2;
#X obj 142 100 step \$0 3;
#X obj 156 100 step \$0 4;
#X obj 170 100 step \$0 5;
#X obj 184 100 step \$0 6;
#X obj 198 100 step \$0 7;
#X obj 212 100 step \$0 8;
#X obj 226 100 step \$0 9;
#X obj 240 100 step \$0 10;
#X obj 254 100 step \$0 11;
#X obj 268 100 step \$0 12;
#X obj 282 100 step \$0 13;
#X obj 296 100 step \$0 14;
#X obj 310 100 step \$0 15;
#X obj 324 100 step \$0 16;
#X obj 338 100 step \$0 17;
#X obj 352 100 step \$0 18;
#X obj 366 100 step \$0 19;
#X obj 380 100 step \$0 20;
#X obj 394 100 step \$0 21;
#X obj 408 100 step \$0 22;
#X obj 422 100 step \$0 23;
#X obj 436 100 step \$0 24;
#X obj 450 100 step \$0 25;
#X obj 464 100 step \$0 26;
#X obj 478 100 step \$0 27;
#X obj 492 100 step \$0 28;
#X obj 506 100 step \$0 29;
#X obj 520 100 step \$0 30;
#X obj 534 100 step \$0 31;
#X coords 0 -1 1 1 448 200 2 100 100;
#X restore 179 358 pd controls;
#X obj 260 28 inlet;
#X obj 302 32 inlet;
#X obj 481 27 inlet;
#X connect 2 0 34 0;
#X connect 3 0 38 0;
#X connect 4 0 3 0;
#X connect 5 0 37 0;
#X connect 6 0 7 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 2 0;
#X connect 9 0 10 0;
#X connect 10 0 6 0;
#X connect 10 0 44 0;
#X connect 11 0 10 1;
#X connect 11 0 47 0;
#X connect 13 0 21 0;
#X connect 13 1 14 0;
#X connect 13 2 19 0;
#X connect 14 0 22 0;
#X connect 15 0 8 0;
#X connect 16 0 45 0;
#X connect 16 1 45 1;
#X connect 18 0 11 0;
#X connect 19 0 23 0;
#X connect 34 0 35 0;
#X connect 34 1 13 0;
#X connect 37 0 36 0;
#X connect 37 1 17 0;
#X connect 38 0 5 0;
#X connect 39 0 30 0;
#X connect 39 0 31 0;
#X connect 39 0 32 0;
#X connect 39 0 33 0;
#X connect 41 0 4 0;
#X connect 42 0 9 0;
#X connect 45 0 40 0;
#X connect 46 0 2 0;
#X connect 49 0 30 0;
#X connect 49 0 31 0;
#X connect 49 0 32 0;
#X connect 49 0 33 0;
#X connect 50 0 25 0;
#X connect 50 0 27 0;
#X coords 0 -1 1 1 540 470 1 100 100;
#X restore 147 -90 pd beatslicer;
#X obj 152 748 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 147 778 i;
#X obj 198 776 + 1;
#X floatatom 147 803 5 0 0 0 - - - 0;
#X obj 147 827 % 2;
#X obj 147 852 sel 0;
#X obj 147 877 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 201 850 sel 0;
#X obj 201 875 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 201 825 % 4;
#X obj 270 848 sel 0;
#X obj 270 873 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 21 463 dac~;
#N canvas 0 27 1034 914 visuals 0;
#X obj 31 390 gemframebuffer;
#X obj 31 436 t a a b;
#X obj 31 413 translateXYZ 0 0 -4;
#X obj 136 367 loadbang;
#X obj 31 460 t a b;
#X msg 75 462 snap;
#X obj 31 512 t a b;
#X msg 211 526 1;
#X obj 590 341 t a b;
#X msg 767 342 1;
#X obj 578 1044 pix_texture;
#X obj 578 1155 rectangle 7.12 4.07;
#X floatatom 644 1133 5 0 0 0 - - - 0;
#X floatatom 708 1132 5 0 0 0 - - - 0;
#X msg 136 391 dimen 1024 768;
#X obj 31 488 pix_snap 0 0 1024 768;
#X obj 31 367 gemhead 11;
#X obj 590 316 gemhead 22;
#X obj 31 548 pix_buffer_write framebuffer;
#X obj 31 573 pix_buffer framebuffer 2;
#X obj 590 363 pix_buffer_read framebuffer;
#X obj 644 1110 / 100;
#X obj 708 1109 / 100;
#X floatatom 644 1089 5 0 0 0 - - - 0;
#X floatatom 707 1088 5 0 0 0 - - - 0;
#X obj 151 704 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 56 705 separator;
#X obj 57 729 video, f 15;
#X msg 124 705 4;
#X obj 107 680 random 1000;
#X obj 106 656 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 645 463 tgl 20 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X floatatom 699 464 5 0 0 0 - - - 0;
#N canvas 735 431 450 300 puzzle_effect 0;
#X obj 42 173 outlet;
#X obj 43 117 inlet;
#N canvas 565 255 787 662 togglefx 0;
#X obj 89 290 outlet;
#X obj 36 37 inlet;
#X obj 121 172 spigot 1;
#X obj 32 245 spigot 0;
#X msg 127 94 0 1;
#X msg 165 94 1 0;
#X obj 122 125 unpack 0 0;
#X obj 124 37 inlet;
#X obj 189 297 outlet;
#X obj 237 27 inlet;
#X obj 299 58 loadbang;
#X obj 124 68 route 0 1;
#X connect 1 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 8 0;
#X connect 3 0 0 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 6 0 3 1;
#X connect 6 1 2 1;
#X connect 7 0 11 0;
#X connect 9 0 0 0;
#X connect 10 0 4 0;
#X connect 11 0 4 0;
#X connect 11 1 5 0;
#X restore 43 143 pd togglefx;
#X obj 144 143 pix_puzzle;
#X msg 144 117 size \$1 \$1;
#X floatatom 151 76 5 0 0 0 - - - 0;
#X obj 95 57 inlet;
#X obj 157 43 inlet;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 2 1 3 0;
#X connect 3 0 2 2;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 2 1;
#X connect 7 0 5 0;
#X restore 590 487 pd puzzle_effect;
#N canvas 994 27 897 776 spikey_thing 0;
#X obj 478 937 GEMglPushMatrix;
#X obj 498 916 GEMglPopMatrix;
#X floatatom 755 956 5 0 0 0 - - - 0;
#X obj 417 511 rotateXYZ 0 0 90;
#X obj 417 594 route F;
#X text 673 617 <- rule 1;
#X obj 417 641 route F;
#X msg 417 665 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \, F;
#X obj 417 689 route F;
#X text 674 663 <- rule 2;
#X text 673 711 <- rule 3;
#X msg 417 564 F;
#X obj 417 539 t b a;
#X obj 386 1189 translateXYZ 0.05 0 0;
#X obj 417 482 translateXYZ 0 -3 0;
#X obj 422 1081 rotateXYZ 0 0 50;
#X obj 446 990 rotateXYZ 0 0 -40;
#X obj 755 975 / 100;
#X msg 755 933 10;
#X obj 755 910 loadbang;
#X text 527 764 <- create the primitive according to the Lsystem;
#X text 672 730 These rules create an Lsystem;
#X text 554 835 <- Store the current state sent by [gemhead] and distribute it to the corresponding primitives;
#X msg 417 618 F \, [ \, - \, F \, ] \, F \, [ \, + \, F \, ] \, F;
#X obj 417 805 gemlist;
#X obj 449 564 s \$0-gemlist;
#X obj 437 826 gemlist;
#X obj 456 849 gemlist;
#X obj 478 871 gemlist;
#X obj 498 892 gemlist;
#X obj 544 784 r \$0-gemlist;
#X msg 417 713 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \, F;
#X obj 417 763 route F - + [ ];
#X msg 766 1177 print;
#X obj 811 1439 glsl_program;
#X obj 952 1218 change;
#X msg 835 1410 print;
#X floatatom 952 1241 2 0 0 0 ID - - 0;
#X obj 901 1389 print linking;
#X obj 811 1199 glsl_vertex;
#X obj 811 1628 pix_texture;
#X obj 811 1121 alpha;
#X obj 838 1574 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X floatatom 1029 1379 5 0 0 0 - - - 0;
#X msg 838 1552 0;
#X msg 1029 1400 K \$1;
#N canvas 0 50 450 300 load_shader 0;
#X obj 89 99 t b b;
#X msg 119 126 0;
#X obj 89 154 outlet;
#X obj 89 71 gemhead 1;
#X connect 0 0 2 0;
#X connect 0 1 1 0;
#X connect 1 0 3 0;
#X connect 3 0 0 0;
#X restore 903 1091 pd load_shader;
#N canvas 50 82 450 300 init_shader 0;
#X obj 89 154 outlet;
#X obj 89 45 inlet;
#X obj 89 73 change;
#X obj 89 100 t b;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X restore 890 1463 pd init_shader;
#X obj 838 1531 loadbang;
#X obj 811 1648 rotateXYZ -90 0 0;
#X msg 1028 1334 0.1;
#X msg 838 1594 rectangle \$1;
#X obj 811 1257 glsl_fragment;
#X obj 899 1279 change;
#X floatatom 899 1302 2 0 0 0 ID - - 0;
#X obj 899 1321 pack 0 0;
#X msg 899 1368 link \$1 \$2;
#X msg 935 1177 open \$1.frag;
#X obj 903 1140 t s s;
#X msg 825 1177 open \$1.vert;
#X msg 903 1120 symbol shader/P_distord;
#X floatatom 1076 1310 5 0 0 0 - - - 0;
#X obj 1076 1332 / 100;
#X obj 811 1671 sphere 0.3;
#X msg 1158 1477 draw line;
#X msg 1165 1500 draw fill;
#X msg 1171 1521 draw point;
#X obj 668 536 / 100;
#X floatatom 811 529 5 0 0 0 - - - 0;
#X obj 811 551 / 100;
#X obj 752 536 / 100;
#X floatatom 668 503 5 0 0 0 - - - 0;
#X floatatom 747 503 5 0 0 0 - - - 0;
#X obj 359 149 separator;
#X floatatom 437 192 5 0 0 0 - - - 0;
#X obj 429 226 / 100;
#X floatatom 492 195 5 0 0 0 - - - 0;
#X obj 484 229 / 100;
#X floatatom 568 189 5 0 0 0 - - - 0;
#X obj 560 223 / 100;
#X floatatom 435 313 5 0 0 0 - - - 0;
#X floatatom 490 316 5 0 0 0 - - - 0;
#X floatatom 566 310 5 0 0 0 - - - 0;
#X obj 356 105 rotateXYZ 0 0 90;
#X obj 812 1506 pix_image ./textures/1.png;
#X msg 1504 1487 open textures/2.png;
#X msg 1511 1459 open textures/3.png;
#X msg 1503 1517 open textures/1.png;
#X obj 310 1579 translateXYZ 0.05 0 0;
#X obj 260 24 inlet;
#X obj 535 79 metro 11;
#N canvas 117 666 450 300 movement 0;
#X obj 39 113 i;
#X obj 81 112 + 1;
#X obj 36 230 outlet;
#X obj 28 29 inlet;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 1 0 0 1;
#X connect 3 0 0 0;
#X restore 531 118 pd movement;
#X obj 428 25 inlet;
#X obj 581 16 inlet;
#X obj 960 295 inlet;
#X obj 1131 558 inlet;
#X obj 1265 1203 i;
#X obj 1307 1202 + 1;
#X obj 1253 1076 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X floatatom 1264 1229 5 0 0 0 - - - 0;
#X obj 1264 1253 % 3;
#X floatatom 1264 1284 5 0 0 0 - - - 0;
#X obj 1264 1308 sel 0 1 2, f 24;
#X obj 1245 1354 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1308 1377 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1373 1372 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1442 1382 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1246 806 inlet;
#X obj 1545 1200 i;
#X obj 1587 1199 + 1;
#X obj 1533 1073 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X floatatom 1544 1226 5 0 0 0 - - - 0;
#X obj 1544 1250 % 3;
#X floatatom 1544 1281 5 0 0 0 - - - 0;
#X obj 1544 1305 sel 0 1 2, f 24;
#X obj 1525 1351 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1588 1374 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1653 1369 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1722 1379 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 1526 803 inlet;
#X obj 323 30 inlet;
#X obj 159 98 spigot;
#X connect 2 0 17 0;
#X connect 3 0 12 0;
#X connect 4 0 23 0;
#X connect 4 1 6 0;
#X connect 6 0 7 0;
#X connect 6 1 8 0;
#X connect 7 0 8 0;
#X connect 8 0 31 0;
#X connect 8 1 32 0;
#X connect 11 0 4 0;
#X connect 12 0 11 0;
#X connect 12 1 25 0;
#X connect 13 0 41 0;
#X connect 14 0 3 0;
#X connect 17 0 13 1;
#X connect 17 0 88 1;
#X connect 18 0 2 0;
#X connect 19 0 18 0;
#X connect 23 0 6 0;
#X connect 24 0 13 0;
#X connect 26 0 15 0;
#X connect 26 0 27 0;
#X connect 27 0 16 0;
#X connect 28 0 0 0;
#X connect 29 0 1 0;
#X connect 30 0 24 1;
#X connect 30 0 26 1;
#X connect 30 0 27 1;
#X connect 30 0 28 1;
#X connect 30 0 29 1;
#X connect 31 0 32 0;
#X connect 32 0 24 0;
#X connect 32 1 26 0;
#X connect 32 2 27 0;
#X connect 32 3 28 0;
#X connect 32 4 29 0;
#X connect 33 0 39 0;
#X connect 34 0 84 0;
#X connect 34 1 47 0;
#X connect 35 0 37 0;
#X connect 36 0 34 0;
#X connect 37 0 55 1;
#X connect 39 0 52 0;
#X connect 39 1 35 0;
#X connect 40 0 49 0;
#X connect 41 0 39 0;
#X connect 42 0 51 0;
#X connect 43 0 45 0;
#X connect 44 0 42 0;
#X connect 45 0 34 0;
#X connect 46 0 60 0;
#X connect 47 0 50 0;
#X connect 48 0 44 0;
#X connect 49 0 63 0;
#X connect 50 0 43 0;
#X connect 51 0 40 0;
#X connect 52 0 34 0;
#X connect 52 1 53 0;
#X connect 53 0 54 0;
#X connect 54 0 55 0;
#X connect 55 0 56 0;
#X connect 56 0 34 0;
#X connect 56 0 38 0;
#X connect 57 0 52 0;
#X connect 58 0 59 0;
#X connect 58 1 57 0;
#X connect 59 0 39 0;
#X connect 60 0 58 0;
#X connect 61 0 62 0;
#X connect 62 0 43 0;
#X connect 63 0 88 0;
#X connect 64 0 63 0;
#X connect 65 0 63 0;
#X connect 66 0 63 0;
#X connect 67 0 13 1;
#X connect 68 0 69 0;
#X connect 69 0 13 3;
#X connect 70 0 13 2;
#X connect 71 0 67 0;
#X connect 72 0 70 0;
#X connect 73 0 14 0;
#X connect 74 0 75 0;
#X connect 75 0 14 1;
#X connect 76 0 77 0;
#X connect 77 0 14 2;
#X connect 78 0 79 0;
#X connect 79 0 14 3;
#X connect 80 0 3 1;
#X connect 81 0 3 2;
#X connect 82 0 3 3;
#X connect 83 0 73 0;
#X connect 84 0 40 0;
#X connect 85 0 84 0;
#X connect 86 0 84 0;
#X connect 87 0 84 0;
#X connect 89 0 121 0;
#X connect 90 0 91 0;
#X connect 91 0 83 1;
#X connect 91 0 83 2;
#X connect 91 0 83 3;
#X connect 91 0 16 1;
#X connect 91 0 16 2;
#X connect 91 0 16 3;
#X connect 91 0 15 1;
#X connect 91 0 15 2;
#X connect 91 0 15 3;
#X connect 92 0 90 0;
#X connect 93 0 90 1;
#X connect 94 0 2 0;
#X connect 95 0 61 0;
#X connect 96 0 97 0;
#X connect 96 0 99 0;
#X connect 97 0 96 1;
#X connect 98 0 96 0;
#X connect 99 0 100 0;
#X connect 100 0 101 0;
#X connect 101 0 102 0;
#X connect 102 0 103 0;
#X connect 102 1 104 0;
#X connect 102 2 105 0;
#X connect 102 3 106 0;
#X connect 103 0 64 0;
#X connect 104 0 65 0;
#X connect 105 0 66 0;
#X connect 107 0 98 0;
#X connect 108 0 109 0;
#X connect 108 0 111 0;
#X connect 109 0 108 1;
#X connect 110 0 108 0;
#X connect 111 0 112 0;
#X connect 112 0 113 0;
#X connect 113 0 114 0;
#X connect 114 0 115 0;
#X connect 114 1 116 0;
#X connect 114 2 117 0;
#X connect 114 3 118 0;
#X connect 115 0 86 0;
#X connect 116 0 85 0;
#X connect 117 0 87 0;
#X connect 119 0 110 0;
#X connect 120 0 121 1;
#X connect 121 0 83 0;
#X restore 228 732 pd spikey_thing;
#X f 39;
#X obj 276 696 tgl 20 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X floatatom 328 694 5 0 0 0 - - - 0;
#X floatatom 386 691 5 0 0 0 - - - 0;
#X floatatom 431 689 5 0 0 0 - - - 0;
#X obj 246 664 tgl 20 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#N canvas 472 203 997 728 particle_system 0;
#X obj 103 160 part_head;
#X text 327 187 the velocity domain;
#X text 326 202 a sphere at 0 \, 0.2 \, 0;
#X text 327 221 radius = 0.3;
#X msg 302 247 0 0.2 0 0.3;
#X msg 413 247 0.2 0 0 0.3;
#X obj 107 410 part_render;
#X obj 107 208 part_size 1;
#X msg 197 185 2;
#X obj 107 284 part_color;
#X msg 130 230 1 0 0;
#X obj 107 341 part_source 5;
#X msg 142 258 0 1 0;
#X msg 167 184 1;
#X obj 107 311 part_velocity sphere 0 0.02 0 0.03;
#X obj 107 372 part_killold 100;
#X obj 105 564 pix_texture;
#X obj 104 475 pix_image ./1.jpg;
#X floatatom 198 603 5 0 0 0 - - - 0;
#X obj 198 625 / 100;
#X obj 106 646 cube 0.1, f 12;
#X msg 190 715 draw line;
#X msg 197 738 draw fill;
#X msg 203 759 draw point;
#X msg 283 482 open textures/2.png;
#X msg 290 454 open textures/3.png;
#X msg 282 512 open textures/1.png;
#X obj 112 124 separator;
#X obj 40 33 inlet;
#X text 433 310 <domain>: one of "point" \, "line" \, "triangle" \, "plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc" \, "rectangle";
#X text 432 351 <arguments>: up to 9 floats \, defining the specified domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line" \, "x y z r" for "sphere" \, ...). The meaning of the arguments depends -of course- on the domain.;
#X msg 548 105 symbol sphere;
#X msg 536 229 0 0.1 0 0.1;
#X msg 535 203 0.1 -0.1 0 0.05;
#X text 535 187 arguments;
#X obj 560 704 rotateXYZ 0 0 90;
#X obj 586 553 metro 11;
#X obj 586 466 tgl 20 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#N canvas 117 666 450 300 movement 0;
#X obj 39 113 i;
#X obj 81 112 + 1;
#X obj 36 230 outlet;
#X obj 28 29 inlet;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 1 0 0 1;
#X connect 3 0 0 0;
#X restore 591 597 pd movement;
#N canvas 117 666 450 300 movement 0;
#X obj 39 113 i;
#X obj 81 112 + 1;
#X obj 36 230 outlet;
#X obj 28 29 inlet;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 1 0 0 1;
#X connect 3 0 0 0;
#X restore 625 623 pd movement;
#N canvas 117 666 450 300 movement 0;
#X obj 39 113 i;
#X obj 81 112 + 1;
#X obj 36 230 outlet;
#X obj 28 29 inlet;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 1 0 0 1;
#X connect 3 0 0 0;
#X restore 660 656 pd movement;
#X floatatom 685 519 5 0 0 0 - - - 0;
#X msg 561 136 symbol cone;
#X obj 889 295 i;
#X obj 931 294 + 1;
#X obj 877 168 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X floatatom 888 321 5 0 0 0 - - - 0;
#X obj 888 345 % 3;
#X floatatom 888 376 5 0 0 0 - - - 0;
#X obj 888 400 sel 0 1 2, f 24;
#X obj 869 446 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 932 469 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 997 464 bng 20 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 869 99 inlet;
#X obj 191 35 inlet;
#X obj 150 81 spigot;
#X connect 0 0 7 0;
#X connect 4 0 14 2;
#X connect 5 0 14 2;
#X connect 6 0 17 0;
#X connect 7 0 9 0;
#X connect 8 0 7 1;
#X connect 9 0 14 0;
#X connect 10 0 9 1;
#X connect 11 0 15 0;
#X connect 12 0 9 2;
#X connect 13 0 7 1;
#X connect 14 0 11 0;
#X connect 15 0 6 0;
#X connect 16 0 35 0;
#X connect 17 0 16 0;
#X connect 18 0 19 0;
#X connect 19 0 20 1;
#X connect 21 0 20 0;
#X connect 22 0 20 0;
#X connect 23 0 20 0;
#X connect 24 0 17 0;
#X connect 25 0 17 0;
#X connect 25 0 24 0;
#X connect 26 0 17 0;
#X connect 27 0 0 0;
#X connect 28 0 55 0;
#X connect 31 0 14 1;
#X connect 32 0 14 2;
#X connect 35 0 20 0;
#X connect 36 0 38 0;
#X connect 36 0 39 0;
#X connect 36 0 40 0;
#X connect 37 0 36 0;
#X connect 38 0 35 1;
#X connect 39 0 35 2;
#X connect 40 0 35 3;
#X connect 41 0 36 1;
#X connect 42 0 14 1;
#X connect 43 0 44 0;
#X connect 43 0 46 0;
#X connect 44 0 43 1;
#X connect 45 0 43 0;
#X connect 46 0 47 0;
#X connect 47 0 48 0;
#X connect 48 0 49 0;
#X connect 49 0 50 0;
#X connect 49 1 51 0;
#X connect 49 2 52 0;
#X connect 50 0 25 0;