#N canvas 112 36 785 655 12;
#X obj 205 119 inlet;
#X obj 412 147 inlet;
#X text 201 94 trigger;
#X obj 205 147 sel 0;
#X obj 258 157 t b;
#X obj 134 335 f \$1;
#X obj 134 360 pack 0 \$2;
#X obj 476 148 inlet;
#X obj 403 281 del \$2;
#X obj 458 429 line~;
#X obj 432 304 f \$4;
#X obj 466 379 pack 0 \$3;
#X obj 537 149 inlet;
#X obj 605 149 inlet;
#X obj 678 148 inlet;
#X msg 205 178 stop;
#X obj 576 301 pack 0 \$5;
#X text 410 124 level;
#X obj 466 355 * \$1;
#X text 31 306 ATTACK;
#X obj 458 454 outlet~;
#X text 6 329 recall level;
#X text 6 349 and pack with;
#X text 7 369 attack time;
#X text 131 134 if zero;
#X text 132 151 release;
#X text 112 168 and cancel;
#X text 143 185 decay;
#X text 262 139 bang if attack;
#X text 245 272 on attack \, set a;
#X text 200 286 delay to go to sustain;
#X text 242 303 recall sustain value;
#X text 237 354 multiply by overall level;
#X text 281 375 pack with decay time;
#X text 569 327 on release ramp;
#X text 570 344 back to zero;
#X text 17 487 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 obj 432 329 * 0.01;
#X text 16 539 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 change them on the fly.;
#X text 505 613 Updated for Pd version 0.34;
#X text 86 4 ADSR ENVELOPE;
#X text 245 327 convert from percent;
#X text 76 24 Arguments: level \, attack time \, decay time \, sustain
level \, release time. A \, D \, and R are in msec and S is in percent.
This patch is used as an abstraction in 25.envelope.pd and others.
;
#X text 472 127 attack;
#X text 538 126 decay;
#X text 598 127 sustain;
#X text 675 127 release;
#X connect 0 0 3 0;
#X connect 1 0 5 1;
#X connect 1 0 18 1;
#X connect 3 0 15 0;
#X connect 3 0 16 0;
#X connect 3 1 4 0;
#X connect 4 0 5 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 6 0 9 0;
#X connect 7 0 6 1;
#X connect 7 0 8 1;
#X connect 8 0 10 0;
#X connect 9 0 20 0;
#X connect 10 0 37 0;
#X connect 11 0 9 0;
#X connect 12 0 11 1;
#X connect 13 0 10 1;
#X connect 14 0 16 1;
#X connect 15 0 8 0;
#X connect 16 0 9 0;
#X connect 18 0 11 0;
#X connect 37 0 18 0;
