-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathpp.grainer-mc~.pd
More file actions
1900 lines (1900 loc) · 58.6 KB
/
Copy pathpp.grainer-mc~.pd
File metadata and controls
1900 lines (1900 loc) · 58.6 KB
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 500 119 630 615 10;
#X obj 522 235 table \$0-sf;
#X obj 100 213 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 100 325 metro 50;
#X msg 99 472 next bang;
#X obj 100 521 outlet~;
#N canvas 700 125 1056 764 stuff 0;
#X obj 28 41 r \$0-samplelength;
#X obj 62 63 r \$0-samplerate;
#X obj 62 86 / 1000;
#X obj 28 84 /;
#X obj 44 142 s \$0-postionguir;
#X obj 43 166 s \$0-positionr;
#X obj 28 187 s \$0-random-positionr;
#X obj 496 401 s \$0-playguicnv;
#X obj 461 325 sel 0 1;
#X obj 461 297 r \$0-playbacktgl;
#X msg 496 375 color 16;
#X msg 461 352 color 11;
#X obj 580 8 r \$0-grainposition;
#X obj 598 46 r \$0-samplelength;
#X obj 580 108 /;
#X obj 598 89 /;
#X obj 633 90 / 1000;
#X obj 580 148 * 498;
#X obj 562 255 s \$0-zeiger;
#X obj 633 68 r \$0-samplerate;
#X msg 562 232 pos \$1 1;
#X obj 562 169 f;
#X obj 502 142 metro 50;
#X obj 562 211 change;
#X obj 301 13 r \$0-visbng;
#X obj 321 144 s \$0-visbngr;
#X msg 301 116 color 0 0;
#X msg 385 116 color 10 10;
#X obj 383 91 del 250;
#X obj 301 35 t b;
#X obj 813 243 /;
#X obj 842 221 t b f;
#X obj 813 264 i;
#X obj 876 350 r \$0-int_triggeronoff;
#X obj 812 478 spigot;
#X obj 876 375 t f f;
#X obj 824 394 sel 1;
#X obj 813 414 f;
#X obj 811 554 s \$0-active-grains;
#X msg 811 532 label \$1;
#X obj 889 411 loadbang;
#X msg 889 433 0;
#X obj 811 513 makefilename %d;
#X obj 795 454 f;
#X obj 562 191 mod 498;
#X obj 580 129 wrap;
#X obj 406 142 s \$0-namecnv;
#X obj 725 414 metro 100;
#X obj 813 288 abs;
#N canvas 343 276 853 414 normalize 0;
#X obj 111 205 expr if($f1<$f2 \, $f2 \, $f1);
#X obj 207 181 abs;
#X msg 415 364 normalize \$1;
#X obj 528 19 r \$0-normalize;
#X obj 529 60 del 100;
#X obj 370 315 f;
#X obj 529 41 t b;
#X obj 351 152 r \$0-normalize;
#X obj 297 25 t b;
#X obj 351 172 change;
#X obj 351 194 pipe 20;
#X msg 357 55 0;
#X obj 357 76 s \$0-normalizer;
#X obj 415 385 s \$0-sf;
#X obj 529 89 s waveform/\$0-sf;
#X obj 350 213 sel 0;
#X obj 276 73 t b b;
#X obj 111 128 array max \$0-sf;
#X obj 207 160 array min \$0-sf;
#X obj 276 3 r \$0-sf-path;
#X obj 286 49 del 10;
#X connect 0 0 5 1;
#X connect 1 0 0 1;
#X connect 2 0 13 0;
#X connect 3 0 6 0;
#X connect 4 0 14 0;
#X connect 5 0 2 0;
#X connect 6 0 4 0;
#X connect 7 0 9 0;
#X connect 8 0 20 0;
#X connect 8 0 11 0;
#X connect 9 0 10 0;
#X connect 10 0 15 0;
#X connect 11 0 12 0;
#X connect 15 0 5 0;
#X connect 15 1 2 0;
#X connect 16 0 17 0;
#X connect 16 1 18 0;
#X connect 17 0 0 0;
#X connect 18 0 1 0;
#X connect 19 0 8 0;
#X connect 20 0 16 0;
#X restore 323 226 pd normalize;
#X obj 502 98 r \$0-visbng;
#X obj 725 372 r \$0-visbng;
#X obj 502 119 t b;
#X obj 725 393 t b;
#X msg 214 65 relocate 540x340+1+1 1x1+50+60 \, vis 1 \, editmode 0;
#X msg 28 114 range 0 \$1;
#X msg 463 538 set \$1 \, bang;
#X obj 463 562 s waveform/\$0-sf;
#X obj 463 438 r \$0-visbng;
#X obj 559 443 r \$0-set;
#X obj 463 461 t b;
#X obj 463 514 symbol \$0-sf;
#X obj 559 466 t b a;
#X obj 120 345 r \$0-random-size;
#X obj 69 318 r \$0-size;
#X text 9 289 grain-distance should not fall below grain-size / max.grains (128);
#X obj 842 198 r \$0-distance;
#X obj 120 543 s \$0-distancer;
#X obj 120 370 t b f;
#X obj 120 400 +;
#X obj 69 409 abs;
#X obj 120 451 max;
#X obj 120 423 t b f;
#X obj 69 369 t f f;
#X msg 120 521 range \$1 1e+09 \, bang;
#X obj 813 76 r \$0-random-size;
#X obj 762 49 r \$0-size;
#X obj 813 101 t b f;
#X obj 813 131 +;
#X obj 762 140 abs;
#X obj 813 182 max;
#X obj 813 154 t b f;
#X obj 762 100 t f f;
#X obj 120 477 / 8;
#X obj 145 477 r \$0-max-grains;
#X obj 813 373 min 8;
#X obj 840 326 r \$0-max-grains;
#X obj 214 89 s pd-\$0-grainer-mc~;
#X obj 813 312 + 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 0 55 0;
#X connect 8 0 11 0;
#X connect 8 1 10 0;
#X connect 9 0 8 0;
#X connect 10 0 7 0;
#X connect 11 0 7 0;
#X connect 12 0 14 0;
#X connect 13 0 15 0;
#X connect 14 0 45 0;
#X connect 15 0 14 1;
#X connect 16 0 15 1;
#X connect 17 0 21 1;
#X connect 19 0 16 0;
#X connect 20 0 18 0;
#X connect 21 0 44 0;
#X connect 22 0 21 0;
#X connect 23 0 20 0;
#X connect 24 0 29 0;
#X connect 26 0 25 0;
#X connect 26 0 46 0;
#X connect 27 0 25 0;
#X connect 27 0 46 0;
#X connect 28 0 27 0;
#X connect 29 0 54 0;
#X connect 29 0 28 0;
#X connect 29 0 26 0;
#X connect 30 0 32 0;
#X connect 31 0 30 0;
#X connect 31 1 30 1;
#X connect 32 0 48 0;
#X connect 33 0 35 0;
#X connect 34 0 42 0;
#X connect 35 0 36 0;
#X connect 35 1 34 1;
#X connect 36 0 37 0;
#X connect 36 1 42 0;
#X connect 37 0 43 1;
#X connect 39 0 38 0;
#X connect 40 0 41 0;
#X connect 41 0 42 0;
#X connect 42 0 39 0;
#X connect 43 0 34 0;
#X connect 44 0 23 0;
#X connect 45 0 17 0;
#X connect 47 0 43 0;
#X connect 48 0 88 0;
#X connect 50 0 52 0;
#X connect 51 0 53 0;
#X connect 52 0 22 0;
#X connect 53 0 47 0;
#X connect 54 0 87 0;
#X connect 55 0 4 0;
#X connect 55 0 5 0;
#X connect 55 0 6 0;
#X connect 56 0 57 0;
#X connect 58 0 60 0;
#X connect 59 0 62 0;
#X connect 60 0 61 0;
#X connect 61 0 56 0;
#X connect 62 0 61 0;
#X connect 62 1 61 1;
#X connect 63 0 68 0;
#X connect 64 0 73 0;
#X connect 66 0 31 0;
#X connect 68 0 69 0;
#X connect 68 1 69 1;
#X connect 69 0 72 0;
#X connect 70 0 71 0;
#X connect 71 0 83 0;
#X connect 72 0 71 0;
#X connect 72 1 71 1;
#X connect 73 0 70 0;
#X connect 73 1 69 0;
#X connect 74 0 67 0;
#X connect 75 0 77 0;
#X connect 76 0 82 0;
#X connect 77 0 78 0;
#X connect 77 1 78 1;
#X connect 78 0 81 0;
#X connect 79 0 80 0;
#X connect 80 0 30 0;
#X connect 81 0 80 0;
#X connect 81 1 80 1;
#X connect 82 0 79 0;
#X connect 82 1 78 0;
#X connect 83 0 74 0;
#X connect 84 0 83 1;
#X connect 85 0 37 0;
#X connect 86 0 85 1;
#X connect 88 0 85 0;
#X restore 435 255 pd stuff;
#X obj 127 373 s \$0-trigger;
#X obj 100 169 r \$0-int_triggeronoff;
#X obj 153 286 +;
#X obj 163 219 r \$0-trigger;
#X obj 163 241 random;
#X obj 163 263 t b f;
#N canvas 256 679 1150 538 map 0;
#X obj 39 258 s \$0-grainpitch;
#X obj 59 193 r \$0-pitch;
#X obj 39 236 +;
#X obj 58 213 t b f;
#X obj 39 83 r \$0-trigger;
#X obj 39 172 -;
#X obj 39 150 random;
#X obj 78 106 r \$0-random-pitch;
#X obj 78 129 * 2;
#X obj 368 252 s \$0-grainpan;
#X obj 368 203 / 100;
#X obj 397 53 r \$0-trigger;
#X obj 368 31 r \$0-pan;
#X obj 368 230 clip -1 1;
#X obj 437 73 r \$0-random-pan;
#X obj 436 93 * 2;
#X obj 397 135 -;
#X obj 397 113 random;
#X obj 365 286 r \$0-amp;
#X obj 365 431 + 100;
#X obj 365 453 dbtorms;
#X obj 375 377 t b f;
#X obj 376 312 r \$0-trigger;
#X obj 376 355 random;
#X obj 415 333 r \$0-random-amp;
#X obj 365 474 s \$0-grainamp;
#X obj 365 405 -;
#X obj 397 157 t b f;
#X obj 368 180 +;
#X obj 597 45 r \$0-trigger;
#X obj 565 145 s \$0-freq;
#X obj 565 294 s \$0-q;
#X obj 597 67 random;
#X obj 597 89 t b f;
#X obj 565 119 +;
#X obj 582 204 r \$0-trigger;
#X obj 582 226 random;
#X obj 582 248 t b f;
#X obj 565 273 +;
#X obj 565 22 r \$0-filter-freq;
#X obj 647 66 r \$0-random-filter-freq;
#X obj 565 171 r \$0-filter-q;
#X obj 631 225 r \$0-random-filter-q;
#X obj 202 248 s \$0-grainsize;
#X obj 202 76 r \$0-size;
#X obj 249 125 r \$0-random-size;
#X obj 216 158 random;
#X obj 216 102 r \$0-trigger;
#X obj 202 208 +;
#X obj 216 181 t b f;
#X obj 825 23 r \$0-distance-set;
#X obj 825 294 max;
#X obj 825 330 s \$0-distancer;
#X obj 888 111 r \$0-random-size;
#X obj 837 84 r \$0-size;
#X obj 888 243 / 128;
#X obj 888 136 t b f;
#X obj 888 166 +;
#X obj 837 175 abs;
#X obj 888 217 max;
#X obj 888 189 t b f;
#X obj 837 135 t f f;
#X obj 825 46 pipe 0;
#X obj 927 243 r \$0-max-grains;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 3 1 2 1;
#X connect 4 0 6 0;
#X connect 5 0 2 0;
#X connect 6 0 5 0;
#X connect 7 0 5 1;
#X connect 7 0 8 0;
#X connect 8 0 6 1;
#X connect 10 0 13 0;
#X connect 11 0 17 0;
#X connect 12 0 28 0;
#X connect 13 0 9 0;
#X connect 14 0 15 0;
#X connect 14 0 16 1;
#X connect 15 0 17 1;
#X connect 16 0 27 0;
#X connect 17 0 16 0;
#X connect 18 0 26 0;
#X connect 19 0 20 0;
#X connect 20 0 25 0;
#X connect 21 0 26 0;
#X connect 21 1 26 1;
#X connect 22 0 23 0;
#X connect 23 0 21 0;
#X connect 24 0 23 1;
#X connect 26 0 19 0;
#X connect 27 0 28 0;
#X connect 27 1 28 1;
#X connect 28 0 10 0;
#X connect 29 0 32 0;
#X connect 32 0 33 0;
#X connect 33 0 34 0;
#X connect 33 1 34 1;
#X connect 34 0 30 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 38 0;
#X connect 37 1 38 1;
#X connect 38 0 31 0;
#X connect 39 0 34 0;
#X connect 40 0 32 1;
#X connect 41 0 38 0;
#X connect 42 0 36 1;
#X connect 44 0 48 0;
#X connect 45 0 46 1;
#X connect 46 0 49 0;
#X connect 47 0 46 0;
#X connect 48 0 43 0;
#X connect 49 0 48 0;
#X connect 49 1 48 1;
#X connect 50 0 62 0;
#X connect 51 0 52 0;
#X connect 53 0 56 0;
#X connect 54 0 61 0;
#X connect 55 0 51 1;
#X connect 56 0 57 0;
#X connect 56 1 57 1;
#X connect 57 0 60 0;
#X connect 58 0 59 0;
#X connect 59 0 55 0;
#X connect 60 0 59 0;
#X connect 60 1 59 1;
#X connect 61 0 58 0;
#X connect 61 1 57 0;
#X connect 62 0 51 0;
#X connect 63 0 55 1;
#X restore 435 276 pd map;
#X obj 457 103 inlet;
#X obj 318 101 inlet~;
#N canvas 280 97 888 439 record 0;
#X msg 243 237 start;
#X obj 443 82 sel 0 1;
#X obj 481 227 timer;
#X obj 481 265 * 44.1;
#X obj 535 221 samplerate~;
#X obj 535 246 / 1000;
#X msg 156 239 stop;
#X obj 416 57 t f f;
#X obj 298 108 sel 1 0;
#X msg 715 247 resize 1.67772e+07;
#X msg 481 332 resize \$1;
#X obj 416 9 r \$0-record;
#X obj 136 66 inlet~;
#X obj 301 205 del 10;
#X obj 416 34 > 0;
#X obj 595 246 s \$0-samplerate;
#N canvas 343 67 797 561 info 0;
#X obj 172 519 s \$0-wfbg;
#X obj 107 138 /;
#X obj 57 202 / 60;
#X obj 57 222 i;
#X obj 182 193 mod 60;
#X obj 214 265 < 10;
#X obj 187 346 makefilename 0%d;
#X obj 182 245 t f f;
#X obj 157 287 list prepend;
#X obj 157 306 route 0 1;
#X obj 156 326 makefilename %d;
#X obj 107 158 t f f;
#X obj 114 261 < 10;
#X obj 36 350 makefilename 0%d;
#X obj 57 242 t f f;
#X obj 35 282 list prepend;
#X obj 35 301 route 0 1;
#X obj 2 330 makefilename %d;
#X msg 172 495 label Recorded___\$1:\$2___\$3Hz;
#X obj 172 473 pack s s f;
#X obj 423 42 inlet;
#X obj 107 36 inlet;
#X msg 137 543 Recorded \$1:\$2 \$3Hz;
#X msg 11 540 label Recorded;
#X obj 11 562 s \$0-namecnv;
#X obj 138 563 print grainer-mc~;
#X connect 1 0 11 0;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 4 0 7 0;
#X connect 5 0 8 1;
#X connect 6 0 19 1;
#X connect 7 0 8 0;
#X connect 7 1 5 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 6 0;
#X connect 10 0 19 1;
#X connect 11 0 2 0;
#X connect 11 1 4 0;
#X connect 12 0 15 1;
#X connect 13 0 19 0;
#X connect 14 0 15 0;
#X connect 14 1 12 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 16 1 13 0;
#X connect 17 0 19 0;
#X connect 18 0 0 0;
#X connect 19 0 18 0;
#X connect 19 0 22 0;
#X connect 19 0 23 0;
#X connect 20 0 19 2;
#X connect 20 0 1 1;
#X connect 21 0 1 0;
#X connect 22 0 25 0;
#X connect 23 0 24 0;
#X restore 631 303 pd info;
#X obj 136 313 tabwrite~ \$0-sf;
#X obj 301 236 s waveform/\$0-sf;
#X obj 715 381 s \$0-sf;
#X obj 494 303 s \$0-samplelength;
#X obj 136 87 hip~ 10;
#X obj 137 153 *~;
#X msg 173 135 0 \, 1 5;
#X obj 173 157 line~;
#X msg 212 159 0 5;
#X obj 157 219 del 5;
#X obj 443 359 f \$0;
#X msg 443 382 \; \$1-set symbol \$1-sf;
#X obj 498 120 t b b b;
#X connect 0 0 17 0;
#X connect 1 0 2 1;
#X connect 1 0 27 0;
#X connect 1 1 29 0;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 3 0 16 0;
#X connect 3 0 20 0;
#X connect 4 0 5 0;
#X connect 4 0 15 0;
#X connect 4 0 16 1;
#X connect 5 0 3 1;
#X connect 6 0 17 0;
#X connect 7 0 8 0;
#X connect 7 1 1 0;
#X connect 8 0 0 0;
#X connect 8 0 23 0;
#X connect 8 1 13 0;
#X connect 8 1 25 0;
#X connect 8 1 26 0;
#X connect 9 0 19 0;
#X connect 10 0 19 0;
#X connect 11 0 14 0;
#X connect 12 0 21 0;
#X connect 13 0 18 0;
#X connect 14 0 7 0;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X connect 23 0 24 0;
#X connect 24 0 22 1;
#X connect 25 0 24 0;
#X connect 26 0 6 0;
#X connect 27 0 28 0;
#X connect 29 0 2 0;
#X connect 29 1 4 0;
#X connect 29 2 9 0;
#X restore 319 129 pd record;
#X obj 436 519 outlet;
#N canvas 332 173 754 542 open-sf 0;
#X obj 219 10 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 217 150 pack s \$0;
#X obj 146 297 t b;
#X obj 146 319 s waveform/\$0-sf;
#X obj 242 10 r \$0-open-sf;
#X obj 219 71 s \$0-sf-path;
#X obj 315 52 r \$0-sf-path;
#N canvas 423 90 797 561 sondfile-info 0;
#X obj 172 519 s \$0-wfbg;
#X msg 199 116 \$1;
#X obj 107 138 /;
#X obj 57 202 / 60;
#X obj 57 222 i;
#X obj 182 193 mod 60;
#X obj 214 265 < 10;
#X obj 187 346 makefilename 0%d;
#X obj 182 245 t f f;
#X obj 157 287 list prepend;
#X obj 157 306 route 0 1;
#X obj 156 326 makefilename %d;
#X msg 31 473 label empty..;
#X obj 107 158 t f f;
#X obj 341 43 inlet path;
#X obj 53 35 inlet samp.length;
#X obj 199 36 inlet sfinfo;
#X obj 114 261 < 10;
#X obj 36 350 makefilename 0%d;
#X obj 57 242 t f f;
#X obj 35 282 list prepend;
#X obj 35 301 route 0 1;
#X obj 2 330 makefilename %d;
#X obj 53 57 pipe 1;
#X msg 11 540 label \$4;
#X msg 172 495 label \$4___\$1:\$2___\$3Hz;
#X msg 107 543 \$4 \$1:\$2 \$3Hz;
#X obj 172 473 pack s s f s;
#X obj 31 450 loadbang;
#X obj 11 562 s \$0-namecnv;
#N canvas 426 89 883 671 splitfilename 0;
#X obj 219 286 outlet;
#X text 263 289 filename;
#X obj 185 210 inlet;
#X obj 185 233 file splitname;
#X obj 185 256 list split 1;
#X obj 185 310 outlet;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
#X connect 4 1 0 0;
#X restore 341 69 pd splitfilename;
#X obj 105 563 print grainer-mc~;
#X connect 1 0 2 1;
#X connect 1 0 27 2;
#X connect 2 0 13 0;
#X connect 3 0 4 0;
#X connect 4 0 19 0;
#X connect 5 0 8 0;
#X connect 6 0 9 1;
#X connect 7 0 27 1;
#X connect 8 0 9 0;
#X connect 8 1 6 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 1 7 0;
#X connect 11 0 27 1;
#X connect 12 0 0 0;
#X connect 12 0 29 0;
#X connect 13 0 3 0;
#X connect 13 1 5 0;
#X connect 14 0 30 0;
#X connect 15 0 23 0;
#X connect 16 0 1 0;
#X connect 17 0 20 1;
#X connect 18 0 27 0;
#X connect 19 0 20 0;
#X connect 19 1 17 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 21 1 18 0;
#X connect 22 0 27 0;
#X connect 23 0 2 0;
#X connect 24 0 29 0;
#X connect 25 0 0 0;
#X connect 26 0 31 0;
#X connect 27 0 25 0;
#X connect 27 0 26 0;
#X connect 27 0 24 0;
#X connect 28 0 12 0;
#X connect 30 1 27 3;
#X restore 217 282 pd sondfile-info;
#X f 20;
#X obj 315 72 t a a b;
#X obj 354 93 f \$0;
#X msg 354 116 \; \$1-set symbol \$1-sf;
#X msg 217 175 read -resize \$1 \$2-sf;
#N canvas 522 220 600 405 openpanel 0;
#X obj 145 270 openpanel;
#X obj 145 47 f;
#X obj 175 48 + 1;
#X obj 145 70 sel 0;
#X obj 173 168 t b;
#X obj 145 20 inlet;
#X obj 145 293 outlet;
#X text 237 158 remember last directory;
#X obj 145 124 symbol ./;
#X obj 224 67 symbol;
#X obj 224 44 r \$0-sf-path;
#X obj 173 210 symbol ./;
#N canvas 426 89 883 671 splitfilename 0;
#X obj 219 286 outlet;
#X text 263 289 filename;
#X obj 185 210 inlet;
#X obj 185 233 file splitname;
#X obj 185 256 list split 1;
#X obj 185 310 outlet;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
#X connect 4 1 0 0;
#X restore 224 88 pd splitfilename;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 8 0;
#X connect 3 1 4 0;
#X connect 4 0 11 0;
#X connect 5 0 1 0;
#X connect 8 0 0 0;
#X connect 9 0 12 0;
#X connect 10 0 9 0;
#X connect 11 0 0 0;
#X connect 12 0 8 1;
#X connect 12 0 11 1;
#X restore 219 43 pd openpanel;
#X obj 217 199 soundfiler;
#X msg 392 297 \$1;
#N canvas 194 181 619 300 nofile 0;
#X obj 227 31 inlet;
#X obj 117 30 inlet;
#X obj 117 184 spigot 1;
#X obj 272 100 != 0;
#X obj 117 276 outlet;
#X obj 362 240 symbol empty..;
#X obj 443 29 inlet;
#X obj 227 55 t a a;
#X obj 227 277 outlet;
#X obj 362 280 outlet;
#X obj 227 184 spigot 1;
#X obj 362 138 sel 1 0;
#X obj 381 162 symbol;
#X msg 381 183 couldn't find \$1;
#X msg 272 78 \$1;
#X obj 381 206 print grainer~;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 3 0 10 1;
#X connect 3 0 11 0;
#X connect 5 0 9 0;
#X connect 6 0 5 1;
#X connect 6 0 12 1;
#X connect 7 0 10 0;
#X connect 7 1 14 0;
#X connect 10 0 8 0;
#X connect 11 0 5 0;
#X connect 11 1 12 0;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 3 0;
#X restore 217 224 pd nofile;
#X f 20;
#X obj 273 318 s \$0-samplelength;
#X obj 392 317 s \$0-samplerate;
#X connect 0 0 12 0;
#X connect 1 0 11 0;
#X connect 2 0 3 0;
#X connect 4 0 12 0;
#X connect 6 0 8 0;
#X connect 8 0 1 0;
#X connect 8 1 15 2;
#X connect 8 2 9 0;
#X connect 9 0 10 0;
#X connect 11 0 13 0;
#X connect 12 0 5 0;
#X connect 13 0 15 0;
#X connect 13 1 15 1;
#X connect 14 0 17 0;
#X connect 15 0 2 0;
#X connect 15 0 16 0;
#X connect 15 0 7 0;
#X connect 15 1 14 0;
#X connect 15 1 7 1;
#X connect 15 2 7 2;
#X restore 435 234 pd open-sf;
#X obj 103 115 hsl 175 15 0 127 0 0 \$0-visbng \$0-visbngr empty 1 8 2 10 #e0e0e0 #e0e0e0 #000000 0 1;
#N canvas 249 177 1256 588 outlet-message 0;
#X obj 52 27 r \$0-position;
#X obj 84 47 r \$0-size;
#X obj 116 69 r \$0-pitch;
#X obj 188 605 list trim;
#X msg 90 603 addcomma;
#X msg 30 407 set;
#X obj 188 582 list prepend add2;
#X obj 188 643 outlet;
#X obj 197 2 r \$0-filter-freq;
#X obj 229 27 r \$0-filter-q;
#X obj 214 133 r \$0-filter-bypass;
#X obj 165 112 r \$0-amp;
#X obj 261 53 r \$0-playback-speed;
#X obj 293 76 r \$0-playbacktgl;
#X obj 305 96 r \$0-env-type;
#X obj 344 117 r \$0-env-bias;
#X obj 378 136 r \$0-env-shape;
#X obj 728 255 r \$0-sf-path;
#X obj 728 277 symbol;
#N canvas 3 282 1274 292 bang_once................................................... 0;
#X obj 174 87 t b f;
#X obj 132 87 t b f;
#X obj 89 183 del 0;
#X obj 89 87 t b f;
#X obj 217 87 t b f;
#X obj 261 87 t b f;
#X obj 303 87 t b f;
#X obj 89 41 inlet;
#X obj 132 40 inlet;
#X obj 174 40 inlet;
#X obj 217 40 inlet;
#X obj 261 41 inlet;
#X obj 304 41 inlet;
#X obj 465 288 outlet;
#X obj 89 217 f;
#X obj 350 88 t b f;
#X obj 351 42 inlet;
#X obj 397 86 t b f;
#X obj 398 40 inlet;
#X obj 448 87 t b f;
#X obj 492 87 t b f;
#X obj 534 87 t b f;
#X obj 448 40 inlet;
#X obj 492 41 inlet;
#X obj 535 41 inlet;
#X obj 1216 37 inlet;
#X obj 1215 83 t b a;
#X obj 580 86 t b f;
#X obj 624 86 t b f;
#X obj 666 86 t b f;
#X obj 580 40 inlet;
#X obj 624 41 inlet;
#X obj 667 41 inlet;
#X obj 709 88 t b f;
#X obj 710 42 inlet;
#X obj 755 87 t b f;
#X obj 799 87 t b f;
#X obj 841 87 t b f;
#X obj 755 41 inlet;
#X obj 799 42 inlet;
#X obj 842 42 inlet;
#X obj 888 88 t b f;
#X obj 889 42 inlet;
#X obj 934 87 t b f;
#X obj 978 87 t b f;
#X obj 1020 87 t b f;
#X obj 934 41 inlet;
#X obj 978 42 inlet;
#X obj 1021 42 inlet;
#X obj 1064 87 t b f;
#X obj 1065 42 inlet;
#X obj 1110 86 t b f;
#X obj 1111 41 inlet;
#X obj 465 263 pack 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 s;
#X obj 1162 86 t b f;
#X obj 1163 41 inlet;
#X connect 0 0 2 0;
#X connect 0 1 53 2;
#X connect 1 0 2 0;
#X connect 1 1 53 1;
#X connect 2 0 14 0;
#X connect 3 0 2 0;
#X connect 3 1 14 1;
#X connect 4 0 2 0;
#X connect 4 1 53 3;
#X connect 5 0 2 0;
#X connect 5 1 53 4;
#X connect 6 0 2 0;
#X connect 6 1 53 5;
#X connect 7 0 3 0;
#X connect 8 0 1 0;
#X connect 9 0 0 0;
#X connect 10 0 4 0;
#X connect 11 0 5 0;
#X connect 12 0 6 0;
#X connect 14 0 53 0;
#X connect 15 0 2 0;
#X connect 15 1 53 6;
#X connect 16 0 15 0;
#X connect 17 0 2 0;
#X connect 17 1 53 7;
#X connect 18 0 17 0;
#X connect 19 0 2 0;
#X connect 19 1 53 8;
#X connect 20 0 2 0;
#X connect 20 1 53 9;
#X connect 21 0 2 0;
#X connect 21 1 53 10;
#X connect 22 0 19 0;
#X connect 23 0 20 0;
#X connect 24 0 21 0;
#X connect 25 0 26 0;
#X connect 26 0 2 0;
#X connect 26 1 53 25;
#X connect 27 0 2 0;
#X connect 27 1 53 11;
#X connect 28 0 2 0;
#X connect 28 1 53 12;
#X connect 29 0 2 0;
#X connect 29 1 53 13;
#X connect 30 0 27 0;
#X connect 31 0 28 0;
#X connect 32 0 29 0;
#X connect 33 0 2 0;
#X connect 33 1 53 14;
#X connect 34 0 33 0;
#X connect 35 0 2 0;
#X connect 35 1 53 15;
#X connect 36 0 2 0;
#X connect 36 1 53 16;
#X connect 37 0 2 0;
#X connect 37 1 53 17;
#X connect 38 0 35 0;
#X connect 39 0 36 0;
#X connect 40 0 37 0;
#X connect 41 0 2 0;
#X connect 41 1 53 18;
#X connect 42 0 41 0;
#X connect 43 0 2 0;
#X connect 43 1 53 19;
#X connect 44 0 2 0;
#X connect 44 1 53 20;
#X connect 45 0 2 0;
#X connect 45 1 53 21;
#X connect 46 0 43 0;
#X connect 47 0 44 0;
#X connect 48 0 45 0;
#X connect 49 0 2 0;
#X connect 49 1 53 22;
#X connect 50 0 49 0;
#X connect 51 0 2 0;
#X connect 51 1 53 23;
#X connect 52 0 51 0;
#X connect 53 0 13 0;
#X connect 54 0 2 0;
#X connect 54 1 53 24;
#X connect 55 0 54 0;
#X restore 124 322 pd bang_once...................................................;
#X obj 419 22 r \$0-random-position;
#X obj 445 44 r \$0-random-size;
#X obj 460 67 r \$0-random-pitch;
#X obj 499 109 r \$0-random-amp;
#X obj 510 130 r \$0-random-filter-freq;
#X obj 524 152 r \$0-random-filter-q;
#X obj 666 49 r \$0-position;
#X obj 696 74 r \$0-samplerate;
#X obj 696 95 / 1000;
#X obj 695 114 r \$0-samplelength;
#X obj 666 151 * 100;
#X obj 666 95 *;
#X obj 666 130 /;
#X obj 807 47 r \$0-random-position;
#X obj 837 68 r \$0-samplerate;
#X obj 837 89 / 1000;
#X obj 836 108 r \$0-samplelength;
#X obj 807 145 * 100;
#X obj 807 89 *;
#X obj 807 124 /;
#X obj 931 148 r \$0-int_triggeronoff;
#X obj 124 368 t b a b;
#X obj 169 533 t b a a;
#N canvas 497 347 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 208 557 pd save;
#X obj 20 7 r \$0-distance;
#X obj 392 1 r \$0-random-distance;
#X msg 169 413 open \$26 \, grain-distance \$1 \, position \$2 \, grainsize \$3 \, pitch \$4 \, amplitude \$6 \, filter-bypass \$7 \, frequency \$8 \, q \$9 \, playback-speed \$10 \, play \$11 \, env-type \$12 \, env-bias \$13 \, env-shape \$14 \, random-grain-distance \$15 \, random-position \$16 \, random-grainsize \$17 \, random-pitch \$18 \, random-amplitude \$20 \, random-frequency \$21 \, random-q \$22 \, position% \$23 \, random-position% \$24 \, int.grain-trigger \$25 \,;
#X connect 0 0 19 1;
#X connect 1 0 19 2;
#X connect 2 0 19 3;
#X connect 3 0 7 0;
#X connect 4 0 7 0;
#X connect 5 0 7 0;
#X connect 6 0 3 0;
#X connect 8 0 19 7;
#X connect 9 0 19 8;
#X connect 10 0 19 6;
#X connect 11 0 19 5;
#X connect 12 0 19 9;
#X connect 13 0 19 10;
#X connect 14 0 19 11;
#X connect 15 0 19 12;
#X connect 16 0 19 13;
#X connect 17 0 18 0;
#X connect 18 0 19 25;
#X connect 19 0 41 0;
#X connect 20 0 19 15;
#X connect 21 0 19 16;
#X connect 22 0 19 17;
#X connect 23 0 19 19;
#X connect 24 0 19 20;
#X connect 25 0 19 21;
#X connect 26 0 31 0;
#X connect 27 0 28 0;
#X connect 28 0 31 1;
#X connect 29 0 32 1;
#X connect 30 0 19 22;
#X connect 31 0 32 0;
#X connect 32 0 30 0;
#X connect 33 0 38 0;
#X connect 34 0 35 0;
#X connect 35 0 38 1;
#X connect 36 0 39 1;
#X connect 37 0 19 23;
#X connect 38 0 39 0;
#X connect 39 0 37 0;
#X connect 40 0 19 24;
#X connect 41 0 7 0;
#X connect 41 1 46 0;
#X connect 41 2 5 0;
#X connect 42 0 4 0;
#X connect 42 1 6 0;
#X connect 42 2 43 0;
#X connect 44 0 19 0;
#X connect 45 0 19 14;
#X connect 46 0 42 0;
#X restore 436 490 pd outlet-message;
#X obj 103 118 cnv 10 10 10 empty \$0-namecnv empty.. 0 5 2 10 #e0e0e0 #000000 0;
#N canvas 538 84 648 569 init 0;
#X obj 196 6 loadbang;
#X obj 196 215 pack \$0 8;
#X msg 226 52 args;
#X obj 226 75 pdcontrol;
#X obj 196 29 t b b;
#X obj 272 119 list split 1;
#X obj 349 150 print pp.grainer-mc~: no method for;
#X obj 272 142 route float;
#X msg 196 248 \; \$1-max-grains \$2 \; \$1-filter-bypassr 1 \; \$1-playback-speedr 100 \; \$1-distancer 50 \; \$1-sizer 100 \; \$1-env-typer 0 \; \$1-env-biasr 0.5 \; \$1-env-shaper 0.5 \; \$1-filter-freqr 100 \; \$1-random-filter-freqr 5000 \; \$1-filter-qr 1 \;;
#X obj 226 97 route float list bang;
#X connect 0 0 4 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 9 0;
#X connect 4 0 1 0;
#X connect 4 1 2 0;
#X connect 5 0 7 0;
#X connect 7 0 1 1;
#X connect 7 1 6 0;
#X connect 9 0 1 1;
#X connect 9 1 5 0;
#X connect 9 3 6 0;
#X restore 435 213 pd init;
#N canvas 655 -118 835 1055 in 0;
#X obj 40 15 inlet;