#N canvas 346 22 766 505 10; #X obj 216 455 switch~; #X obj 27 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 ; #X obj 27 211 metro 1451.25; #X floatatom 281 190 5 0 0 0 attack - -; #X floatatom 331 220 5 0 0 0 decay - -; #X floatatom 381 250 5 0 0 0 sustain - -; #X floatatom 431 280 5 0 0 0 release - -; #X obj 93 455 tabwrite~ vadsr; #N canvas 0 22 450 300 (subpatch) 0; #X array vadsr 11000 float 0; #X coords 0 1 10999 0 500 100 1; #X restore 176 25 graph; #X obj 265 436 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; #X obj 393 164 loadbang; #X msg 431 249 261; #X floatatom 511 346 5 0 0 0 - - -; #X msg 511 316 set 11025; #X msg 511 376 \; vadsr resize \$1; #X obj 123 375 pack 51 87 31 261; #X obj 123 345 f 51; #X obj 102 179 * 64; #X obj 102 149 / 44.1; #X msg 102 119 1000; #X floatatom 110 244 5 0 0 0 - - -; #X msg 281 159 31; #X obj 77 264 del 80; #X msg 331 187 35; #X msg 381 219 65; #X obj 123 425 vadsr2 3 4 90 16; #X text 47 12 a) start triggering; #X text 71 101 blockligned; #X text 425 193 b) play with the adsr parameter; #X text 462 410 c) adjust tablesize to adsr duration for better visualization ; #X text 267 454 optional switch to save cpu; #X text 90 280 retriggering is clickfree; #X text 130 402 attack(ms) decay(ms) sustain(%) release(ms); #X connect 1 0 2 0; #X connect 2 0 7 0; #X connect 2 0 16 0; #X connect 2 0 22 0; #X connect 3 0 16 1; #X connect 4 0 15 1; #X connect 5 0 15 2; #X connect 6 0 15 3; #X connect 10 0 21 0; #X connect 10 0 23 0; #X connect 10 0 24 0; #X connect 10 0 11 0; #X connect 10 0 13 0; #X connect 10 0 19 0; #X connect 11 0 6 0; #X connect 12 0 14 0; #X connect 13 0 12 0; #X connect 15 0 25 0; #X connect 16 0 15 0; #X connect 17 0 2 1; #X connect 18 0 17 0; #X connect 19 0 18 0; #X connect 20 0 22 1; #X connect 21 0 3 0; #X connect 23 0 4 0; #X connect 24 0 5 0; #X connect 25 0 7 0; #X connect 25 1 0 0; #X connect 25 1 9 0;