#N canvas 13 16 946 669 10; #N canvas 343 320 599 314 1185template 0; #X obj 17 51 struct \$0template float x float y array \$0arrayvals \$0arraytemplate; #X obj 17 86 outlet; #X connect 0 0 1 0; #X restore 791 274 pd \$0template; #N canvas 435 201 450 300 1185arraytemplate 0; #X obj 24 43 struct \$0arraytemplate float x float y; #X obj 24 65 print; #X obj 24 88 filledpolygon 333 333 1 -2 -2 2 -2 2 2 -2 2 -2 -2; #X connect 0 0 1 0; #X restore 791 251 pd \$0arraytemplate; #N canvas 0 0 439 363 initarray 0; #X obj 163 211 pointer; #X msg 133 47 bang; #X text 186 35 click here to re-initialize; #X msg 300 176 \; \$1 clear; #X obj 163 96 \$0; #X msg 163 188 traverse \$1 \, bang; #X obj 163 119 makefilename pd-%ddata; #X obj 35 251 append \$0template x; #X msg 35 219 0; #X obj 133 72 t b b b; #X obj 68 114 outlet; #X obj 163 140 t s s; #X obj 133 12 inlet; #X connect 0 0 7 1; #X connect 1 0 9 0; #X connect 4 0 6 0; #X connect 5 0 0 0; #X connect 6 0 11 0; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 9 1 8 0; #X connect 9 2 4 0; #X connect 11 0 5 0; #X connect 11 1 3 0; #X connect 12 0 1 0; #X restore 132 225 pd initarray; #X obj 170 438 setsize \$0template \$0arrayvals; #X msg 132 344 traverse \$1 \, next; #X obj 132 300 \$0; #X obj 132 323 makefilename pd-%ddata; #X msg 132 249 bang; #X obj 132 276 delay 10; #X obj 62 568 inlet; #X obj 132 594 t p p; #X obj 170 414 1; #N canvas 427 10 552 678 envgen 0; #X obj 102 241 element \$0template \$0arrayvals; #X obj 102 291 get \$0arraytemplate x y; #X obj 121 147 getsize \$0template \$0arrayvals; #X obj 102 3 inlet; #X obj 307 216 inlet; #X msg 121 101 traverse \$1 \, next; #X obj 121 53 \$0; #X obj 121 77 makefilename pd-%ddata; #X obj 295 309 set \$0arraytemplate x y; #X text 372 258 redraw; #X obj 121 170 until; #X obj 121 192 f; #X obj 151 192 + 1; #X obj 148 53 0; #X obj 121 124 pointer \$0template; #X msg 257 124 next; #X obj 76 400 f; #X obj 229 394 f; #X obj 207 417 0; #X obj 171 500 <; #X obj 295 286 get \$0arraytemplate x y; #X obj 295 263 t p p; #X obj 178 53 s \$0lookup; #X obj 92 359 r \$0lookup; #X obj 102 321 t b f b; #X obj 229 368 0; #X obj 102 30 t b b b f b; #X obj 92 380 + 2; #X obj 108 500 >=; #X obj 138 528 &&; #X obj 138 550 select 1; #X obj 191 576 f; #X obj 392 479 f; #X obj 365 509 0; #X obj 405 445 0; #X obj 216 450 -; #X obj 245 450 -; #X obj 76 420 t f f f; #X obj 216 478 /; #X obj 360 445 t f b; #X obj 256 53 s \$0startlookup; #X obj 158 321 r \$0startlookup; #X obj 405 423 r \$0startlookup; #X obj 319 611 +; #X obj 383 540 -; #X obj 316 580 *; #X obj 319 656 outlet; #X obj 319 635 expr 127 - ($f1 - 2); #X connect 0 0 21 0; #X connect 0 0 1 0; #X connect 1 0 24 0; #X connect 1 1 39 0; #X connect 2 0 10 0; #X connect 3 0 26 0; #X connect 4 0 0 1; #X connect 5 0 14 0; #X connect 6 0 7 0; #X connect 7 0 5 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 11 0 0 0; #X connect 12 0 11 1; #X connect 13 0 11 1; #X connect 14 0 2 0; #X connect 14 1 15 0; #X connect 15 0 14 0; #X connect 16 0 37 0; #X connect 17 0 18 1; #X connect 17 0 19 1; #X connect 17 0 36 0; #X connect 18 0 28 1; #X connect 18 0 35 1; #X connect 18 0 36 1; #X connect 19 0 29 1; #X connect 20 0 8 0; #X connect 20 1 8 1; #X connect 21 0 20 0; #X connect 21 1 8 2; #X connect 23 0 27 0; #X connect 24 0 16 0; #X connect 24 1 17 0; #X connect 24 2 18 0; #X connect 25 0 17 0; #X connect 26 1 6 0; #X connect 26 2 13 0; #X connect 26 3 22 0; #X connect 26 4 40 0; #X connect 27 0 16 1; #X connect 28 0 29 0; #X connect 29 0 30 0; #X connect 30 0 31 0; #X connect 31 0 45 0; #X connect 32 0 33 1; #X connect 32 0 44 0; #X connect 33 0 44 1; #X connect 33 0 43 1; #X connect 34 0 32 0; #X connect 35 0 38 0; #X connect 36 0 38 1; #X connect 37 0 28 0; #X connect 37 1 19 0; #X connect 37 2 35 0; #X connect 38 0 31 1; #X connect 39 0 32 0; #X connect 39 1 33 0; #X connect 41 0 25 0; #X connect 42 0 34 0; #X connect 43 0 47 0; #X connect 44 0 45 1; #X connect 45 0 43 0; #X connect 47 0 46 0; #X restore 74 619 pd envgen; #X obj 23 541 set \$0arraytemplate x y; #X obj 179 513 element \$0template \$0arrayvals; #X msg 101 514 3; #X msg 23 515 3; #X obj 151 467 t b b b p; #X msg 179 491 0; #X obj 132 391 t p p b p; #N canvas 212 221 507 438 save 0; #X obj 167 14 r SSSAD_SAVE; #X obj 186 242 element \$0template \$0arrayvals; #X obj 186 263 get \$0arraytemplate x y; #X obj 186 220 f; #X obj 214 220 + 1; #X obj 186 289 list append; #X obj 186 197 until; #X msg 230 197 0; #X obj 186 333 list prepend; #X obj 279 333 t l; #X obj 163 364 list; #X obj 167 39 t b b b b; #X obj 391 220 inlet; #X msg 186 107 traverse \$1 \, next; #X obj 186 63 \$0; #X obj 186 86 makefilename pd-%ddata; #X obj 186 151 getsize \$0template \$0arrayvals; #X obj 7 415 outlet; #X obj 7 394 sssad/sssad \$1/envelope; #X obj 186 130 pointer \$0template; #X msg 320 130 next; #X connect 0 0 11 0; #X connect 1 0 2 0; #X connect 2 0 5 0; #X connect 2 1 5 1; #X connect 3 0 4 0; #X connect 3 0 1 0; #X connect 4 0 3 1; #X connect 5 0 8 0; #X connect 6 0 3 0; #X connect 7 0 3 1; #X connect 8 0 9 0; #X connect 8 0 10 1; #X connect 9 0 8 1; #X connect 10 0 18 1; #X connect 11 0 10 0; #X connect 11 1 14 0; #X connect 11 2 7 0; #X connect 11 3 8 1; #X connect 12 0 1 1; #X connect 13 0 19 0; #X connect 14 0 15 0; #X connect 15 0 13 0; #X connect 16 0 6 0; #X connect 18 0 17 0; #X connect 19 0 16 0; #X connect 19 1 20 0; #X connect 20 0 19 0; #X restore 162 619 pd save; #N canvas 64 35 650 643 load 0; #X obj 21 6 inlet; #X obj 21 65 until; #X obj 21 103 list append; #X obj 120 148 bang; #X obj 21 148 list split 2; #X obj 21 229 list split 1; #X obj 156 305 setsize \$0template \$0arrayvals; #X msg 361 212 traverse \$1 \, next; #X obj 361 168 \$0; #X obj 361 191 makefilename pd-%ddata; #X msg 172 126 0; #X obj 156 232 f; #X obj 185 232 + 1; #X obj 21 178 t l b; #X obj 21 32 t b l b b; #X obj 177 342 element \$0template \$0arrayvals; #X obj 21 389 set \$0arraytemplate x y; #X obj 156 258 t f f; #X obj 186 281 + 1; #X obj 361 235 pointer \$0template; #X msg 494 235 next; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 3 0 1 1; #X connect 4 0 13 0; #X connect 4 1 2 1; #X connect 4 2 3 0; #X connect 5 0 16 0; #X connect 5 1 16 1; #X connect 7 0 19 0; #X connect 8 0 9 0; #X connect 9 0 7 0; #X connect 10 0 11 1; #X connect 11 0 12 0; #X connect 11 0 17 0; #X connect 12 0 11 1; #X connect 13 0 5 0; #X connect 13 1 11 0; #X connect 14 0 1 0; #X connect 14 1 2 1; #X connect 14 2 10 0; #X connect 14 3 8 0; #X connect 15 0 16 2; #X connect 17 0 15 0; #X connect 17 1 18 0; #X connect 18 0 6 0; #X connect 19 0 6 1; #X connect 19 0 15 1; #X connect 19 1 20 0; #X connect 20 0 19 0; #X restore 162 643 pd load; #X obj 670 275 namecanvas \$0env; #X text 626 159 Interpolates between points at control rate.; #X obj 110 165 loadbang; #X text 409 207 resize the canvasses etc. first; #X obj 411 416 \$0; #X msg 411 228 bang; #X obj 463 374 \$2; #X obj 463 516 + 16; #X obj 411 250 t b b; #X obj 496 516 + 4; #X obj 411 438 t f f; #X obj 441 490 makefilename pd-%d; #X obj 411 543 pack f s f f f s; #X obj 523 516 + 2; #X msg 411 566 \; \$1env donecanvasdialog 1 -1 1 0 -1 \$3 153 \$3 153 0 0 \; \$2data donecanvasdialog 1 -1 1 0 -1 \$4 131 \$4 131 0 0 \; \$1env obj 7 17 cnv 15 \$5 129 empty empty empty 20 12 0 14 -260818 -66577 0 \; \$2template obj 17 9 plot -x \$6 -y y(2:129)(2:129) \$1arrayvals 333 0.1 0 0 0 \;; #N canvas 0 16 999 675 1185data 0; #X coords 0 -1 516 131 516 131 1; #X restore 6 16 pd \$0data; #X obj 463 394 t f f f f f; #X msg 594 490 set \$1; #X obj 594 514 makefilename not-set-yet; #X obj 594 468 makefilename x(2:%%d)(2:%d); #X obj 74 643 outlet; #X obj 594 446 + 2; #X obj 517 416 + 2; #N canvas 301 188 450 300 cursor 0; #X obj 59 38 inlet; #X obj 37 230 outlet; #X obj 89 230 set \$0cursor x; #X obj 119 134 \$0; #X obj 119 157 makefilename pd-%ddata; #X msg 253 201 next; #X obj 119 201 pointer \$0cursor; #X obj 89 108 t f b; #X obj 59 84 t f f; #X msg 119 178 traverse \$1 \, bang; #X obj 59 61 mod \$2; #X connect 0 0 10 0; #X connect 3 0 4 0; #X connect 4 0 9 0; #X connect 5 0 6 0; #X connect 6 0 2 1; #X connect 6 1 5 0; #X connect 7 0 2 0; #X connect 7 1 3 0; #X connect 8 0 1 0; #X connect 8 1 7 0; #X connect 9 0 6 0; #X connect 10 0 8 0; #X restore 62 590 pd cursor; #N canvas 67 68 640 606 1185cursor 0; #X obj 7 7 struct \$0cursor float x; #X obj 7 29 drawpolygon 900 0 0 1 0 131; #X restore 791 227 pd \$0cursor; #N canvas 84 62 640 606 1185lines 0; #X obj 7 7 struct \$0lines float x; #X obj 53 308 r \$0redraw; #X obj 7 30 drawpolygon 333 0 0 1 0 131; #X obj 53 333 \$0; #X obj 53 355 makefilename pd-%ddata; #X msg 53 381 traverse \$1 \, bang; #X obj 53 490 pointer \$0cursor \$0lines; #X obj 114 438 until; #X msg 114 462 next; #X obj 53 409 t b a; #X obj 53 545 get \$0cursor x; #X obj 157 545 get \$0lines x; #X text 51 291 Execute a redraw; #X obj 157 571 set \$0lines x; #X obj 53 515 t p p; #X obj 157 515 t p p; #X obj 53 571 set \$0cursor x; #X connect 1 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 9 0; #X connect 6 0 14 0; #X connect 6 1 15 0; #X connect 6 3 7 1; #X connect 7 0 8 0; #X connect 8 0 6 0; #X connect 9 0 7 0; #X connect 9 1 6 0; #X connect 10 0 16 0; #X connect 11 0 13 0; #X connect 14 0 10 0; #X connect 14 1 16 1; #X connect 15 0 11 0; #X connect 15 1 13 1; #X restore 791 204 pd \$0lines; #X text 625 175 args: [name] [length] [line separation]; #N canvas 0 0 730 605 lines 0; #X obj 401 373 pointer; #X obj 265 104 t b b; #X obj 295 126 \$0; #X obj 295 148 makefilename pd-%ddata; #X msg 401 350 traverse \$1 \, bang; #X obj 265 308 until; #X obj 265 329 f; #X obj 296 329 + 1; #X obj 265 196 t b b; #X obj 295 219 0; #X obj 265 398 append \$0lines x; #X obj 134 196 pointer; #X obj 20 101 t b b; #X obj 50 123 \$0; #X obj 50 145 makefilename pd-%ddata; #X msg 134 173 traverse \$1 \, bang; #X obj 20 219 append \$0cursor x; #X msg 20 174 0; #X text 17 67 create the cursor; #X obj 243 47 t b b b; #X text 269 85 create the lines; #X obj 265 219 \$2; #X obj 265 285 / \$3; #X obj 265 372 * \$3; #X obj 20 242 s \$0cursorp; #X obj 243 8 inlet; #X obj 288 260 s-default \$3 16; #X obj 288 350 s-default \$3 16; #X connect 0 0 10 1; #X connect 1 0 8 0; #X connect 1 1 2 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 0 0; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 6 0 23 0; #X connect 7 0 6 1; #X connect 8 0 21 0; #X connect 8 1 9 0; #X connect 9 0 6 1; #X connect 11 0 16 1; #X connect 12 0 17 0; #X connect 12 1 13 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 15 0 11 0; #X connect 16 0 24 0; #X connect 17 0 16 0; #X connect 19 0 12 0; #X connect 19 1 1 0; #X connect 19 2 26 0; #X connect 19 2 27 0; #X connect 21 0 22 0; #X connect 22 0 5 0; #X connect 23 0 10 0; #X connect 25 0 19 0; #X connect 26 0 22 1; #X connect 27 0 23 1; #X restore 68 225 pd lines; #X obj 110 188 t b b b; #X obj 132 367 pointer \$0template; #X msg 266 367 next; #X connect 2 0 7 0; #X connect 4 0 51 0; #X connect 5 0 6 0; #X connect 6 0 4 0; #X connect 7 0 8 0; #X connect 8 0 5 0; #X connect 9 0 45 0; #X connect 10 0 12 1; #X connect 10 1 20 0; #X connect 11 0 3 0; #X connect 12 0 42 0; #X connect 14 0 13 2; #X connect 15 0 13 1; #X connect 16 0 13 0; #X connect 17 0 16 0; #X connect 17 1 15 0; #X connect 17 2 18 0; #X connect 17 3 14 1; #X connect 18 0 14 0; #X connect 19 0 10 0; #X connect 19 1 17 0; #X connect 19 2 11 0; #X connect 19 3 3 1; #X connect 20 0 21 0; #X connect 24 0 50 0; #X connect 26 0 32 0; #X connect 27 0 30 0; #X connect 28 0 38 0; #X connect 29 0 34 2; #X connect 30 0 26 0; #X connect 30 1 28 0; #X connect 31 0 34 3; #X connect 32 0 34 0; #X connect 32 1 33 0; #X connect 33 0 34 1; #X connect 34 0 36 0; #X connect 35 0 34 4; #X connect 38 0 29 0; #X connect 38 1 31 0; #X connect 38 2 35 0; #X connect 38 3 44 0; #X connect 38 4 43 0; #X connect 39 0 40 0; #X connect 40 0 34 5; #X connect 41 0 39 0; #X connect 43 0 41 0; #X connect 44 0 40 0; #X connect 45 0 12 0; #X connect 50 0 49 0; #X connect 50 1 2 0; #X connect 50 2 27 0; #X connect 51 0 19 0; #X connect 51 1 52 0; #X connect 52 0 51 0; #X coords 0 -1 528 153 528 153 1 0 0;