#N struct 1141template float x float y array 1141arrayvals 1141arraytemplate ; #N struct 1141arraytemplate float x float y; #N canvas 239 16 721 668 10; #N canvas 0 16 999 675 1141data 0; #X scalar 1141template 0 0 \; 0 50 \; 60 50 \; 120 50 \; 180 50 \; \;; #X coords 0 0 200 114 200 114 1; #X restore 10 6 pd \$0data; #N canvas 287 289 599 314 1141template 0; #X obj 15 61 struct \$0template float x float y array \$0arrayvals \$0arraytemplate; #X obj 15 96 outlet; #X obj 15 39 drawpolygon 0 0 10 35 190 35 190 110 10 110 10 35; #X obj 15 17 plot \$0arrayvals 0 2 10 15 20; #X obj 16 120 drawpolygon 0 0 1 30 200 30; #X connect 0 0 1 0; #X restore 236 36 pd \$0template; #N canvas 435 201 450 300 1141arraytemplate 0; #X obj 24 43 struct \$0arraytemplate float x float y; #X obj 24 72 filledpolygon 0 0 0 -3 0 0 3 3 0 0 -3; #X restore 236 13 pd \$0arraytemplate; #N canvas 0 0 925 648 initarray 0; #X obj 163 219 pointer; #X msg 133 47 bang; #X text 186 35 click here to re-initialize; #X msg 305 198 \; \$1 clear; #X obj 163 96 \$0; #X msg 163 196 traverse \$1 \, bang; #X obj 163 119 makefilename pd-%ddata; #X obj 35 259 append \$0template x; #X msg 35 227 0; #X obj 133 12 loadbang; #X obj 163 140 t s s s; #X obj 133 72 t b b b; #X obj 41 98 s \$0-entries; #X obj 648 164 pointer; #X obj 670 245 setsize \$0template \$0arrayvals; #X obj 522 568 set \$0arraytemplate x y; #X obj 578 400 element \$0template \$0arrayvals; #X obj 648 188 t p b p; #X msg 648 141 traverse \$1 \, next; #X obj 648 97 \$0; #X obj 648 120 makefilename pd-%ddata; #X msg 648 46 bang; #X obj 648 21 r \$0-entries; #X obj 670 217 4; #X obj 534 323 until; #X obj 564 282 > 0; #X obj 534 261 t f f; #X obj 534 303 spigot; #X obj 534 348 f; #X obj 562 348 + 1; #X msg 645 318 0; #X obj 648 276 t b b p; #X obj 534 368 t f f f; #X obj 648 73 delay 10; #X msg 556 465 50; #X obj 534 236 3; #X obj 522 465 * 60; #X connect 0 0 7 1; #X connect 1 0 11 0; #X connect 4 0 6 0; #X connect 5 0 0 0; #X connect 6 0 10 0; #X connect 8 0 7 0; #X connect 9 0 1 0; #X connect 10 1 5 0; #X connect 10 2 3 0; #X connect 11 0 12 0; #X connect 11 1 8 0; #X connect 11 2 4 0; #X connect 13 0 17 0; #X connect 16 0 15 2; #X connect 17 0 31 0; #X connect 17 1 23 0; #X connect 17 2 14 1; #X connect 18 0 13 0; #X connect 19 0 20 0; #X connect 20 0 18 0; #X connect 21 0 33 0; #X connect 22 0 21 0; #X connect 23 0 14 0; #X connect 24 0 28 0; #X connect 25 0 27 1; #X connect 26 0 27 0; #X connect 26 1 25 0; #X connect 27 0 24 0; #X connect 28 0 29 0; #X connect 28 0 32 0; #X connect 29 0 28 1; #X connect 30 0 28 0; #X connect 31 0 35 0; #X connect 31 1 30 0; #X connect 31 2 16 1; #X connect 32 0 36 0; #X connect 32 1 34 0; #X connect 32 2 16 0; #X connect 33 0 19 0; #X connect 34 0 15 1; #X connect 35 0 26 0; #X connect 36 0 15 0; #X restore 103 129 pd initarray; #X obj 236 58 print; #N canvas 0 16 999 675 processpoints 0; #X obj 313 153 pointer; #X obj 335 234 setsize \$0template \$0arrayvals; #X obj 313 177 t p b p; #X msg 313 130 traverse \$1 \, next; #X obj 313 86 \$0; #X obj 313 109 makefilename pd-%ddata; #X msg 313 35 bang; #X obj 313 10 r \$0-entries; #X obj 335 206 4; #X obj 12 444 set \$0arraytemplate x y; #X obj 90 232 element \$0template \$0arrayvals; #X obj 46 155 until; #X obj 76 114 > 0; #X obj 46 93 t f f; #X obj 46 135 spigot; #X obj 46 180 f; #X obj 74 180 + 1; #X msg 157 150 0; #X obj 46 68 3; #X obj 160 108 t b b p p; #X obj 313 60 metro 100; #X obj 250 324 get \$0arraytemplate x y; #X obj 208 407 > 180; #X obj 208 428 select 1; #X msg 208 448 180; #X obj 272 428 select 1; #X obj 272 407 < 0; #X msg 272 448 0; #X obj 375 404 select 1; #X obj 439 402 select 1; #X obj 394 511 pack f f; #X obj 250 348 t f f f; #X obj 394 535 s \$0xy; #X obj 406 344 t f f f; #X obj 12 411 unpack f f; #X obj 12 380 r \$0xy; #X obj 105 263 t p p; #X obj 375 383 > 95; #X obj 439 379 < 20; #X msg 439 422 20; #X msg 375 424 95; #X obj 59 208 t f f; #X msg 80 333 180; #X msg 17 333 0; #X obj 80 291 select 3; #X obj 17 291 select 0; #X text 533 28 every 100 milliseconds this loops through the entire array and makes sure the points are in range. this is a kludge because [struct] doesn't tell us when things have been clicked.; #X connect 0 0 2 0; #X connect 2 0 19 0; #X connect 2 1 8 0; #X connect 2 2 1 1; #X connect 3 0 0 0; #X connect 4 0 5 0; #X connect 5 0 3 0; #X connect 6 0 20 0; #X connect 7 0 6 0; #X connect 8 0 1 0; #X connect 10 0 36 0; #X connect 11 0 15 0; #X connect 12 0 14 1; #X connect 13 0 14 0; #X connect 13 1 12 0; #X connect 14 0 11 0; #X connect 15 0 16 0; #X connect 15 0 41 0; #X connect 16 0 15 1; #X connect 17 0 15 0; #X connect 18 0 13 0; #X connect 19 0 18 0; #X connect 19 1 17 0; #X connect 19 2 10 1; #X connect 20 0 4 0; #X connect 21 0 31 0; #X connect 21 1 33 0; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 24 0 30 0; #X connect 25 0 27 0; #X connect 26 0 25 0; #X connect 27 0 30 0; #X connect 28 0 40 0; #X connect 29 0 39 0; #X connect 30 0 32 0; #X connect 31 0 22 0; #X connect 31 1 26 0; #X connect 31 2 30 0; #X connect 33 0 37 0; #X connect 33 1 38 0; #X connect 33 2 30 1; #X connect 34 0 9 0; #X connect 34 1 9 1; #X connect 35 0 34 0; #X connect 36 0 21 0; #X connect 36 1 9 2; #X connect 37 0 28 0; #X connect 38 0 29 0; #X connect 39 0 30 1; #X connect 40 0 30 1; #X connect 41 0 44 0; #X connect 41 0 45 0; #X connect 41 1 10 0; #X connect 42 0 9 0; #X connect 43 0 9 0; #X connect 44 0 42 0; #X connect 45 0 43 0; #X restore 103 156 pd processpoints; #X obj 377 244 pointer; #X obj 399 325 setsize \$0template \$0arrayvals; #X obj 216 387 element \$0template \$0arrayvals; #X obj 377 268 t p b p; #X msg 377 221 traverse \$1 \, next; #X obj 377 177 \$0; #X obj 377 200 makefilename pd-%ddata; #X msg 377 126 bang; #X obj 377 101 r \$0-entries; #X obj 399 297 4; #X obj 377 356 t b b p; #X obj 377 153 delay 10; #X obj 216 411 get \$0arraytemplate x y; #X obj 178 206 inlet; #X obj 285 609 line~; #X text 24 187 this is how long you want the envelope to take.; #X obj 178 230 t b f; #X obj 285 444 / 180; #X obj 285 466 *; #X obj 174 291 f; #X obj 202 291 + 1; #X obj 285 630 outlet~; #X obj 372 436 expr 95 - $f1; #X obj 372 459 / 75; #X msg 174 262 0; #X obj 285 565 f; #X obj 285 535 t b f; #X obj 285 587 pack f f; #X obj 356 587 delay; #X obj 356 608 s \$0-loop; #X obj 79 246 r \$0-loop; #X obj 204 340 < 4; #X obj 174 315 t f f; #X obj 174 362 spigot; #X obj 285 511 -; #X obj 285 488 t f f; #X obj 11 37 cnv 15 198 82 empty empty empty 20 12 0 14 -260818 -66577 0; #X obj 21 42 cnv 15 178 73 empty empty empty 20 12 0 14 -166441 -66577 0; #X connect 1 0 4 0; #X connect 6 0 9 0; #X connect 8 0 18 0; #X connect 9 0 16 0; #X connect 9 1 15 0; #X connect 9 2 7 1; #X connect 10 0 6 0; #X connect 11 0 12 0; #X connect 12 0 10 0; #X connect 13 0 17 0; #X connect 14 0 13 0; #X connect 15 0 7 0; #X connect 16 2 8 1; #X connect 17 0 11 0; #X connect 18 0 23 0; #X connect 18 1 28 0; #X connect 19 0 22 0; #X connect 20 0 27 0; #X connect 22 0 30 0; #X connect 22 1 24 1; #X connect 23 0 24 0; #X connect 24 0 41 0; #X connect 25 0 26 0; #X connect 25 0 38 0; #X connect 26 0 25 1; #X connect 28 0 29 0; #X connect 29 0 31 1; #X connect 30 0 25 0; #X connect 31 0 33 0; #X connect 32 0 31 0; #X connect 32 0 34 0; #X connect 32 1 33 1; #X connect 32 1 34 1; #X connect 33 0 20 0; #X connect 34 0 35 0; #X connect 36 0 25 0; #X connect 37 0 39 1; #X connect 38 0 39 0; #X connect 38 1 37 0; #X connect 39 0 8 0; #X connect 40 0 32 0; #X connect 41 0 40 1; #X connect 41 1 40 0; #X coords 0 -1 1 1 200 100 1 10 20;