-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbop.stream~.pd
267 lines (267 loc) · 7 KB
/
bop.stream~.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
#N canvas 0 37 1470 891 12;
#X declare -path ./babs;
#X obj 63 1225 outlet~;
#X obj 62 92 inlet~, f 11;
#X obj 549 231 outlet;
#X obj 659 558 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X text 1552 1114 comment;
#X obj 591 701 change;
#X obj 540 436 loadbang;
#N canvas 0 37 1470 891 load-samples 0;
#X obj 251 32 inlet;
#X obj 290 284 file glob;
#X obj 291 250 makefilename %s/*.wav;
#X msg 311 120 clear;
#X obj 290 317 list split 1;
#X obj 251 83 t b b f b;
#X text 482 347 store paths to samples;
#X text 331 423 number of samples;
#X obj 483 533 outlet;
#X text 437 205 get path to folder;
#X obj 147 621 outlet;
#X obj 140 42 inlet;
#X text 311 31 folder index;
#X text 40 43 sample index;
#X floatatom 146 442 5 0 0 0 - - - 0;
#X obj 146 497 %;
#X floatatom 144 533 5 0 0 0 - - - 0;
#X msg 299 59 0;
#X text 544 533 num samples;
#X text 201 620 sample path;
#X text 194 495 modulo over number of samples;
#X obj 311 155 text define \$0-samples;
#X obj 291 208 text get \$0-folders;
#X obj 290 349 text set \$0-samples 1e+10;
#X obj 271 392 text size \$0-samples;
#X obj 146 576 text get \$0-samples;
#X obj 733 519 outlet;
#X text 795 516 folder path;
#X connect 0 0 5 0;
#X connect 1 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 21 0;
#X connect 4 0 23 0;
#X connect 5 1 24 0;
#X connect 5 2 22 0;
#X connect 5 3 3 0;
#X connect 11 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 25 0;
#X connect 17 0 5 0;
#X connect 22 0 2 0;
#X connect 22 0 26 0;
#X connect 24 0 8 0;
#X connect 24 0 15 1;
#X connect 25 0 10 0;
#X restore 426 842 pd load-samples;
#X f 17;
#X obj 452 872 s \$0-num-samples;
#X obj 540 523 t b b b, f 15;
#X msg 591 593 set -1;
#X obj 540 738 f;
#X obj 607 676 int;
#X text 511 403 ---------- SAMPLE LOADING ------------;
#N canvas 0 37 735 891 load-folders 0;
#X obj 52 78 inlet;
#X obj 272 507 file glob;
#X obj 274 420 pdcontrol;
#X msg 274 388 dir;
#X msg 347 236 clear;
#X obj 274 542 list split 1;
#X obj 87 1206 - 1;
#X msg 88 1235 range 0 \$1;
#X text 123 1204 number of banks;
#X text 293 570 store paths to banks;
#X obj 52 145 t b b b b b, f 34;
#X obj 55 1096 babs.accum, f 30;
#X obj 55 830 t b b b, f 30;
#X obj 90 890 babs.iter;
#X obj 90 923 sel \\\;;
#X obj 91 955 file split;
#X obj 124 1013 list length;
#X obj 92 983 t l l;
#X obj 92 1067 babs.nth;
#X obj 124 1037 - 1;
#X obj 88 1175 list length;
#X obj 55 1146 t l l;
#X obj 88 1266 s \$0-set-folder;
#X obj 55 1339 s \$0-set-folder-enum;
#X text 69 1314 names of folders;
#X obj 347 268 text define \$0-folders;
#X obj 274 593 text set \$0-folders 1e+10;
#X obj 80 860 text tolist \$0-folders;
#X obj 169 693 text size \$0-folders;
#X obj 169 717 outlet;
#X text 87 780 SET FOLDER PARAM VARIABLES, f 28;
#X text 355 196 clear current folders;
#X text 289 350 get folder paths;
#X text 192 657 output number of folders;
#X obj 582 176 inlet;
#X text 627 176 custom path;
#X obj 582 214 symbol;
#X msg 582 409 set %s/samplepacks/\$1/*/;
#X obj 275 467 makefilename %s/samplepacks/bop_samplepack/*/;
#X connect 0 0 10 0;
#X connect 1 0 5 0;
#X connect 2 0 38 0;
#X connect 3 0 2 0;
#X connect 4 0 25 0;
#X connect 5 0 26 0;
#X connect 6 0 7 0;
#X connect 7 0 22 0;
#X connect 10 1 12 0;
#X connect 10 2 28 0;
#X connect 10 3 3 0;
#X connect 10 4 4 0;
#X connect 11 0 21 0;
#X connect 12 0 11 0;
#X connect 12 1 27 0;
#X connect 12 2 11 1;
#X connect 13 0 14 0;
#X connect 14 1 15 0;
#X connect 15 0 17 0;
#X connect 16 0 19 0;
#X connect 17 0 18 0;
#X connect 17 1 16 0;
#X connect 18 0 11 0;
#X connect 19 0 18 1;
#X connect 20 0 6 0;
#X connect 21 0 23 0;
#X connect 21 1 20 0;
#X connect 27 0 13 0;
#X connect 28 0 29 0;
#X connect 34 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 38 0;
#X connect 38 0 1 0;
#X restore 659 589 pd load-folders;
#X f 17;
#X obj 156 1116 r~ \$0-get-gain;
#X obj 124 1147 *~, f 5;
#X obj 540 494 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 540 465 delay 100;
#X obj 609 650 r \$0-get-folder;
#X obj 123 1069 readsf~, f 32;
#X msg 195 959 print;
#X obj 426 911 list prepend open;
#X obj 426 944 list trim;
#X obj 1216 325 unpack, f 10;
#X msg 1113 321 stop;
#X obj 1216 297 r \$0-midi;
#X obj 1216 363 poly 2 1, f 10;
#X obj 1216 523 route 1 2;
#X msg 1216 484 \$1 \$3 \$2;
#X text 1298 485 voice velocity pitch;
#X obj 123 444 pipe 50;
#X msg 186 921 stop;
#X obj 1216 445 pack f f f;
#X obj 123 241 r \$0-midi;
#X text 1300 407 TODO: two voices for x-fading;
#X msg 882 418 \$1 10;
#X obj 882 388 / 127;
#X obj 882 449 line~;
#X obj 124 1184 *~, f 110;
#X msg 123 311 \$2 \$1 \$2;
#X obj 123 345 unpack f f f, f 87;
#X obj 337 1140 s \$0-done;
#X msg 337 1108 done;
#X text 255 40 play sample from disk without loading to ram;
#X msg 149 411 clear;
#X obj 659 616 s \$0-num-folders;
#X obj 541 802 %;
#X obj 559 771 r \$0-num-folders;
#X obj 743 468 t b a;
#X obj 591 873 s \$0-active-path;
#N canvas 1008 337 450 300 additional-output 0;
#X obj 131 224 outlet;
#X obj 256 55 r \$0-num-samples;
#X msg 256 79 numsamples \$1;
#X obj 69 50 r \$0-active-path;
#X obj 69 90 list prepend activepath;
#X obj 73 118 list trim;
#X obj 230 150 r \$0-done;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X restore 605 185 pd additional-output;
#X obj 60 39 declare -path ./babs;
#X obj 549 104 inlet;
#X obj 149 387 r \$0-get-stop;
#X obj 186 897 r \$0-get-stop;
#X obj 1113 297 r \$0-get-stop;
#X obj 135 153 s \$0-in;
#X obj 602 104 r \$0-in;
#X obj 750 84 savestate;
#X obj 750 57 babs.savestate \$0;
#X obj 549 138 babs.inout \$0 bop.stream~;
#X obj 908 178 babs.param \$0 gain 1;
#X obj 908 137 babs.param.spacer \$0;
#X obj 908 101 babs.param \$0 folder 0 0 1e+37;
#X obj 911 64 babs.param.attr \$0 pack bop_samplepack;
#X obj 743 440 r \$0-get-pack;
#X connect 1 0 0 0;
#X connect 1 1 57 0;
#X connect 3 0 14 0;
#X connect 5 0 11 0;
#X connect 6 0 18 0;
#X connect 7 0 22 0;
#X connect 7 1 8 0;
#X connect 7 2 50 0;
#X connect 9 0 11 0;
#X connect 9 1 10 0;
#X connect 9 2 3 0;
#X connect 10 0 5 0;
#X connect 11 0 47 0;
#X connect 12 0 5 0;
#X connect 14 0 46 0;
#X connect 15 0 16 1;
#X connect 16 0 39 0;
#X connect 17 0 9 0;
#X connect 18 0 17 0;
#X connect 19 0 12 0;
#X connect 20 0 16 0;
#X connect 20 1 43 0;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X connect 23 0 20 0;
#X connect 24 0 27 0;
#X connect 24 1 27 1;
#X connect 25 0 27 0;
#X connect 26 0 24 0;
#X connect 27 0 33 0;
#X connect 27 1 33 1;
#X connect 27 2 33 2;
#X connect 29 0 28 0;
#X connect 31 0 20 0;
#X connect 32 0 20 0;
#X connect 33 0 29 0;
#X connect 34 0 40 0;
#X connect 36 0 38 0;
#X connect 37 0 36 0;
#X connect 38 0 39 1;
#X connect 39 0 0 0;
#X connect 40 0 41 0;
#X connect 41 0 31 0;
#X connect 41 1 7 0;
#X connect 41 2 37 0;
#X connect 43 0 42 0;
#X connect 45 0 31 0;
#X connect 47 0 7 1;
#X connect 48 0 47 1;
#X connect 49 0 17 0;
#X connect 49 1 14 1;
#X connect 51 0 2 0;
#X connect 53 0 61 0;
#X connect 54 0 45 0;
#X connect 55 0 32 0;
#X connect 56 0 25 0;
#X connect 58 0 61 0;
#X connect 59 0 60 1;
#X connect 59 1 60 0;
#X connect 60 0 59 0;
#X connect 61 0 2 0;
#X connect 66 0 49 0;