#N canvas 89 86 1013 516 10;
#X obj 635 132 / 127;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-adsr 44100 float 2;
#X coords 0 1 44100 -1 200 140 1;
#X restore 557 333 graph;
#X obj 558 288 tabwrite~ \$0-adsr;
#X obj 526 67 t a b;
#X msg 526 45 80;
#X obj 526 110 makenote 100 400;
#X obj 635 158 t a a;
#X floatatom 580 86 5 0 0 2 velocity - -;
#X floatatom 695 65 5 0 0 1 A - -;
#X floatatom 725 90 5 0 0 1 D - -;
#X floatatom 755 118 5 0 0 1 S(%) - -;
#X floatatom 786 143 5 0 0 1 R - -;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-adsr-quartic 44100 float 2;
#X coords 0 1 44100 -1 200 140 1;
#X restore 786 333 graph;
#X obj 786 293 tabwrite~ \$0-adsr-quartic;
#X obj 558 224 t b b;
#X obj 784 240 *~;
#X obj 785 269 *~;
#X obj 635 186 c_adsr 1 80 100 80 200;
#X text 824 248 simple curved envelope;
#N canvas 0 58 803 624 REFERENCE 0;
#X text 114 121 Name: c_adsr;
#X text 114 143 Summary: ADSR envelope generator;
#X text 115 178 Argument 0: peak level;
#X text 115 200 Argument 1: attack time (msec);
#X text 115 222 Argument 2: decay time (msec);
#X text 115 244 Argument 3: sustain level in percent!;
#X text 115 266 Argument 4: release time (msec);
#X text 116 343 Inlet 1: peak level;
#X text 116 365 Inlet 2: attack time (msec);
#X text 116 387 Inlet 3: decay time (msec);
#X text 116 409 Inlet 4: sustain level in percent!;
#X text 116 431 Inlet 5: release time (msec);
#X text 116 475 Description: This is the classical Miller S. Puckette
linear ADSR envelope \, but with vline~ instead of line~ inside for
a bit of extra timing accuracy.;
#X text 116 295 Inlet 0: trigger float. Positive triggers start attack
and decay from the current level. Zero triggers release \, negative
triggers cause a jump to zero before attacking.;
#X text 116 453 Outlet 0: envelope signal;
#X coords 0 -1 1 1 450 450 1 100 100;
#X restore 35 42 pd REFERENCE;
#X text 32 17 c_adsr - ADSR envelope generator;
#X connect 0 0 6 0;
#X connect 3 0 5 0;
#X connect 3 1 14 0;
#X connect 4 0 3 0;
#X connect 5 1 0 0;
#X connect 6 0 17 0;
#X connect 6 1 17 1;
#X connect 7 0 5 1;
#X connect 8 0 17 2;
#X connect 9 0 17 3;
#X connect 10 0 17 4;
#X connect 11 0 17 5;
#X connect 14 0 2 0;
#X connect 14 1 13 0;
#X connect 15 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 13 0;
#X connect 17 0 2 0;
#X connect 17 0 15 0;
#X connect 17 0 15 1;
