-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathpdx7.adsr~.pd
426 lines (426 loc) · 11.1 KB
/
pdx7.adsr~.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
#N canvas 500 433 762 294 10;
#X obj 507 8 inlet OSC;
#N canvas 127 377 981 424 saves 0;
#X obj 45 160 originator \$1 \$0;
#X obj 152 132 inlet OSC;
#X obj 47 55 r \$0-substate;
#X obj 15 13 inlet substate;
#X obj 15 35 route substate;
#X obj 159 55 r \$0-copy;
#X msg 159 76 copy;
#X obj 243 50 r \$0-paste;
#X msg 241 71 paste;
#X text 154 15 This is the originator \, including some ready to use
standard functionality.;
#X text 507 56 Put your commun sends here \, if you like.;
#X msg 15 91 setsub \$1;
#X msg 249 184 svdir \$1;
#X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 250 163 savepanel;
#X obj 152 189 outlet OSC;
#X msg 108 214 svxdir /tmp/svdir.xml;
#X msg 78 241 ldxdir /tmp/svdir.xml;
#X obj 538 176 s \$0-ain;
#X obj 610 176 s \$0-din;
#X obj 682 176 s \$0-sin;
#X obj 776 179 s \$0-rin;
#X obj 536 107 r \$0-a;
#X obj 630 105 r \$0-d;
#X obj 698 106 r \$0-s;
#X obj 769 106 r \$0-r;
#X obj 772 142 commun /r \$0;
#X obj 682 142 commun /s \$0;
#X obj 582 141 commun /d \$0;
#X obj 496 137 commun /a \$0;
#X connect 0 2 15 0;
#X connect 1 0 0 1;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 4 0 11 0;
#X connect 4 1 0 0;
#X connect 5 0 6 0;
#X connect 6 0 0 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 11 0 0 0;
#X connect 12 0 0 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X connect 16 0 0 0;
#X connect 17 0 0 0;
#X connect 22 0 29 0;
#X connect 23 0 28 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 21 0;
#X connect 27 0 20 0;
#X connect 28 0 19 0;
#X connect 29 0 18 0;
#X restore 445 7 pd saves;
#N canvas 569 61 450 300 cnv.ctl 0;
#X obj 90 188 s \$0-background-cnv;
#X floatatom 108 59 5 100 1000 0 width - -;
#X floatatom 112 83 4 50 500 0 height - -;
#X obj 92 132 pack 0 0;
#X msg 92 159 vis_size \$1 \$2;
#X obj 110 106 t b f;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 3 0;
#X connect 5 1 3 1;
#X restore 524 30 pd cnv.ctl;
#X obj 669 90 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -225271
-1 -1;
#X obj 669 118 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -257472
-1 -1;
#X obj 445 28 outlet OSC;
#X obj 373 26 inlet;
#X obj 373 77 outlet~;
#N canvas 0 0 600 400 envelope 0;
#X obj 220 203 r \$0-a;
#X obj 252 223 r \$0-d;
#X obj 277 247 r \$0-s;
#X obj 333 265 r \$0-r;
#X obj 25 119 inlet;
#X obj 174 346 outlet~;
#N canvas 322 82 891 795 adsr 0;
#X text 52 50 This patch is used as an abstraction in 25.envelope.pd
;
#X obj 95 108 inlet;
#X obj 298 111 inlet;
#X text 91 79 trigger;
#X obj 95 138 sel 0;
#X obj 144 138 t b;
#X obj 104 399 pack 0 \$2;
#X obj 362 112 inlet;
#X obj 309 301 del \$2;
#X obj 338 324 f \$4;
#X obj 363 411 pack 0 \$3;
#X obj 410 112 inlet;
#X obj 459 111 inlet;
#X obj 504 111 inlet;
#X msg 95 191 stop;
#X obj 517 360 pack 0 \$5;
#X text 378 86 Traditional A \, D \, S \, R;
#X text 296 88 level;
#X text 32 302 ATTACK;
#X obj 447 533 outlet~;
#X text 7 325 recall level;
#X text 7 345 and pack with;
#X text 8 365 attack time;
#X text 28 124 if zero;
#X text 29 141 release;
#X text 17 183 and cancel;
#X text 17 199 decay;
#X text 148 120 bang if attack;
#X text 183 294 on attack \, set a;
#X text 147 307 delay to go to sustain;
#X text 189 324 recall sustain value;
#X text 185 347 multiply by overall level;
#X text 220 370 pack with decay time;
#X text 510 386 on release ramp;
#X text 511 403 back to zero;
#X text 63 12 adsr - arguments: level \, attack time \, decay time
\, sustain level \, release time;
#X text 9 479 When you send this patch a nonzero trigger it schedules
a line~ to do an attack and decay \, and if zero \, it starts the release
ramp.;
#X text 10 525 Objects such as f and pack can be given dollar sign
arguments to initialize their contents from adsr's creation arguments.
Inlets are supplied to update them on the fly.;
#X obj 104 334 f;
#X obj 364 346 * 1;
#X obj 363 386 sqrt;
#X obj 363 365 sqrt;
#X obj 447 461 vline~;
#X obj 446 491 *~;
#X obj 446 511 *~;
#X obj 104 376 sqrt;
#X obj 104 355 sqrt;
#X connect 1 0 4 0;
#X connect 2 0 38 0;
#X connect 2 0 39 1;
#X connect 4 0 14 0;
#X connect 4 0 15 0;
#X connect 4 1 5 0;
#X connect 5 0 8 0;
#X connect 6 0 42 0;
#X connect 7 0 6 1;
#X connect 7 0 8 1;
#X connect 8 0 9 0;
#X connect 9 0 39 0;
#X connect 10 0 42 0;
#X connect 11 0 10 1;
#X connect 12 0 9 1;
#X connect 13 0 15 1;
#X connect 14 0 8 0;
#X connect 15 0 42 0;
#X connect 38 0 46 0;
#X connect 39 0 41 0;
#X connect 40 0 10 0;
#X connect 41 0 40 0;
#X connect 42 0 43 0;
#X connect 42 0 43 1;
#X connect 43 0 44 0;
#X connect 43 0 44 1;
#X connect 44 0 19 0;
#X connect 45 0 6 0;
#X connect 46 0 45 0;
#X restore 174 292 pd adsr -----------;
#X obj 74 149 select 0;
#X obj 119 175 * 1;
#X obj 109 203 s \$0-level-in;
#X obj 158 92 r \$0-level;
#X obj 192 175 r \$0-level-in;
#X obj 277 266 * 0.01;
#X obj 156 124 * 0.01;
#X connect 0 0 6 2;
#X connect 1 0 6 3;
#X connect 2 0 12 0;
#X connect 3 0 6 5;
#X connect 4 0 7 0;
#X connect 4 0 6 0;
#X connect 6 0 5 0;
#X connect 7 1 8 0;
#X connect 8 0 9 0;
#X connect 10 0 13 0;
#X connect 11 0 6 1;
#X connect 12 0 6 4;
#X connect 13 0 8 1;
#X restore 373 52 pd envelope;
#X text 625 32 Graphical ADSR;
#X obj 668 146 nbx 2 14 -1e+37 1e+37 0 0 \$0-substate \$0-parentstate
preset 0 -6 0 8 -195568 -1 -1 0 256;
#X obj 31 34 nbx 5 14 0 1e+37 0 0 \$0-a \$0-ain a 10 -6 1 10 -158106
-155649 -228225 0 256;
#X obj 131 34 nbx 5 14 0 100 0 0 \$0-s \$0-sin s% 10 -6 1 10 -158106
-155649 -228225 0 256;
#X obj 81 34 nbx 5 14 0 1e+37 0 0 \$0-d \$0-din d 10 -6 1 10 -158106
-155649 -228225 0 256;
#X obj 181 34 nbx 5 14 0 1e+37 0 0 \$0-r \$0-rin r 10 -6 1 10 -158106
-155649 -228225 0 256;
#X obj 231 34 nbx 5 14 0 1e+37 0 0 \$0-level empty lvl% 10 -6 1 10
-155649 -228225 -158106 0 256;
#N canvas 0 0 590 606 colorize 0;
#X obj 69 339 list prepend color;
#X obj 69 362 list trim;
#N canvas 281 345 447 195 rgbtopd 0;
#X obj 35 59 expr -65536 * $i1 - 256 * $i2 - $i3 - 1 \;;
#X obj 35 25 inlet;
#X obj 35 89 outlet;
#X text 26 121 -pow(2 \, 16) * R - pow(2 \, 8) * G - pow(2 \, 0) *
B - 1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X restore 224 152 pd rgbtopd;
#N canvas 281 345 447 195 rgbtopd 0;
#X obj 35 59 expr -65536 * $i1 - 256 * $i2 - $i3 - 1 \;;
#X obj 35 25 inlet;
#X obj 35 89 outlet;
#X text 26 121 -pow(2 \, 16) * R - pow(2 \, 8) * G - pow(2 \, 0) *
B - 1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X restore 144 152 pd rgbtopd;
#N canvas 281 345 447 195 rgbtopd 0;
#X obj 35 59 expr -65536 * $i1 - 256 * $i2 - $i3 - 1 \;;
#X obj 35 25 inlet;
#X obj 35 89 outlet;
#X text 26 121 -pow(2 \, 16) * R - pow(2 \, 8) * G - pow(2 \, 0) *
B - 1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X restore 69 151 pd rgbtopd;
#N canvas 362 262 450 300 hexcolor 0;
#X obj 152 168 * 16;
#X obj 152 143 t f f;
#X obj 152 201 +;
#X obj 127 38 inlet;
#X obj 125 61 t b a b;
#X obj 133 252 list prepend;
#X obj 221 255 t a;
#X obj 99 290 list;
#X obj 101 314 outlet;
#N canvas 0 0 533 407 drip 0;
#X obj 64 206 list split 1;
#X obj 64 123 until;
#X obj 64 181 list append;
#X obj 194 206 bang;
#X text 146 90 First store list \, then start the loop;
#X text 163 118 "until" bangs its output until told to stop by a "bang"
to its right inlet.;
#X text 182 160 Store the remaining list.;
#X text 239 205 third outlet of "split" tells us to stop.;
#X obj 64 243 outlet;
#X obj 64 57 inlet;
#X text 237 44 From list-help.pd;
#X obj 143 243 outlet;
#X obj 64 86 t b a;
#X connect 0 0 8 0;
#X connect 0 1 2 1;
#X connect 0 2 3 0;
#X connect 0 2 11 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 1 1;
#X connect 9 0 12 0;
#X connect 12 0 1 0;
#X connect 12 1 2 1;
#X restore 152 94 pd drip;
#N canvas 360 251 450 300 hextonum 0;
#X obj 90 96 select a b c d e f;
#X obj 90 128 10;
#X obj 146 131 12;
#X obj 118 130 11;
#X obj 178 130 13;
#X obj 205 131 14;
#X obj 236 130 15;
#X obj 268 131 moses 10;
#X obj 152 238 outlet;
#X obj 268 162 moses 0;
#X obj 90 37 inlet;
#X obj 90 60 list;
#X connect 0 0 1 0;
#X connect 0 1 3 0;
#X connect 0 2 2 0;
#X connect 0 3 4 0;
#X connect 0 4 5 0;
#X connect 0 5 6 0;
#X connect 0 6 7 0;
#X connect 1 0 8 0;
#X connect 2 0 8 0;
#X connect 3 0 8 0;
#X connect 4 0 8 0;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 9 1 8 0;
#X connect 10 0 11 0;
#X connect 11 0 0 0;
#X restore 152 117 pd hextonum;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 2 1;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 4 1 9 0;
#X connect 4 2 5 1;
#X connect 5 0 6 0;
#X connect 5 0 7 1;
#X connect 6 0 5 1;
#X connect 7 0 8 0;
#X connect 9 0 10 0;
#X connect 10 0 1 0;
#X restore 69 59 pd hexcolor;
#X obj 69 86 list split 3;
#X obj 144 109 list split 3;
#N canvas 0 0 655 388 rotate2 0;
#X obj 173 193 list prepend;
#X obj 151 44 inlet;
#X obj 259 115 inlet;
#X text 311 115 how often to rotate;
#X obj 151 220 list;
#X text 198 43 list to rotate;
#X obj 151 250 outlet;
#X text 267 194 move right part of list to left.;
#X obj 151 70 t b a b;
#X obj 173 152 list split 2;
#X connect 0 0 4 1;
#X connect 1 0 8 0;
#X connect 2 0 9 1;
#X connect 4 0 6 0;
#X connect 8 0 4 0;
#X connect 8 1 9 0;
#X connect 8 2 0 1;
#X connect 9 0 0 0;
#X connect 9 1 0 1;
#X restore 356 318 pd rotate2;
#N canvas 0 0 655 388 rotate1 0;
#X obj 173 193 list prepend;
#X obj 151 44 inlet;
#X obj 259 115 inlet;
#X text 311 115 how often to rotate;
#X obj 151 220 list;
#X text 198 43 list to rotate;
#X obj 151 250 outlet;
#X text 267 194 move right part of list to left.;
#X obj 151 70 t b a b;
#X obj 173 152 list split 1;
#X connect 0 0 4 1;
#X connect 1 0 8 0;
#X connect 2 0 9 1;
#X connect 4 0 6 0;
#X connect 8 0 4 0;
#X connect 8 1 9 0;
#X connect 8 2 0 1;
#X connect 9 0 0 0;
#X connect 9 1 0 1;
#X restore 211 320 pd rotate1;
#X obj 69 386 outlet;
#X obj 211 341 list prepend color;
#X obj 211 364 list trim;
#X obj 211 388 outlet;
#X obj 356 343 list prepend color;
#X obj 356 366 list trim;
#X obj 356 390 outlet;
#X obj 69 33 inlet;
#X obj 69 178 pack 0 0 0;
#X connect 0 0 1 0;
#X connect 1 0 10 0;
#X connect 2 0 18 2;
#X connect 3 0 18 1;
#X connect 4 0 18 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 6 1 7 0;
#X connect 7 0 3 0;
#X connect 7 1 2 0;
#X connect 8 0 14 0;
#X connect 9 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 17 0 5 0;
#X connect 18 0 0 0;
#X connect 18 0 9 0;
#X connect 18 0 8 0;
#X restore 213 166 pd colorize;
#X msg 359 137 9 9 6 9 0 0 d b 0;
#X msg 396 117 0 7 b 2 8 b b b b;
#X msg 440 98 e 6 2 e 3 2 e c 2;
#X msg 324 161 0 c c c f f 0 9 9;
#X msg 455 74 c c c 9 9 9 3 3 3;
#X msg 476 170 d d a 3 9 0 3 3 6;
#X obj 50 255 unpack 0 0 0 0 0;
#X obj 13 34 bng 14 250 50 0 empty empty empty 0 -6 0 8 -158106 -155649
-228225;
#X msg 63 203 10 40 50 500 100;
#X connect 0 0 1 1;
#X connect 1 0 5 0;
#X connect 6 0 8 0;
#X connect 8 0 7 0;
#X connect 16 0 11 0;
#X connect 16 0 12 0;
#X connect 16 0 13 0;
#X connect 16 0 14 0;
#X connect 16 0 24 0;
#X connect 16 1 15 0;
#X connect 17 0 16 0;
#X connect 18 0 16 0;
#X connect 19 0 16 0;
#X connect 20 0 16 0;
#X connect 21 0 16 0;
#X connect 22 0 16 0;
#X connect 23 0 11 0;
#X connect 23 1 13 0;
#X connect 23 2 12 0;
#X connect 23 3 14 0;
#X connect 23 4 15 0;
#X connect 24 0 25 0;
#X connect 25 0 23 0;
#X coords 0 0 1 1 273 40 1 10 10;