From efed3833da03cda6df11163e2ffccc52072ba099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pais?= Date: Fri, 9 Jul 2010 08:32:33 +0000 Subject: svn path=/trunk/abstractions/jmmmp/; revision=13700 --- array+.pd | 204 ++++++++ array-edit.pd | 1532 ++++++++++++++++++++++++++++---------------------------- bezier-help.pd | 692 +++++++++++++++++++++++++ bezier.pd | 474 ++++++++++++++++++ 4 files changed, 2144 insertions(+), 758 deletions(-) create mode 100644 array+.pd create mode 100644 bezier-help.pd create mode 100644 bezier.pd diff --git a/array+.pd b/array+.pd new file mode 100644 index 0000000..78c3b5d --- /dev/null +++ b/array+.pd @@ -0,0 +1,204 @@ +#N struct 1015-graph float x float y float dist float resol float width +float stres array 1015-boxes 1015-box; +#N struct 1015-box float y float width; +#N canvas 330 25 920 794 10; +#N canvas 651 507 450 300 \$0-box 0; +#X obj 40 83 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +; +#X obj 22 26 struct \$0-box float y float width; +#X obj 28 114 drawpolygon 0 2 0 0 width 0; +#X connect 0 0 2 0; +#X restore 753 114 pd \$0-box; +#N canvas 600 79 615 150 \$0-graph 1; +#X obj 19 21 struct \$0-graph float x float y float dist float resol +float width float stres array \$0-boxes \$0-box; +#X obj 30 100 plot -y y(0:4)(4:0)(1) \$0-boxes 0 0 0 0 dist; +#X restore 753 134 pd \$0-graph; +#X obj 20 203 pointer; +#X obj 107 454 setsize \$0-graph \$0-boxes; +#X obj 119 163 pointer; +#X obj 119 123 \$0; +#X obj 124 424 set \$0-graph dist; +#X obj 124 404 expr 10/$f1; +#X obj 133 534 element \$0-graph \$0-boxes; +#X msg 139 96 clear; +#X obj 20 183 append \$0-graph x; +#X obj 40 554 set \$0-box width; +#X obj 40 424 until; +#X obj 40 444 f+; +#X obj 40 404 t f b f; +#X obj 79 484 expr 10/$f1; +#X obj 40 504 f; +#X obj 40 464 t b f; +#X obj 20 163 0; +#X obj 98 46 t b b b b; +#X obj 464 144 element \$0-graph \$0-boxes; +#X obj 464 164 get \$0-box y; +#X msg 149 76 donecanvasdialog 1 -1 2 0 0 10 4 100 70 0 0; +#X obj 511 536 element \$0-graph \$0-boxes; +#X obj 442 466 until; +#X obj 442 486 f+; +#X obj 442 506 t b f; +#X obj 442 556 set \$0-box y; +#X obj 442 426 f; +#X obj 442 526 0; +#X obj 90 374 t f f f f; +#X obj 442 446 t f b; +#X obj 98 25 loadbang; +#X obj 611 124 r \$0-pointer-aux; +#X text 356 14 komisches workaround \, weil gop nicht richtig funktioniert +; +#X obj 175 28 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 51 334 \$2; +#N canvas 0 0 450 300 (subpatch) 0; +#X array array1 100 float 3; +#A 0 0.157144 0.17143 0.17143 0.17143 0.17143 0.17143 0.17143 0.17143 +0.17143 0.17143 0.17143 0.17143 0.17143 0.185715 0.228573 0.242859 +0.261907 0.280954 0.300002 0.328574 0.34286 0.361907 0.380955 0.400003 +0.414289 0.44286 0.457146 0.471432 0.485718 0.500004 0.528575 0.542861 +0.571433 0.585719 0.600004 0.61429 0.657148 0.671433 0.685719 0.685719 +0.685719 0.700005 0.700005 0.700005 0.692862 0.685719 0.671433 0.66429 +0.657148 0.628576 0.600004 0.571433 0.542861 0.521432 0.500004 0.485718 +0.471432 0.44286 0.433336 0.423812 0.414289 0.407146 0.400003 0.39286 +0.385717 0.378574 0.371431 0.364288 0.357145 0.353574 0.350002 0.346431 +0.34286 0.34286 0.342859 0.338098 0.333336 0.328574 0.321431 0.314288 +0.300002 0.300002 0.27143 0.228573 0.17143 0.157144 0.128572 0.100001 +0.0857147 0.0428572 0.0285714 -0.0428577 -0.100001 0.0857148 0.0833339 +0.0809529 0.0785719 0.076191 0.07381 0.071429; +#X coords 0 1 99 -1 200 140 1; +#X restore 707 269 graph; +#X msg 730 418 \; array1 0 1 1 1 1 -1 -1 -1; +#X obj 51 354 moses 1; +#N canvas 35 70 367 459 \$0-array 0; +#X scalar 1015-graph 0 0 0.5 0 0 2 \; 2.05714 0.5 \; 3.8 0.5 \; 3.7 +0.5 \; 3.3 0.5 \; 2.9 0.5 \; 2.7 0.5 \; 2.5 0.5 \; 2.3 0.5 \; 1.8 0.5 +\; 0.9 0.5 \; 0.1 0.5 \; 0 0.5 \; 0 0.5 \; 0.4 0.5 \; 1.7 0.5 \; 1.9 +0.5 \; 2.2 0.5 \; 1 0.5 \; 4 0.5 \; 3 0.5 \; \;; +#X coords 0 0 10 4 100 70 1; +#X restore 753 30 pd \$0-array; +#X obj 149 116 s pd-\$0-array; +#X msg 120 143 traverse pd-\$1-array \, bang; +#X obj 20 223 s \$0-pointer-array; +#X obj 565 506 r \$0-pointer-array; +#X obj 187 504 r \$0-pointer-array; +#X obj 312 246 inlet; +#X text 449 124 [inlet]; +#X floatatom 21 303 5 0 0 0 - - -; +#N canvas 55 71 450 300 list-populate 0; +#X obj 26 19 inlet; +#X obj 168 93 r \$0-reset-aux; +#X obj 158 73 r \$0-reset; +#X obj 201 251 element \$0-graph \$0-boxes; +#X obj 132 201 f+; +#X obj 132 271 set \$0-box y; +#X obj 158 118 f; +#X obj 158 138 t f b; +#X obj 255 221 r \$0-pointer-array; +#X obj 26 39 list split 1; +#X obj 26 99 drip; +#X obj 26 79 list; +#X obj 26 59 t b f; +#X obj 41 139 t b f; +#X connect 0 0 9 0; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 3 0 5 1; +#X connect 4 0 3 0; +#X connect 6 0 7 0; +#X connect 7 1 4 1; +#X connect 8 0 3 1; +#X connect 9 0 12 0; +#X connect 9 1 11 1; +#X connect 10 0 13 0; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 12 1 4 1; +#X connect 13 0 4 0; +#X connect 13 1 5 0; +#X restore 365 286 pd list-populate; +#X msg 372 246 10 -1 1 -1 0.5 -0.5 0.5 -0.2 0.2 -0.2 0.1 -0.1 0; +#X obj 78 96 t b b b; +#X obj 127 675 moses 1; +#X obj 262 695 r \$0-pointer-array; +#X obj 127 655 \$3; +#X text 610 632 \$1 - array name; +#X text 609 651 \$2 - array size; +#X text 608 669 \$3 - step resolution; +#X msg 127 695 1; +#X obj 157 715 set \$0-graph stres; +#X floatatom 84 646 5 0 0 0 - - -; +#X text 97 735 usar uma variavel para o step nao e possivel???; +#X obj 418 306 f; +#X obj 418 326 outlet; +#X obj 312 266 route resize list arraysize const; +#X obj 442 396 t b f; +#X text 482 396 const; +#X text 448 217 read / write / rename / bounds / labels / ticks / gop-size +; +#X connect 2 0 43 0; +#X connect 4 0 10 1; +#X connect 5 0 42 0; +#X connect 7 0 6 0; +#X connect 8 0 11 1; +#X connect 9 0 41 0; +#X connect 10 0 2 0; +#X connect 12 0 13 0; +#X connect 13 0 17 0; +#X connect 14 0 12 0; +#X connect 14 1 13 1; +#X connect 14 2 15 0; +#X connect 15 0 16 1; +#X connect 16 0 11 0; +#X connect 17 0 16 0; +#X connect 17 1 8 0; +#X connect 18 0 10 0; +#X connect 19 0 51 0; +#X connect 19 1 5 0; +#X connect 19 2 9 0; +#X connect 19 3 22 0; +#X connect 20 0 21 0; +#X connect 22 0 41 0; +#X connect 23 0 27 1; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 29 0; +#X connect 26 1 23 0; +#X connect 28 0 31 0; +#X connect 29 0 27 0; +#X connect 30 0 14 0; +#X connect 30 1 3 0; +#X connect 30 2 7 0; +#X connect 30 3 28 1; +#X connect 31 0 24 0; +#X connect 31 1 25 1; +#X connect 32 0 19 0; +#X connect 33 0 20 1; +#X connect 35 0 19 0; +#X connect 36 0 39 0; +#X connect 36 0 62 1; +#X connect 39 1 30 0; +#X connect 42 0 4 0; +#X connect 44 0 23 1; +#X connect 45 0 8 1; +#X connect 45 0 3 1; +#X connect 45 0 6 1; +#X connect 46 0 64 0; +#X connect 48 0 36 0; +#X connect 50 0 64 0; +#X connect 51 0 54 0; +#X connect 51 1 36 0; +#X connect 51 2 18 0; +#X connect 52 0 58 0; +#X connect 52 1 59 0; +#X connect 53 0 59 1; +#X connect 54 0 52 0; +#X connect 58 0 59 0; +#X connect 60 0 52 0; +#X connect 62 0 63 0; +#X connect 64 0 36 0; +#X connect 64 1 49 0; +#X connect 64 2 62 0; +#X connect 64 3 65 0; +#X connect 65 0 28 0; +#X connect 65 1 29 0; diff --git a/array-edit.pd b/array-edit.pd index d31c728..1f1ca67 100644 --- a/array-edit.pd +++ b/array-edit.pd @@ -1,758 +1,774 @@ -#N canvas 68 28 402 755 10; -#N canvas 73 134 639 485 inside 0; -#X msg 287 128 const \$1; -#X obj 15 159 r \$0-resize; -#X msg 64 199 resize \$1; -#X obj 15 68 arraysize; -#X obj 15 28 r \$0-arr; -#X msg 15 48 set \$1 \, bang; -#X msg 15 98 set \$1; -#X obj 89 97 s \$0-arrsize; -#X obj 15 119 s \$0-resize-i; -#X obj 287 108 r \$0-const; -#X text 21 9 Resize; -#X text 293 86 Constant; -#X obj 531 104 tabread; -#X obj 541 64 r \$0-arr; -#X msg 541 84 set \$1; -#X obj 531 34 r \$0-ind_i; -#X obj 531 124 s \$0-ind_t-i; -#X obj 531 214 s \$0-ind_i-i; -#X msg 531 194 range 0 \$1; -#X obj 531 154 r \$0-arrsize; -#X obj 531 174 - 1; -#X text 532 12 Index test; -#X msg 436 59 rename \$1; -#X text 445 18 Rename; -#X obj 436 39 r \$0-rename; -#X obj 446 129 s \$0-arr-i; -#X msg 446 109 symbol \$1; -#X obj 287 38 r \$0-norml; -#X text 293 16 Normalize; -#X msg 287 58 normalize \$1; -#N canvas 335 713 293 221 x-ticks 0; -#X obj 103 16 r \$0-arrsize; -#X obj 143 86 /; -#X obj 143 56 t b f; -#X obj 115 126 pack f f f; -#X obj 172 106 expr 100/$f1; -#X obj 115 176 outlet; -#X obj 143 36 r \$0-xtick-div; -#X obj 172 86 r \$0-xtick-prop; -#X obj 35 86 r \$0-xtick-send; -#X msg 115 146 xticks \$1 \$2 \$3; -#X connect 0 0 1 0; -#X connect 1 0 3 1; -#X connect 2 0 1 0; -#X connect 2 1 1 1; -#X connect 3 0 9 0; -#X connect 4 0 3 2; -#X connect 6 0 2 0; -#X connect 7 0 4 0; -#X connect 8 0 3 0; -#X connect 9 0 5 0; -#X coords 0 0 1 1 201 75 0; -#X restore 199 197 pd x-ticks; -#X text 150 197 X-ticks; -#X text 150 217 X-label; -#N canvas 274 695 314 213 bounds 0; -#X msg 41 142 bounds \$1 \$2 \$3 \$4; -#X obj 41 122 pack f f f f; -#X obj 193 125 r \$0-arrsize; -#X obj 34 62 f; -#X obj 41 172 outlet; -#X obj 49 42 r \$0-bound-x; -#X obj 87 82 r \$0-bound-xx; -#X obj 193 165 s \$0-bound-xx-i; -#X obj 64 62 r \$0-bound-y; -#X obj 110 102 r \$0-bound-yy; -#X obj 34 22 r \$0-bound-send; -#X obj 193 145 - 1; -#X connect 0 0 4 0; -#X connect 1 0 0 0; -#X connect 2 0 11 0; -#X connect 3 0 1 0; -#X connect 5 0 3 1; -#X connect 6 0 1 2; -#X connect 8 0 1 1; -#X connect 9 0 1 3; -#X connect 10 0 3 0; -#X connect 11 0 7 0; -#X coords 0 0 1 1 116 75 0; -#X restore 199 137 pd bounds; -#X text 153 137 Bounds; -#N canvas 0 0 304 224 send 0; -#X obj 197 153 send13 foo; -#X obj 207 103 r \$0-arr; -#X msg 207 123 set \$1; -#X obj 177 63 inlet; -#X obj 64 183 s \$0-command; -#X obj 64 133 drip; -#X msg 124 153 set; -#X obj 64 103 t a b; -#X msg 64 153 add2 \$1; -#X obj 124 123 loadbang; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 3 0 0 0; -#X connect 3 0 7 0; -#X connect 5 0 8 0; -#X connect 6 0 4 0; -#X connect 7 0 5 0; -#X connect 7 1 6 0; -#X connect 8 0 4 0; -#X connect 9 0 6 0; -#X restore 279 297 pd send; -#N canvas 595 204 275 570 x-label 0; -#X obj 130 279 r \$0-arrsize; -#X obj 96 499 prepent xlabel; -#X obj 42 39 - 1.2; -#X obj 96 479 prepent; -#X obj 61 299 expr $f2/$f1; -#X obj 56 399 serialize; -#X obj 22 340 until; -#X obj 73 369 +; -#X obj 46 369 0; -#X obj 61 329 t b f; -#X obj 61 349 0; -#X obj 42 249 t f f f; -#X obj 61 279 - 1; -#X obj 42 109 moses 2; -#X obj 42 89 r \$0-xlabel-wv; -#X obj 42 59 s \$0-xlabel-dist-i; -#X obj 42 19 loadbang; -#X obj 96 529 outlet; -#X obj 42 229 f; -#X obj 108 459 t b f; -#X obj 91 129 t b f; -#X obj 116 197 spigot 0; -#X obj 141 167 1; -#X obj 171 147 r \$0-arr; -#X msg 171 167 0; -#X obj 108 439 r \$0-xlabel-dist; -#X connect 0 0 4 1; -#X connect 1 0 17 0; -#X connect 2 0 15 0; -#X connect 3 0 1 0; -#X connect 4 0 9 0; -#X connect 5 0 3 0; -#X connect 6 0 8 0; -#X connect 7 0 8 1; -#X connect 8 0 7 0; -#X connect 8 0 5 0; -#X connect 9 0 10 0; -#X connect 9 1 7 1; -#X connect 10 0 8 1; -#X connect 11 0 6 0; -#X connect 11 1 12 0; -#X connect 11 2 5 1; -#X connect 12 0 4 0; -#X connect 13 1 20 0; -#X connect 14 0 13 0; -#X connect 16 0 2 0; -#X connect 18 0 11 0; -#X connect 19 0 21 0; -#X connect 19 1 3 1; -#X connect 20 0 22 0; -#X connect 20 1 18 0; -#X connect 21 0 18 0; -#X connect 22 0 21 1; -#X connect 23 0 24 0; -#X connect 24 0 21 1; -#X connect 25 0 19 0; -#X coords 0 0 1 1 195 60 0; -#X restore 199 217 pd x-label; -#X text 150 177 Y-label; -#X text 148 157 Y-ticks; -#N canvas 906 167 297 695 y-label 0; -#X obj 106 609 prepent; -#X obj 66 529 serialize; -#X obj 32 430 until; -#X obj 83 459 +; -#X obj 56 459 0; -#X obj 71 419 t b f; -#X obj 71 439 0; -#X obj 52 269 t f f f; -#X obj 71 369 - 1; -#X obj 52 109 moses 2; -#X obj 52 19 loadbang; -#X obj 106 659 outlet; -#X obj 52 59 s \$0-ylabel-dist-i; -#X obj 52 89 r \$0-ylabel-wv; -#X obj 118 569 r \$0-ylabel-dist; -#X obj 106 629 prepent ylabel; -#X obj 52 39 - 6; -#X obj 140 339 t b f; -#X obj 140 369 -; -#X obj 100 299 r \$0-bound-y; -#X obj 140 319 r \$0-bound-yy; -#X obj 81 489 r \$0-bound-yy; -#X obj 71 389 expr $f2/$f1; -#X obj 66 509 +; -#X obj 52 249 f; -#X obj 118 589 t b f; -#X obj 91 129 t b f; -#X obj 136 207 spigot 0; -#X obj 161 177 1; -#X obj 191 157 r \$0-arr; -#X msg 191 177 0; -#X connect 0 0 15 0; -#X connect 1 0 0 0; -#X connect 2 0 4 0; -#X connect 3 0 4 1; -#X connect 4 0 3 0; -#X connect 4 0 23 0; -#X connect 5 0 6 0; -#X connect 5 1 3 1; -#X connect 6 0 4 1; -#X connect 7 0 2 0; -#X connect 7 1 8 0; -#X connect 7 2 1 1; -#X connect 8 0 22 0; -#X connect 9 1 26 0; -#X connect 10 0 16 0; -#X connect 13 0 9 0; -#X connect 14 0 25 0; -#X connect 15 0 11 0; -#X connect 16 0 12 0; -#X connect 17 0 18 0; -#X connect 17 1 18 1; -#X connect 18 0 22 1; -#X connect 19 0 18 0; -#X connect 20 0 17 0; -#X connect 21 0 23 1; -#X connect 22 0 5 0; -#X connect 23 0 1 0; -#X connect 24 0 7 0; -#X connect 25 0 27 0; -#X connect 25 1 0 1; -#X connect 26 0 28 0; -#X connect 26 1 24 0; -#X connect 27 0 24 0; -#X connect 28 0 27 1; -#X connect 29 0 30 0; -#X connect 30 0 27 1; -#X coords 0 0 1 1 195 60 0; -#X restore 199 177 pd y-label; -#N canvas 524 614 293 249 y-ticks 0; -#X obj 133 126 /; -#X obj 133 96 t b f; -#X obj 105 166 pack f f f; -#X obj 162 146 expr 100/$f1; -#X obj 105 216 outlet; -#X obj 25 126 r \$0-ytick-send; -#X msg 105 186 yticks \$1 \$2 \$3; -#X obj 162 126 r \$0-ytick-prop; -#X obj 133 76 r \$0-ytick-div; -#X obj 93 56 t b f; -#X obj 93 86 -; -#X obj 53 16 r \$0-bound-y; -#X obj 93 36 r \$0-bound-yy; -#X connect 0 0 2 1; -#X connect 1 0 0 0; -#X connect 1 1 0 1; -#X connect 2 0 6 0; -#X connect 3 0 2 2; -#X connect 5 0 2 0; -#X connect 6 0 4 0; -#X connect 7 0 3 0; -#X connect 8 0 1 0; -#X connect 9 0 10 0; -#X connect 9 1 10 1; -#X connect 10 0 0 0; -#X connect 11 0 10 0; -#X connect 12 0 9 0; -#X coords 0 0 1 1 201 75 0; -#X restore 199 157 pd y-ticks; -#X obj 14 338 r \$0-f-writ; -#X msg 14 358 \; pd-function-writer vis 1; -#X msg 14 298 \; pd-segment-draw vis 1; -#X obj 14 278 r \$0-s-draw; -#X obj 15 179 moses 1; -#X obj 279 317 dsp01 1; -#X text 18 434 adicionar toggle para com/sem wraparound.; -#X obj 456 89 inlet; -#X connect 0 0 35 0; -#X connect 1 0 45 0; -#X connect 2 0 35 0; -#X connect 3 0 6 0; -#X connect 3 0 7 0; -#X connect 4 0 5 0; -#X connect 5 0 3 0; -#X connect 6 0 8 0; -#X connect 9 0 0 0; -#X connect 12 0 16 0; -#X connect 13 0 14 0; -#X connect 14 0 12 0; -#X connect 15 0 12 0; -#X connect 18 0 17 0; -#X connect 19 0 20 0; -#X connect 20 0 18 0; -#X connect 22 0 35 0; -#X connect 24 0 22 0; -#X connect 24 0 26 0; -#X connect 26 0 25 0; -#X connect 27 0 29 0; -#X connect 29 0 35 0; -#X connect 30 0 35 0; -#X connect 33 0 35 0; -#X connect 36 0 35 0; -#X connect 39 0 35 0; -#X connect 40 0 35 0; -#X connect 41 0 42 0; -#X connect 44 0 43 0; -#X connect 45 1 2 0; -#X connect 45 1 7 0; -#X connect 48 0 26 0; -#X restore 32 695 pd inside; -#X obj 290 310 cnv 15 100 100 empty empty empty 20 12 0 14 -191407 --66577 0; -#X floatatom 307 367 5 0 0 0 - #0-bound-x-i #0-bound-x; -#X floatatom 327 347 5 0 0 0 - #0-bound-y-i #0-bound-y; -#X floatatom 347 367 5 0 0 0 - #0-bound-xx-i #0-bound-xx; -#X floatatom 327 387 5 0 0 0 - #0-bound-yy-i #0-bound-yy; -#X text 294 312 Graphic bounds; -#X text 293 365 X; -#X text 328 328 Y; -#X obj 307 347 bng 13 250 50 0 \$0-bound-send \$0-bound-send-i empty -17 7 0 10 -228856 -1 -1; -#X obj 12 398 cnv 15 265 65 empty empty empty 20 12 0 14 -191407 -66577 -0; -#X floatatom 17 418 5 2 100000 0 - #0-xlabel-wv-i #0-xlabel-wv; -#X text 108 418 How many numbers in total; -#X floatatom 17 438 6 0 0 0 - #0-xlabel-dist-i #0-xlabel-dist; -#X text 108 438 Distance (as y value); -#X obj 12 310 cnv 15 265 80 empty empty empty 20 12 0 14 -191407 -66577 -0; -#X floatatom 18 329 5 0 0 0 - #0-xtick-div-i #0-xtick-div; -#X floatatom 18 349 5 0 0 0 - #0-xtick-prop-i #0-xtick-prop; -#X obj 25 369 bng 14 250 50 0 \$0-xtick-send \$0-xtick-send-i empty -17 7 0 10 -228856 -1 -1; -#X text 108 369 Send format; -#X text 108 349 Proportion of big ticks (%); -#X text 108 329 How many divisions in total; -#X obj 11 186 cnv 15 135 25 empty empty empty 20 12 0 14 -191407 -66577 -0; -#X floatatom 15 191 5 0 0 0 - #0-norml-i #0-norml; -#X text 50 191 Normalize to x; -#X obj 197 151 cnv 15 115 60 empty empty empty 20 12 0 14 -191407 -66577 -0; -#X floatatom 202 189 10 0 0 0 - #0-ind_t-i #0-ind_t; -#X text 199 150 Index test; -#X text 268 169 Index; -#X text 268 188 Value; -#X obj 12 216 cnv 15 170 25 empty empty empty 20 12 0 14 -191407 -66577 -0; -#X floatatom 16 221 5 0 0 0 - #0-const-i #0-const; -#X text 51 221 Set a constant value; -#X obj 11 156 cnv 15 145 25 empty empty empty 20 12 0 14 -191407 -66577 -0; -#X floatatom 15 160 10 0 0 0 - #0-resize-i #0-resize; -#X text 82 160 Size/Resize; -#X obj 71 52 cnv 15 260 60 empty empty empty 20 12 0 14 -241339 -66577 -0; -#X symbolatom 144 61 30 0 0 0 - #0-arr-i #0-arr; -#X symbolatom 144 89 30 0 0 0 - #0-rename-i #0-rename; -#X text 74 89 Rename it; -#X text 74 61 Array name; -#X obj 117 8 cnv 15 160 30 empty empty ARRAY-EDITOR 8 16 0 20 -191407 --33289 0; -#X obj 12 255 cnv 15 60 20 empty empty Display 5 11 0 12 -191407 -33289 -0; -#X obj 202 169 nbx 5 16 0 119 0 0 \$0-ind_i \$0-ind_i-i empty 0 -8 -0 10 -228856 -1 -1 0 256; -#X obj 12 495 r \$0-command; -#X msg 12 515; -#X floatatom 68 329 5 0 0 0 - #0-ytick-div-i #0-ytick-div; -#X floatatom 68 349 5 0 0 0 - #0-ytick-prop-i #0-ytick-prop; -#X obj 75 369 bng 14 250 50 0 \$0-ytick-send \$0-ytick-send-i empty -17 7 0 10 -228856 -1 -1; -#X floatatom 67 418 5 2 100000 0 - #0-ylabel-wv-i #0-ylabel-wv; -#X floatatom 67 438 6 0 0 0 - #0-ylabel-dist-i #0-ylabel-dist; -#X text 23 310 X / Y Ticks; -#X text 25 398 X / Y Label; -#N canvas 505 36 496 590 function-writer 0; -#X obj 27 231 tabwrite~ \$1; -#X obj 27 122 bng 15 250 50 0 empty empty Calculate 21 8 0 12 -228856 --1 -1; -#X text 15 51 1 - Edit your formula below; -#X text 13 330 Some formula examples:; -#X text 17 398 - descending line; -#X obj 139 379 expr~ $v1; -#X obj 139 399 expr~ 1-$v1; -#X obj 139 439 expr~ pow($v1 \, .5); -#X text 17 438 - logarithmic line; -#X text 17 418 - exponential line; -#X obj 139 419 expr~ pow($v1 \, 2); -#X text 13 350 Lines; -#X floatatom 279 150 5 0 0 0 - - -; -#X text 14 8 The function writer writes a funcion in your array. It -analyses the sample rate and arraysize \, so that the wave fits perfectly -with the array. To create a new waveform:; -#X text 131 103 Edit your formula here \, or copy-paste from the ones -below. The number field is to connect with the gaussian formula \, -or with any formulas that need extra argument(s).; -#N canvas 0 0 450 372 calc 0; -#X obj 187 38 inlet; -#X obj 226 78 samplerate~; -#X obj 127 278 r \$0-arr; -#X obj 197 298 phasor~; -#X obj 226 238 /; -#X msg 127 298 set \$1; -#X obj 206 258 0; -#X obj 241 98 r \$0-arrsize; -#X obj 187 58 t a b b; -#X obj 187 338 outlet; -#X obj 197 318 outlet~; -#X obj 241 218 +; -#X obj 256 118 r \$0-wrapar; -#X obj 256 138 * -1; -#X obj 241 188 f; -#X obj 256 158 t b f; -#X connect 0 0 8 0; -#X connect 1 0 4 0; -#X connect 2 0 5 0; -#X connect 3 0 10 0; -#X connect 4 0 3 0; -#X connect 5 0 9 0; -#X connect 6 0 3 1; -#X connect 7 0 14 0; -#X connect 8 0 9 0; -#X connect 8 1 6 0; -#X connect 8 2 1 0; -#X connect 11 0 4 1; -#X connect 12 0 13 0; -#X connect 13 0 15 0; -#X connect 14 0 11 0; -#X connect 15 0 14 0; -#X connect 15 1 11 1; -#X restore 27 140 pd calc; -#X text 70 543 If there's any function that you think should be here -\, tell me about it at jmmmpais@googlemail.com; -#N canvas 0 0 685 457 (subpatch) 0; -#X array array2 120 float 0; -#X coords 0 1 119 0 120 90 1; -#X restore 311 354 graph; -#X obj 286 292 s \$0-arr-i; -#X text 50 254 To try out the waveforms below \, first choose this -array as the array to be edited by clicking on:; -#X msg 286 272 symbol array2; -#X text 15 71 2 - Bang "Calculate"; -#X text 16 378 - ascending line; -#N canvas 232 298 502 383 panning-curves 0; -#X obj 380 12 switch~ 0; -#X text 17 138 - simple (triangular); -#X text 12 19 Panning curves; -#X obj 149 139 expr~ 1-$v1; -#X text 11 80 Some curves need the Wraparound option \, so that the -final value is as close as possible.; -#X obj 149 159 expr~ pow(1-$v1 \, .5); -#X text 17 158 - square root; -#X obj 149 179 expr~ cos($v1*0.5*3.14159); -#X text 17 178 - sinus; -#X obj 149 199 expr~ ((sqrt(2)/2) * (cos(($v1) * (4 * atan(1)) - (4 -* atan(1)/2)) - sin(($v1) * (4 * atan(1)) - (4 * atan(1)/2))))*0.5+0.5 -; -#X text 16 198 - "equal power"; -#X text 11 40 These curves are for the left side. To get the right -side value \, just read the table at the mirror point: [arraysize]-[index]-1. -; -#X text 17 328 Formulas taken from Csound Ezine/Jamie Bullock \, Georg -Holzmann.; -#X obj 149 265 expr~ (cos($v1)-sin($v1))*(sqrt(2)/2); -#X obj 149 245 expr~ ($v1*3.14159/2)-3.14159/4; -#X text 16 245 - tangent law; -#X connect 14 0 13 0; -#X restore 23 478 pd panning-curves; -#N canvas 148 141 450 259 trigonometry/windowing 0; -#X text 17 48 - sine wave; -#X obj 139 49 expr~ sin($v1*3.14159*2); -#X obj 139 89 expr~ 0.5*(1-cos($v1*3.14159*2)); -#X text 17 68 - cosine window; -#X obj 139 69 expr~ sin($v1*3.14159); -#X obj 139 109 expr~ 0.53836-0.46164*cos($v1*3.14159*2); -#X text 17 108 - hamming window; -#X text 17 88 - hanning window; -#X text 17 128 - connes window; -#X obj 139 129 expr~ pow(1-pow($v1*2-1 \, 2) \, 2); -#X obj 139 149 expr~ 1-abs($v1*2-1); -#X text 17 148 - welch window; -#X text 17 168 - gaussian window; -#X obj 137 170 expr~ pow(2 \, pow((($v1*2-1)/$f2) \, 2)*-1); -#X text 17 208 - lanczos window; -#X obj 139 209 expr~ sin(($v1*2-1)*3.14159)/(($v1*2-1)*3.14159); -#X text 12 19 Trigonometry/Windowing formulas; -#X obj 380 12 switch~ 0; -#X text 134 188 (0 < $f2 < 1); -#X restore 23 508 pd trigonometry/windowing; -#X obj 67 181 expr~ pow(2 \, pow((($v1*2-1)/$f2) \, 2)*-1); -#X connect 1 0 15 0; -#X connect 12 0 25 1; -#X connect 15 0 0 0; -#X connect 15 1 25 0; -#X connect 20 0 18 0; -#X connect 25 0 0 0; -#X restore 32 639 pd function-writer; -#X obj 12 128 cnv 15 60 20 empty empty Basic 5 11 0 12 -191407 -33289 -0; -#X text 12 277 Attention: to edit the Y fields \, you must first define -the Y values in Graphic Bounds.; -#N canvas 266 36 411 747 segment-draw 0; -#X msg 75 356 0 0 \, -1.5 15 \, 1 50 \, 0.75 75 \, 0 100; -#X text 11 528 relative index: 0%-100%; -#N canvas 545 59 692 802 segment-function-draw 0; -#X obj 173 33 inlet; -#X obj 92 133 r \$0-arrsize; -#X obj 77 153 *; -#X obj 77 113 * 0.01; -#X obj 344 21 inlet; -#X text 168 9 relativ; -#X text 389 16 absolut; -#X obj 77 173 i; -#X obj 219 573 samplerate~; -#X obj 69 682 r \$0-arr; -#X obj 219 593 /; -#X msg 69 702 set \$1; -#X obj 189 644 0; -#X obj 143 293 -; -#X obj 158 273 f; -#X obj 143 243 t f f b; -#X msg 130 583 start \$1; -#X obj 170 553 t f b b; -#X obj 77 193 t f f; -#X obj 27 283 moses; -#X obj 54 263 r \$0-arrsize; -#X obj 104 213 moses 1; -#X obj 152 682 phasor~; -#X obj 130 772 tabwrite~ \$1; -#X obj 295 627 del; -#X obj 295 607 * 1.01; -#N canvas 77 335 450 302 blocksize 0; -#X obj 174 211 outlet; -#X obj 164 31 inlet; -#X obj 164 51 samplerate~; -#X obj 174 171 /; -#X obj 174 191 * 1000; -#X obj 179 121 iem_blocksize~; -#X obj 164 141 f; -#X obj 164 71 t b f; -#X obj 179 101 sig~; -#X connect 1 0 2 0; -#X connect 2 0 7 0; -#X connect 3 0 4 0; -#X connect 4 0 0 0; -#X connect 5 0 6 1; -#X connect 6 0 3 0; -#X connect 7 0 6 0; -#X connect 7 1 3 1; -#X connect 8 0 5 0; -#X restore 295 587 pd blocksize; -#X obj 219 613 t b f; -#X obj 179 83 swap; -#X obj 151 742 +~; -#X text 327 629 each segment is written after a delay of 1 block. maybe -not the best way \, but the only one using ~ ?; -#X obj 152 722 *~; -#X obj 170 493 textfile; -#X obj 310 155 f; -#X obj 275 238 route list; -#X obj 275 208 list prepend; -#X obj 344 188 spigot 0; -#X msg 374 168 0; -#X msg 404 168 1; -#X obj 275 125 t f b f b; -#X obj 275 258 unpack; -#X obj 304 318 -; -#X obj 294 298 f; -#X obj 275 278 t f b f; -#X obj 170 443 prepent add; -#X msg 104 473 clear; -#X msg 205 467 rewind \, bang; -#X obj 143 373 swap; -#X obj 143 353 pack; -#X obj 205 139 t b b b; -#X obj 143 403 pack f f f f f; -#X obj 170 523 unpack f f f f f; -#X obj 173 53 zexy/unpack f f f; -#X obj 254 413 0; -#X obj 143 423 t b a; -#X obj 152 702 expr~ pow($v1 \, exp($f2*5*log(2))); -#X text 280 523 dauer \, anfangspunkt \, anfangswert \, skalierung -\, exp-curve; -#X obj 350 71 swap; -#X obj 344 41 zexy/unpack f f f; -#X msg 323 471 print; -#X connect 0 0 52 0; -#X connect 1 0 2 1; -#X connect 2 0 7 0; -#X connect 3 0 2 0; -#X connect 4 0 58 0; -#X connect 7 0 18 0; -#X connect 8 0 10 0; -#X connect 9 0 11 0; -#X connect 10 0 27 0; -#X connect 11 0 23 0; -#X connect 12 0 22 1; -#X connect 13 0 48 0; -#X connect 14 0 13 1; -#X connect 15 0 13 0; -#X connect 15 1 14 1; -#X connect 15 2 14 0; -#X connect 16 0 23 0; -#X connect 17 0 16 0; -#X connect 17 1 12 0; -#X connect 17 2 8 0; -#X connect 18 0 19 0; -#X connect 18 1 21 0; -#X connect 19 0 48 1; -#X connect 19 1 49 0; -#X connect 20 0 19 1; -#X connect 21 0 14 1; -#X connect 21 0 45 0; -#X connect 21 1 15 0; -#X connect 22 0 55 0; -#X connect 24 0 32 0; -#X connect 25 0 24 0; -#X connect 26 0 25 0; -#X connect 27 0 26 0; -#X connect 27 1 22 0; -#X connect 28 0 3 0; -#X connect 28 1 39 0; -#X connect 29 0 23 0; -#X connect 31 0 29 0; -#X connect 32 0 51 0; -#X connect 33 0 36 0; -#X connect 34 0 40 0; -#X connect 35 0 34 0; -#X connect 36 0 35 1; -#X connect 37 0 36 1; -#X connect 38 0 36 1; -#X connect 39 0 35 0; -#X connect 39 1 38 0; -#X connect 39 2 33 1; -#X connect 39 3 33 0; -#X connect 40 0 43 0; -#X connect 40 1 42 1; -#X connect 41 0 50 3; -#X connect 42 0 41 0; -#X connect 43 0 50 2; -#X connect 43 1 42 0; -#X connect 43 2 41 1; -#X connect 44 0 32 0; -#X connect 45 0 32 0; -#X connect 46 0 32 0; -#X connect 47 0 50 0; -#X connect 47 1 50 1; -#X connect 48 0 47 0; -#X connect 49 0 46 0; -#X connect 49 1 35 1; -#X connect 49 2 37 0; -#X connect 50 0 54 0; -#X connect 51 0 17 0; -#X connect 51 1 10 1; -#X connect 51 2 29 1; -#X connect 51 3 31 1; -#X connect 51 4 55 1; -#X connect 52 0 28 0; -#X connect 52 1 28 1; -#X connect 52 2 50 4; -#X connect 53 0 50 4; -#X connect 54 0 53 0; -#X connect 54 1 44 0; -#X connect 55 0 31 0; -#X connect 57 0 18 0; -#X connect 57 1 39 0; -#X connect 58 0 57 0; -#X connect 58 1 57 1; -#X connect 58 2 50 4; -#X connect 59 0 32 0; -#X restore 45 509 pd segment-function-draw; -#X msg 55 316 0 0 \, 1 50 \, 0 100; -#X text 20 196 Attention: You must always define an array completely -\, from the first to last indexes (be it in relative or absolute indexes). -; -#X text 181 529 absolute index: 0-arraysize; -#X text 27 692 Note: Each segment is written after a 1-block delay. -If you're thinking about using this tool for live audio \, make sure -you don't get side effects due to this technique.; -#X text 21 87 - index Value; -#X text 21 107 - duration - in percentage of total duration (left inlet) -or in absolute indexes (right inlet); -#X text 20 56 Segment draw: Define each breakpoint with 2 or 3 indexes. -Each breakpoint is separated by commas:; -#N canvas 0 0 668 457 (subpatch) 0; -#X array array1 120 float 0; -#X coords 0 1 119 -1 120 90 1; -#X restore 145 581 graph; -#X obj 256 282 s \$0-arr-i; -#X msg 256 262 symbol array1; -#X obj 147 21 cnv 15 95 20 empty empty Segment-draw 5 11 0 12 -191407 --33289 0; -#X text 21 138 - curve steppness [-1 to 1]: 0 or missing for a straight -line. 0 to 1 for exponential curve \, -1 to 0 for logarithmic curve. -; -#X text 164 315 normal wave; -#X msg 64 336 0 0 \, 1 50 0.15 \, 0 100 -0.15; -#X text 236 335 same wave \, but curved; -#X text 20 244 To try out the waveforms below \, first choose this -array as the array to be edited by clicking on:; -#X text 83 376 more complex example; -#X msg 164 433 0 0 \, 1 60 \, 0 120; -#X msg 174 453 0 0 \, 1 60 0.15 \, 0 120 -0.15; -#X msg 185 473 0 0 \, -1.5 18 \, 1 60 \, 0.75 90 \, 0 120; -#X text 93 413 Same examples as above \, with absolute coordinates -; -#X connect 0 0 2 0; -#X connect 3 0 2 0; -#X connect 12 0 11 0; -#X connect 16 0 2 0; -#X connect 20 0 2 1; -#X connect 21 0 2 1; -#X connect 22 0 2 1; -#X restore 32 596 pd segment-draw; -#X obj 12 640 bng 15 250 50 0 \$0-f-writ \$0-f-writ-i empty 17 7 0 -10 -228856 -1 -1; -#X obj 12 597 bng 15 250 50 0 \$0-s-draw \$0-s-draw-i empty 17 7 0 -10 -228856 -1 -1; -#X text 32 576 Draw a wave shape through break points; -#X text 32 619 Define a wave shape through its function; -#X obj 12 549 cnv 15 100 20 empty empty Ploting.tools 5 11 0 12 -191407 --33289 0; -#X text 94 685 (where everything works); -#X text 12 474 You can copy the commands and paste them in your patch: -; -#X obj 32 675 inlet; -#N canvas 0 0 426 446 license 0; -#X text 8 47 All rights reserved.; -#X text 8 227 The names of its contributors may not be used to endorse -or promote products derived from this software without specific prior -written permission.; -#X text 8 87 Redistribution and use in source and binary forms \, with -or without modification \, are permitted provided that the following -conditions are met:; -#X text 8 127 Redistributions of source code must retain the above -copyright notice \, this list of conditions and the following disclaimer. -; -#X text 8 297 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES \, INCLUDING -\, BUT NOT LIMITED TO \, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT \, INDIRECT -\, INCIDENTAL \, SPECIAL \, EXEMPLARY \, OR CONSEQUENTIAL DAMAGES (INCLUDING -\, BUT NOT LIMITED TO \, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES -; -#X text 8 167 Redistributions in binary form must reproduce the above -copyright notice \, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the distribution. -; -#X text 8 27 jmmmpais@googlemail.com; -#X text 8 7 Copyright 2006 \, Joćo Pais; -#X restore 32 724 pd license; -#X text 99 724 (C) 2009 Joćo Pais - jmmmpais@googlemail.com; -#X obj 197 216 cnv 15 187 25 empty empty empty 20 12 0 14 -191407 -66577 -0; -#X obj 202 221 tgl 15 0 \$0-wrapar \$0-wrapar-i empty 17 7 0 10 -228856 --1 -1 0 1; -#X text 221 220 Wraparound (last index ~0); -#X connect 44 0 45 0; -#X connect 64 0 0 0; +#N canvas 68 28 402 755 10; +#N canvas 202 330 639 485 inside 0; +#X msg 287 128 const \$1; +#X obj 15 159 r \$0-resize; +#X msg 64 199 resize \$1; +#X obj 15 68 arraysize; +#X obj 15 28 r \$0-arr; +#X msg 15 48 set \$1 \, bang; +#X msg 15 98 set \$1; +#X obj 89 97 s \$0-arrsize; +#X obj 15 119 s \$0-resize-i; +#X obj 287 108 r \$0-const; +#X text 21 9 Resize; +#X text 293 86 Constant; +#X obj 531 104 tabread; +#X obj 541 64 r \$0-arr; +#X msg 541 84 set \$1; +#X obj 531 34 r \$0-ind_i; +#X obj 531 124 s \$0-ind_t-i; +#X obj 531 214 s \$0-ind_i-i; +#X msg 531 194 range 0 \$1; +#X obj 531 154 r \$0-arrsize; +#X obj 531 174 - 1; +#X text 532 12 Index test; +#X msg 436 59 rename \$1; +#X text 445 18 Rename; +#X obj 436 39 r \$0-rename; +#X obj 446 179 s \$0-arr-i; +#X msg 446 159 symbol \$1; +#X obj 287 38 r \$0-norml; +#X text 293 16 Normalize; +#X msg 287 58 normalize \$1; +#N canvas 335 713 293 221 x-ticks 0; +#X obj 103 16 r \$0-arrsize; +#X obj 143 86 /; +#X obj 143 56 t b f; +#X obj 115 126 pack f f f; +#X obj 172 106 expr 100/$f1; +#X obj 115 176 outlet; +#X obj 143 36 r \$0-xtick-div; +#X obj 172 86 r \$0-xtick-prop; +#X obj 35 86 r \$0-xtick-send; +#X msg 115 146 xticks \$1 \$2 \$3; +#X connect 0 0 1 0; +#X connect 1 0 3 1; +#X connect 2 0 1 0; +#X connect 2 1 1 1; +#X connect 3 0 9 0; +#X connect 4 0 3 2; +#X connect 6 0 2 0; +#X connect 7 0 4 0; +#X connect 8 0 3 0; +#X connect 9 0 5 0; +#X coords 0 0 1 1 201 75 0; +#X restore 199 197 pd x-ticks; +#X text 150 197 X-ticks; +#X text 150 217 X-label; +#N canvas 274 695 314 213 bounds 0; +#X msg 41 142 bounds \$1 \$2 \$3 \$4; +#X obj 41 122 pack f f f f; +#X obj 193 125 r \$0-arrsize; +#X obj 34 62 f; +#X obj 41 172 outlet; +#X obj 49 42 r \$0-bound-x; +#X obj 87 82 r \$0-bound-xx; +#X obj 193 165 s \$0-bound-xx-i; +#X obj 64 62 r \$0-bound-y; +#X obj 110 102 r \$0-bound-yy; +#X obj 34 22 r \$0-bound-send; +#X obj 193 145 - 1; +#X connect 0 0 4 0; +#X connect 1 0 0 0; +#X connect 2 0 11 0; +#X connect 3 0 1 0; +#X connect 5 0 3 1; +#X connect 6 0 1 2; +#X connect 8 0 1 1; +#X connect 9 0 1 3; +#X connect 10 0 3 0; +#X connect 11 0 7 0; +#X coords 0 0 1 1 116 75 0; +#X restore 199 137 pd bounds; +#X text 153 137 Bounds; +#N canvas 0 0 304 224 send 0; +#X obj 197 153 send13 foo; +#X obj 207 103 r \$0-arr; +#X msg 207 123 set \$1; +#X obj 177 63 inlet; +#X obj 64 183 s \$0-command; +#X obj 64 133 drip; +#X msg 124 153 set; +#X obj 64 103 t a b; +#X msg 64 153 add2 \$1; +#X obj 124 123 loadbang; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 3 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 4 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 4 0; +#X connect 9 0 6 0; +#X restore 279 297 pd send; +#N canvas 595 204 275 570 x-label 0; +#X obj 130 279 r \$0-arrsize; +#X obj 96 499 prepent xlabel; +#X obj 42 39 - 1.2; +#X obj 96 479 prepent; +#X obj 61 299 expr $f2/$f1; +#X obj 56 399 serialize; +#X obj 22 340 until; +#X obj 73 369 +; +#X obj 46 369 0; +#X obj 61 329 t b f; +#X obj 61 349 0; +#X obj 42 249 t f f f; +#X obj 61 279 - 1; +#X obj 42 109 moses 2; +#X obj 42 89 r \$0-xlabel-wv; +#X obj 42 59 s \$0-xlabel-dist-i; +#X obj 42 19 loadbang; +#X obj 96 529 outlet; +#X obj 42 229 f; +#X obj 108 459 t b f; +#X obj 91 129 t b f; +#X obj 116 197 spigot 0; +#X obj 141 167 1; +#X obj 171 147 r \$0-arr; +#X msg 171 167 0; +#X obj 108 439 r \$0-xlabel-dist; +#X connect 0 0 4 1; +#X connect 1 0 17 0; +#X connect 2 0 15 0; +#X connect 3 0 1 0; +#X connect 4 0 9 0; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 7 0 8 1; +#X connect 8 0 7 0; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 9 1 7 1; +#X connect 10 0 8 1; +#X connect 11 0 6 0; +#X connect 11 1 12 0; +#X connect 11 2 5 1; +#X connect 12 0 4 0; +#X connect 13 1 20 0; +#X connect 14 0 13 0; +#X connect 16 0 2 0; +#X connect 18 0 11 0; +#X connect 19 0 21 0; +#X connect 19 1 3 1; +#X connect 20 0 22 0; +#X connect 20 1 18 0; +#X connect 21 0 18 0; +#X connect 22 0 21 1; +#X connect 23 0 24 0; +#X connect 24 0 21 1; +#X connect 25 0 19 0; +#X coords 0 0 1 1 195 60 0; +#X restore 199 217 pd x-label; +#X text 150 177 Y-label; +#X text 148 157 Y-ticks; +#N canvas 906 167 297 695 y-label 0; +#X obj 106 609 prepent; +#X obj 66 529 serialize; +#X obj 32 430 until; +#X obj 83 459 +; +#X obj 56 459 0; +#X obj 71 419 t b f; +#X obj 71 439 0; +#X obj 52 269 t f f f; +#X obj 71 369 - 1; +#X obj 52 109 moses 2; +#X obj 52 19 loadbang; +#X obj 106 659 outlet; +#X obj 52 59 s \$0-ylabel-dist-i; +#X obj 52 89 r \$0-ylabel-wv; +#X obj 118 569 r \$0-ylabel-dist; +#X obj 106 629 prepent ylabel; +#X obj 52 39 - 6; +#X obj 140 339 t b f; +#X obj 140 369 -; +#X obj 100 299 r \$0-bound-y; +#X obj 140 319 r \$0-bound-yy; +#X obj 81 489 r \$0-bound-yy; +#X obj 71 389 expr $f2/$f1; +#X obj 66 509 +; +#X obj 52 249 f; +#X obj 118 589 t b f; +#X obj 91 129 t b f; +#X obj 136 207 spigot 0; +#X obj 161 177 1; +#X obj 191 157 r \$0-arr; +#X msg 191 177 0; +#X connect 0 0 15 0; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 3 0; +#X connect 4 0 23 0; +#X connect 5 0 6 0; +#X connect 5 1 3 1; +#X connect 6 0 4 1; +#X connect 7 0 2 0; +#X connect 7 1 8 0; +#X connect 7 2 1 1; +#X connect 8 0 22 0; +#X connect 9 1 26 0; +#X connect 10 0 16 0; +#X connect 13 0 9 0; +#X connect 14 0 25 0; +#X connect 15 0 11 0; +#X connect 16 0 12 0; +#X connect 17 0 18 0; +#X connect 17 1 18 1; +#X connect 18 0 22 1; +#X connect 19 0 18 0; +#X connect 20 0 17 0; +#X connect 21 0 23 1; +#X connect 22 0 5 0; +#X connect 23 0 1 0; +#X connect 24 0 7 0; +#X connect 25 0 27 0; +#X connect 25 1 0 1; +#X connect 26 0 28 0; +#X connect 26 1 24 0; +#X connect 27 0 24 0; +#X connect 28 0 27 1; +#X connect 29 0 30 0; +#X connect 30 0 27 1; +#X coords 0 0 1 1 195 60 0; +#X restore 199 177 pd y-label; +#N canvas 524 614 293 249 y-ticks 0; +#X obj 133 126 /; +#X obj 133 96 t b f; +#X obj 105 166 pack f f f; +#X obj 162 146 expr 100/$f1; +#X obj 105 216 outlet; +#X obj 25 126 r \$0-ytick-send; +#X msg 105 186 yticks \$1 \$2 \$3; +#X obj 162 126 r \$0-ytick-prop; +#X obj 133 76 r \$0-ytick-div; +#X obj 93 56 t b f; +#X obj 93 86 -; +#X obj 53 16 r \$0-bound-y; +#X obj 93 36 r \$0-bound-yy; +#X connect 0 0 2 1; +#X connect 1 0 0 0; +#X connect 1 1 0 1; +#X connect 2 0 6 0; +#X connect 3 0 2 2; +#X connect 5 0 2 0; +#X connect 6 0 4 0; +#X connect 7 0 3 0; +#X connect 8 0 1 0; +#X connect 9 0 10 0; +#X connect 9 1 10 1; +#X connect 10 0 0 0; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X coords 0 0 1 1 201 75 0; +#X restore 199 157 pd y-ticks; +#X obj 14 338 r \$0-f-writ; +#X msg 14 358 \; pd-function-writer vis 1; +#X msg 14 298 \; pd-segment-draw vis 1; +#X obj 14 278 r \$0-s-draw; +#X obj 15 179 moses 1; +#X obj 279 317 dsp01 1; +#X text 18 434 adicionar toggle para com/sem wraparound.; +#X obj 327 349 inlet; +#X obj 382 139 symbol \$1; +#X obj 382 119 loadbang; +#X obj 327 409 s \$0-segrel; +#X obj 327 369 route segrel segabs; +#X obj 382 389 s \$0-segabs; +#X text 285 390 FUNKTIONIERT NICHT \, DIE " \, " MACHEN MEHRERE NACHRICHTEN +; +#X connect 0 0 35 0; +#X connect 1 0 45 0; +#X connect 2 0 35 0; +#X connect 3 0 6 0; +#X connect 3 0 7 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 6 0 8 0; +#X connect 9 0 0 0; +#X connect 12 0 16 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 15 0 12 0; +#X connect 18 0 17 0; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 22 0 35 0; +#X connect 24 0 22 0; +#X connect 24 0 26 0; +#X connect 26 0 25 0; +#X connect 27 0 29 0; +#X connect 29 0 35 0; +#X connect 30 0 35 0; +#X connect 33 0 35 0; +#X connect 36 0 35 0; +#X connect 39 0 35 0; +#X connect 40 0 35 0; +#X connect 41 0 42 0; +#X connect 44 0 43 0; +#X connect 45 1 2 0; +#X connect 45 1 7 0; +#X connect 48 0 52 0; +#X connect 49 0 25 0; +#X connect 50 0 49 0; +#X connect 52 0 51 0; +#X connect 52 1 53 0; +#X connect 52 2 26 0; +#X restore 32 695 pd inside; +#X obj 290 310 cnv 15 100 100 empty empty empty 20 12 0 14 -191407 +-66577 0; +#X floatatom 307 367 5 0 0 0 - #0-bound-x-i #0-bound-x; +#X floatatom 327 347 5 0 0 0 - #0-bound-y-i #0-bound-y; +#X floatatom 347 367 5 0 0 0 - #0-bound-xx-i #0-bound-xx; +#X floatatom 327 387 5 0 0 0 - #0-bound-yy-i #0-bound-yy; +#X text 294 312 Graphic bounds; +#X text 293 365 X; +#X text 328 328 Y; +#X obj 307 347 bng 13 250 50 0 \$0-bound-send \$0-bound-send-i empty +17 7 0 10 -228856 -1 -1; +#X obj 12 398 cnv 15 265 65 empty empty empty 20 12 0 14 -191407 -66577 +0; +#X floatatom 17 418 5 2 100000 0 - #0-xlabel-wv-i #0-xlabel-wv; +#X text 108 418 How many numbers in total; +#X floatatom 17 438 6 0 0 0 - #0-xlabel-dist-i #0-xlabel-dist; +#X text 108 438 Distance (as y value); +#X obj 12 310 cnv 15 265 80 empty empty empty 20 12 0 14 -191407 -66577 +0; +#X floatatom 18 329 5 0 0 0 - #0-xtick-div-i #0-xtick-div; +#X floatatom 18 349 5 0 0 0 - #0-xtick-prop-i #0-xtick-prop; +#X obj 25 369 bng 14 250 50 0 \$0-xtick-send \$0-xtick-send-i empty +17 7 0 10 -228856 -1 -1; +#X text 108 369 Send format; +#X text 108 349 Proportion of big ticks (%); +#X text 108 329 How many divisions in total; +#X obj 11 186 cnv 15 135 25 empty empty empty 20 12 0 14 -191407 -66577 +0; +#X floatatom 15 191 5 0 0 0 - #0-norml-i #0-norml; +#X text 50 191 Normalize to x; +#X obj 197 151 cnv 15 115 60 empty empty empty 20 12 0 14 -191407 -66577 +0; +#X floatatom 202 189 10 0 0 0 - #0-ind_t-i #0-ind_t; +#X text 199 150 Index test; +#X text 268 169 Index; +#X text 268 188 Value; +#X obj 12 216 cnv 15 170 25 empty empty empty 20 12 0 14 -191407 -66577 +0; +#X floatatom 16 221 5 0 0 0 - #0-const-i #0-const; +#X text 51 221 Set a constant value; +#X obj 11 156 cnv 15 145 25 empty empty empty 20 12 0 14 -191407 -66577 +0; +#X floatatom 15 160 10 0 0 0 - #0-resize-i #0-resize; +#X text 82 160 Size/Resize; +#X obj 71 52 cnv 15 260 60 empty empty empty 20 12 0 14 -241339 -66577 +0; +#X symbolatom 144 61 30 0 0 0 - #0-arr-i #0-arr; +#X symbolatom 144 89 30 0 0 0 - #0-rename-i #0-rename; +#X text 74 89 Rename it; +#X text 74 61 Array name; +#X obj 117 8 cnv 15 160 30 empty empty ARRAY-EDITOR 8 16 0 20 -191407 +-33289 0; +#X obj 12 255 cnv 15 60 20 empty empty Display 5 11 0 12 -191407 -33289 +0; +#X obj 202 169 nbx 5 16 0 99 0 0 \$0-ind_i \$0-ind_i-i empty 0 -8 0 +10 -228856 -1 -1 0 256; +#X obj 12 495 r \$0-command; +#X msg 12 515; +#X floatatom 68 329 5 0 0 0 - #0-ytick-div-i #0-ytick-div; +#X floatatom 68 349 5 0 0 0 - #0-ytick-prop-i #0-ytick-prop; +#X obj 75 369 bng 14 250 50 0 \$0-ytick-send \$0-ytick-send-i empty +17 7 0 10 -228856 -1 -1; +#X floatatom 67 418 5 2 100000 0 - #0-ylabel-wv-i #0-ylabel-wv; +#X floatatom 67 438 6 0 0 0 - #0-ylabel-dist-i #0-ylabel-dist; +#X text 23 310 X / Y Ticks; +#X text 25 398 X / Y Label; +#N canvas 505 36 496 590 function-writer 0; +#X obj 27 231 tabwrite~ \$1; +#X obj 27 122 bng 15 250 50 0 empty empty Calculate 21 8 0 12 -228856 +-1 -1; +#X text 15 51 1 - Edit your formula below; +#X text 13 330 Some formula examples:; +#X text 17 398 - descending line; +#X obj 139 379 expr~ $v1; +#X obj 139 399 expr~ 1-$v1; +#X obj 139 439 expr~ pow($v1 \, .5); +#X text 17 438 - logarithmic line; +#X text 17 418 - exponential line; +#X obj 139 419 expr~ pow($v1 \, 2); +#X text 13 350 Lines; +#X floatatom 279 150 5 0 0 0 - - -; +#X text 14 8 The function writer writes a funcion in your array. It +analyses the sample rate and arraysize \, so that the wave fits perfectly +with the array. To create a new waveform:; +#X text 131 103 Edit your formula here \, or copy-paste from the ones +below. The number field is to connect with the gaussian formula \, +or with any formulas that need extra argument(s).; +#N canvas 0 0 450 372 calc 0; +#X obj 187 38 inlet; +#X obj 226 78 samplerate~; +#X obj 127 278 r \$0-arr; +#X obj 197 298 phasor~; +#X obj 226 238 /; +#X msg 127 298 set \$1; +#X obj 206 258 0; +#X obj 241 98 r \$0-arrsize; +#X obj 187 58 t a b b; +#X obj 187 338 outlet; +#X obj 197 318 outlet~; +#X obj 241 218 +; +#X obj 256 118 r \$0-wrapar; +#X obj 256 138 * -1; +#X obj 241 188 f; +#X obj 256 158 t b f; +#X connect 0 0 8 0; +#X connect 1 0 4 0; +#X connect 2 0 5 0; +#X connect 3 0 10 0; +#X connect 4 0 3 0; +#X connect 5 0 9 0; +#X connect 6 0 3 1; +#X connect 7 0 14 0; +#X connect 8 0 9 0; +#X connect 8 1 6 0; +#X connect 8 2 1 0; +#X connect 11 0 4 1; +#X connect 12 0 13 0; +#X connect 13 0 15 0; +#X connect 14 0 11 0; +#X connect 15 0 14 0; +#X connect 15 1 11 1; +#X restore 27 140 pd calc; +#X text 70 543 If there's any function that you think should be here +\, tell me about it at jmmmpais@googlemail.com; +#N canvas 0 0 685 457 (subpatch) 0; +#X array array2 120 float 0; +#X coords 0 1 119 0 120 90 1; +#X restore 311 354 graph; +#X obj 286 292 s \$0-arr-i; +#X text 50 254 To try out the waveforms below \, first choose this +array as the array to be edited by clicking on:; +#X msg 286 272 symbol array2; +#X text 15 71 2 - Bang "Calculate"; +#X text 16 378 - ascending line; +#N canvas 232 298 502 383 panning-curves 0; +#X obj 380 12 switch~ 0; +#X text 17 138 - simple (triangular); +#X text 12 19 Panning curves; +#X obj 149 139 expr~ 1-$v1; +#X text 11 80 Some curves need the Wraparound option \, so that the +final value is as close as possible.; +#X obj 149 159 expr~ pow(1-$v1 \, .5); +#X text 17 158 - square root; +#X obj 149 179 expr~ cos($v1*0.5*3.14159); +#X text 17 178 - sinus; +#X obj 149 199 expr~ ((sqrt(2)/2) * (cos(($v1) * (4 * atan(1)) - (4 +* atan(1)/2)) - sin(($v1) * (4 * atan(1)) - (4 * atan(1)/2))))*0.5+0.5 +; +#X text 16 198 - "equal power"; +#X text 11 40 These curves are for the left side. To get the right +side value \, just read the table at the mirror point: [arraysize]-[index]-1. +; +#X text 17 328 Formulas taken from Csound Ezine/Jamie Bullock \, Georg +Holzmann.; +#X obj 149 265 expr~ (cos($v1)-sin($v1))*(sqrt(2)/2); +#X obj 149 245 expr~ ($v1*3.14159/2)-3.14159/4; +#X text 16 245 - tangent law; +#X connect 14 0 13 0; +#X restore 23 478 pd panning-curves; +#N canvas 148 141 450 259 trigonometry/windowing 0; +#X text 17 48 - sine wave; +#X obj 139 49 expr~ sin($v1*3.14159*2); +#X obj 139 89 expr~ 0.5*(1-cos($v1*3.14159*2)); +#X text 17 68 - cosine window; +#X obj 139 69 expr~ sin($v1*3.14159); +#X obj 139 109 expr~ 0.53836-0.46164*cos($v1*3.14159*2); +#X text 17 108 - hamming window; +#X text 17 88 - hanning window; +#X text 17 128 - connes window; +#X obj 139 129 expr~ pow(1-pow($v1*2-1 \, 2) \, 2); +#X obj 139 149 expr~ 1-abs($v1*2-1); +#X text 17 148 - welch window; +#X text 17 168 - gaussian window; +#X obj 137 170 expr~ pow(2 \, pow((($v1*2-1)/$f2) \, 2)*-1); +#X text 17 208 - lanczos window; +#X obj 139 209 expr~ sin(($v1*2-1)*3.14159)/(($v1*2-1)*3.14159); +#X text 12 19 Trigonometry/Windowing formulas; +#X obj 380 12 switch~ 0; +#X text 134 188 (0 < $f2 < 1); +#X restore 23 508 pd trigonometry/windowing; +#X obj 67 181 expr~ pow(2 \, pow((($v1*2-1)/$f2) \, 2)*-1); +#X connect 1 0 15 0; +#X connect 12 0 25 1; +#X connect 15 0 0 0; +#X connect 15 1 25 0; +#X connect 20 0 18 0; +#X connect 25 0 0 0; +#X restore 32 639 pd function-writer; +#X obj 12 128 cnv 15 60 20 empty empty Basic 5 11 0 12 -191407 -33289 +0; +#X text 12 277 Attention: to edit the Y fields \, you must first define +the Y values in Graphic Bounds.; +#N canvas 266 36 411 747 segment-draw 0; +#X msg 75 356 0 0 \, -1.5 15 \, 1 50 \, 0.75 75 \, 0 100; +#X text 11 528 relative index: 0%-100%; +#N canvas 545 59 692 802 segment-function-draw 0; +#X obj 173 33 inlet; +#X obj 92 133 r \$0-arrsize; +#X obj 77 153 *; +#X obj 77 113 * 0.01; +#X obj 344 21 inlet; +#X text 168 9 relativ; +#X text 389 16 absolut; +#X obj 77 173 i; +#X obj 219 573 samplerate~; +#X obj 69 682 r \$0-arr; +#X obj 219 593 /; +#X msg 69 702 set \$1; +#X obj 189 644 0; +#X obj 143 293 -; +#X obj 158 273 f; +#X obj 143 243 t f f b; +#X msg 130 583 start \$1; +#X obj 170 553 t f b b; +#X obj 77 193 t f f; +#X obj 27 283 moses; +#X obj 54 263 r \$0-arrsize; +#X obj 104 213 moses 1; +#X obj 152 682 phasor~; +#X obj 130 772 tabwrite~ \$1; +#X obj 295 627 del; +#X obj 295 607 * 1.01; +#N canvas 77 335 450 302 blocksize 0; +#X obj 174 211 outlet; +#X obj 164 31 inlet; +#X obj 164 51 samplerate~; +#X obj 174 171 /; +#X obj 174 191 * 1000; +#X obj 179 121 iem_blocksize~; +#X obj 164 141 f; +#X obj 164 71 t b f; +#X obj 179 101 sig~; +#X connect 1 0 2 0; +#X connect 2 0 7 0; +#X connect 3 0 4 0; +#X connect 4 0 0 0; +#X connect 5 0 6 1; +#X connect 6 0 3 0; +#X connect 7 0 6 0; +#X connect 7 1 3 1; +#X connect 8 0 5 0; +#X restore 295 587 pd blocksize; +#X obj 219 613 t b f; +#X obj 179 83 swap; +#X obj 151 742 +~; +#X text 327 629 each segment is written after a delay of 1 block. maybe +not the best way \, but the only one using ~ ?; +#X obj 152 722 *~; +#X obj 170 493 textfile; +#X obj 310 155 f; +#X obj 275 238 route list; +#X obj 275 208 list prepend; +#X obj 344 188 spigot 0; +#X msg 374 168 0; +#X msg 404 168 1; +#X obj 275 125 t f b f b; +#X obj 275 258 unpack; +#X obj 304 318 -; +#X obj 294 298 f; +#X obj 275 278 t f b f; +#X obj 170 443 prepent add; +#X msg 104 473 clear; +#X msg 205 467 rewind \, bang; +#X obj 143 373 swap; +#X obj 143 353 pack; +#X obj 205 139 t b b b; +#X obj 143 403 pack f f f f f; +#X obj 170 523 unpack f f f f f; +#X obj 173 53 zexy/unpack f f f; +#X obj 254 413 0; +#X obj 143 423 t b a; +#X obj 152 702 expr~ pow($v1 \, exp($f2*5*log(2))); +#X text 280 523 dauer \, anfangspunkt \, anfangswert \, skalierung +\, exp-curve; +#X obj 350 71 swap; +#X obj 344 41 zexy/unpack f f f; +#X msg 323 471 print; +#X obj 93 23 r \$0-segrel; +#X obj 263 13 r \$0-segabs; +#X connect 0 0 52 0; +#X connect 1 0 2 1; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 58 0; +#X connect 7 0 18 0; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 10 0 27 0; +#X connect 11 0 23 0; +#X connect 12 0 22 1; +#X connect 13 0 48 0; +#X connect 14 0 13 1; +#X connect 15 0 13 0; +#X connect 15 1 14 1; +#X connect 15 2 14 0; +#X connect 16 0 23 0; +#X connect 17 0 16 0; +#X connect 17 1 12 0; +#X connect 17 2 8 0; +#X connect 18 0 19 0; +#X connect 18 1 21 0; +#X connect 19 0 48 1; +#X connect 19 1 49 0; +#X connect 20 0 19 1; +#X connect 21 0 14 1; +#X connect 21 0 45 0; +#X connect 21 1 15 0; +#X connect 22 0 55 0; +#X connect 24 0 32 0; +#X connect 25 0 24 0; +#X connect 26 0 25 0; +#X connect 27 0 26 0; +#X connect 27 1 22 0; +#X connect 28 0 3 0; +#X connect 28 1 39 0; +#X connect 29 0 23 0; +#X connect 31 0 29 0; +#X connect 32 0 51 0; +#X connect 33 0 36 0; +#X connect 34 0 40 0; +#X connect 35 0 34 0; +#X connect 36 0 35 1; +#X connect 37 0 36 1; +#X connect 38 0 36 1; +#X connect 39 0 35 0; +#X connect 39 1 38 0; +#X connect 39 2 33 1; +#X connect 39 3 33 0; +#X connect 40 0 43 0; +#X connect 40 1 42 1; +#X connect 41 0 50 3; +#X connect 42 0 41 0; +#X connect 43 0 50 2; +#X connect 43 1 42 0; +#X connect 43 2 41 1; +#X connect 44 0 32 0; +#X connect 45 0 32 0; +#X connect 46 0 32 0; +#X connect 47 0 50 0; +#X connect 47 1 50 1; +#X connect 48 0 47 0; +#X connect 49 0 46 0; +#X connect 49 1 35 1; +#X connect 49 2 37 0; +#X connect 50 0 54 0; +#X connect 51 0 17 0; +#X connect 51 1 10 1; +#X connect 51 2 29 1; +#X connect 51 3 31 1; +#X connect 51 4 55 1; +#X connect 52 0 28 0; +#X connect 52 1 28 1; +#X connect 52 2 50 4; +#X connect 53 0 50 4; +#X connect 54 0 53 0; +#X connect 54 1 44 0; +#X connect 55 0 31 0; +#X connect 57 0 18 0; +#X connect 57 1 39 0; +#X connect 58 0 57 0; +#X connect 58 1 57 1; +#X connect 58 2 50 4; +#X connect 59 0 32 0; +#X connect 60 0 52 0; +#X connect 61 0 58 0; +#X restore 45 509 pd segment-function-draw; +#X msg 55 316 0 0 \, 1 50 \, 0 100; +#X text 20 196 Attention: You must always define an array completely +\, from the first to last indexes (be it in relative or absolute indexes). +; +#X text 181 529 absolute index: 0-arraysize; +#X text 27 692 Note: Each segment is written after a 1-block delay. +If you're thinking about using this tool for live audio \, make sure +you don't get side effects due to this technique.; +#X text 21 87 - index Value; +#X text 21 107 - duration - in percentage of total duration (left inlet) +or in absolute indexes (right inlet); +#X text 20 56 Segment draw: Define each breakpoint with 2 or 3 indexes. +Each breakpoint is separated by commas:; +#N canvas 0 0 668 457 (subpatch) 0; +#X array array1 120 float 0; +#X coords 0 1 119 -1 120 90 1; +#X restore 145 581 graph; +#X obj 256 282 s \$0-arr-i; +#X msg 256 262 symbol array1; +#X obj 147 21 cnv 15 95 20 empty empty Segment-draw 5 11 0 12 -191407 +-33289 0; +#X text 21 138 - curve steppness [-1 to 1]: 0 or missing for a straight +line. 0 to 1 for exponential curve \, -1 to 0 for logarithmic curve. +; +#X text 164 315 normal wave; +#X msg 64 336 0 0 \, 1 50 0.15 \, 0 100 -0.15; +#X text 236 335 same wave \, but curved; +#X text 20 244 To try out the waveforms below \, first choose this +array as the array to be edited by clicking on:; +#X text 83 376 more complex example; +#X msg 164 433 0 0 \, 1 60 \, 0 120; +#X msg 174 453 0 0 \, 1 60 0.15 \, 0 120 -0.15; +#X msg 185 473 0 0 \, -1.5 18 \, 1 60 \, 0.75 90 \, 0 120; +#X text 93 413 Same examples as above \, with absolute coordinates +; +#X connect 0 0 2 0; +#X connect 3 0 2 0; +#X connect 12 0 11 0; +#X connect 16 0 2 0; +#X connect 20 0 2 1; +#X connect 21 0 2 1; +#X connect 22 0 2 1; +#X restore 32 596 pd segment-draw; +#X obj 12 640 bng 15 250 50 0 \$0-f-writ \$0-f-writ-i empty 17 7 0 +10 -228856 -1 -1; +#X obj 12 597 bng 15 250 50 0 \$0-s-draw \$0-s-draw-i empty 17 7 0 +10 -228856 -1 -1; +#X text 32 576 Draw a wave shape through break points; +#X text 32 619 Define a wave shape through its function; +#X obj 12 549 cnv 15 100 20 empty empty Ploting.tools 5 11 0 12 -191407 +-33289 0; +#X text 94 685 (where everything works); +#X text 12 474 You can copy the commands and paste them in your patch: +; +#X obj 32 675 inlet; +#N canvas 0 0 426 446 license 0; +#X text 8 47 All rights reserved.; +#X text 8 227 The names of its contributors may not be used to endorse +or promote products derived from this software without specific prior +written permission.; +#X text 8 87 Redistribution and use in source and binary forms \, with +or without modification \, are permitted provided that the following +conditions are met:; +#X text 8 127 Redistributions of source code must retain the above +copyright notice \, this list of conditions and the following disclaimer. +; +#X text 8 297 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES \, INCLUDING +\, BUT NOT LIMITED TO \, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT \, INDIRECT +\, INCIDENTAL \, SPECIAL \, EXEMPLARY \, OR CONSEQUENTIAL DAMAGES (INCLUDING +\, BUT NOT LIMITED TO \, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES +; +#X text 8 167 Redistributions in binary form must reproduce the above +copyright notice \, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the distribution. +; +#X text 8 27 jmmmpais@googlemail.com; +#X text 8 7 Copyright 2006 \, Joćo Pais; +#X restore 32 724 pd license; +#X text 99 724 (C) 2009 Joćo Pais - jmmmpais@googlemail.com; +#X obj 197 216 cnv 15 187 25 empty empty empty 20 12 0 14 -191407 -66577 +0; +#X obj 202 221 tgl 15 0 \$0-wrapar \$0-wrapar-i empty 17 7 0 10 -228856 +-1 -1 0 1; +#X text 221 220 Wraparound (last index ~0); +#X connect 44 0 45 0; +#X connect 64 0 0 0; diff --git a/bezier-help.pd b/bezier-help.pd new file mode 100644 index 0000000..76157d7 --- /dev/null +++ b/bezier-help.pd @@ -0,0 +1,692 @@ +#N struct 1076-bez-array float x float y array 1076-bez-c-arr 1076-bez-c +float p0x float p0y float p0x. float p0y. float p1x float p1y float +p1x. float p1y. float p2x float p2y float p2x. float p2y. float p3x +float p3y float p3x. float p3y.; +#N struct 1076-bez-c float x float y; +#N struct 1055-bez-array float x float y array 1055-bez-c-arr 1055-bez-c +float p0x float p0y float p0x. float p0y. float p1x float p1y float +p1x. float p1y. float p2x float p2y float p2x. float p2y. float p3x +float p3y float p3x. float p3y.; +#N struct 1055-bez-c float x float y; +#N canvas 367 58 811 625 10; +#X floatatom 23 285 5 0 0 0 - - -; +#X floatatom 57 157 5 0 0 0 - - -; +#X msg 158 126 p0 0 0 \, p1 0.2 0.4 \, p2 0.8 0.6 \, p3 1 1; +#X text 420 184 ha demasiada accao a passar no patch \, optimizar; +#X msg 104 88 dump; +#N canvas 0 0 539 313 save 0; +#X obj 151 42 inlet; +#X obj 151 152 list prepend add2; +#X obj 151 192 list trim; +#X obj 151 172 t l b; +#X msg 178 212 addcomma; +#X msg 151 242 \, p0 0 0 \, p1 -0.100666 1.1 \, p2 1.078 -0.012 \, +p3 0.99 0.99; +#X msg 178 122 set; +#X obj 151 62 t l l; +#X obj 178 102 route p0; +#X obj 178 82 route list; +#X connect 0 0 7 0; +#X connect 1 0 3 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 3 1 4 0; +#X connect 4 0 5 0; +#X connect 6 0 5 0; +#X connect 7 0 1 0; +#X connect 7 1 9 0; +#X connect 8 0 6 0; +#X connect 9 0 8 0; +#X restore 400 492 pd save points; +#X text 416 215 botao para adicionar x curvas (p3 da anterior == p0 +da seguinte) \, criando uma mega-curva \; tornar tudo variavel \, nr +pontos do array... \; ajustar tamanha dos pontos kr de acordo com o +tamanho do display; +#X obj 42 186 hsl 50 10 0 1 0 0 empty empty empty -2 -8 0 10 -228856 +-1 -1 4900 1; +#X obj 42 204 hsl 50 10 0 1 0 0 empty empty empty -2 -8 0 10 -228856 +-1 -1 4900 1; +#X text 369 35 DCCoY4HuLhg9Aj; +#X msg 163 57 size \$1; +#X floatatom 163 38 5 0 0 0 - - -; +#X text 422 346 argumentos; +#X text 425 364 - tamanho do array; +#X text 429 381 - canvas size (x + y); +#X msg 37 23 canvas 300 100; +#X text 418 148 so funciona depois de clickar nele? o arraypoint do +append nao funciona?; +#X msg 76 64 canvas \$1; +#X floatatom 76 44 5 0 0 0 - - -; +#X msg 163 78 size 100; +#X text 417 305 y - esta fixo em 99 como mudar para a mesma resolucao +de x?; +#X obj 19 131 line; +#X msg 19 111 0 \, 1 3000; +#X text 415 122 opcao para mostrar ponto de leitura; +#X text 423 93 sair os dois eixos \, x e y.; +#X msg 250 91 p0 \$1 \$2; +#X obj 250 71 pack; +#X floatatom 225 32 5 0 0 0 - - -; +#X floatatom 260 32 5 0 0 0 - - -; +#X obj 260 51 t b f; +#N canvas 535 50 842 885 bezier-a 0; +#X scalar 1076-bez-array 0 0 -2 -2 3 3 36.7999 111.4 41.7999 116.4 +58.4001 -16.2 63.4001 -11.2 98 98 103 103 \; 0 0 \; 1.09947 3.27078 +\; 2.19004 6.40106 \; 3.2719 9.39374 \; 4.34529 12.2517 \; 5.41039 +14.9778 \; 6.46743 17.5751 \; 7.51662 20.0463 \; 8.55817 22.3944 \; +9.59229 24.6223 \; 10.6192 26.7328 \; 11.6391 28.7289 \; 12.6522 30.6135 +\; 13.6587 32.3894 \; 14.6588 34.0596 \; 15.6528 35.6269 \; 16.6408 +37.0943 \; 17.6231 38.4647 \; 18.5998 39.7409 \; 19.5713 40.9258 \; +20.5376 42.0224 \; 21.499 43.0335 \; 22.4558 43.9621 \; 23.408 44.8109 +\; 24.356 45.583 \; 25.3 46.2813 \; 26.2401 46.9085 \; 27.1766 47.4677 +\; 28.1097 47.9616 \; 29.0395 48.3933 \; 29.9664 48.7656 \; 30.8905 +49.0814 \; 31.812 49.3436 \; 32.7311 49.5551 \; 33.6481 49.7188 \; +34.5632 49.8376 \; 35.4765 49.9143 \; 36.3883 49.952 \; 37.2988 49.9534 +\; 38.2083 49.9215 \; 39.1168 49.8592 \; 40.0247 49.7694 \; 40.932 +49.6549 \; 41.8392 49.5187 \; 42.7463 49.3636 \; 43.6536 49.1927 \; +44.5613 49.0086 \; 45.4695 48.8145 \; 46.3786 48.613 \; 47.2887 48.4072 +\; 48.2 48.2 \; 49.1128 47.9942 \; 50.0272 47.7927 \; 50.9434 47.5985 +\; 51.8618 47.4144 \; 52.7824 47.2434 \; 53.7055 47.0882 \; 54.6314 +46.9519 \; 55.5601 46.8373 \; 56.492 46.7473 \; 57.4272 46.6848 \; +58.366 46.6527 \; 59.3085 46.654 \; 60.255 46.6914 \; 61.2057 46.7679 +\; 62.1608 46.8865 \; 63.1205 47.0499 \; 64.085 47.2611 \; 65.0546 +47.523 \; 66.0294 47.8385 \; 67.0096 48.2104 \; 67.9955 48.6418 \; +68.9873 49.1353 \; 69.9852 49.6941 \; 70.9893 50.321 \; 72 51.0188 +\; 73.0174 51.7904 \; 74.0417 52.6389 \; 75.0732 53.5669 \; 76.112 +54.5776 \; 77.1584 55.6736 \; 78.2126 56.8581 \; 79.2747 58.1337 \; +80.3451 59.5035 \; 81.4238 60.9703 \; 82.5112 62.537 \; 83.6074 64.2066 +\; 84.7127 65.9819 \; 85.8272 67.8659 \; 86.9512 69.8614 \; 88.0848 +71.9712 \; 89.2283 74.1984 \; 90.382 76.5458 \; 91.5459 79.0163 \; +92.7204 81.6128 \; 93.9056 84.3382 \; 95.1018 87.1954 \; 96.3091 90.1872 +\; 97.5277 93.3167 \; 100 100 \; \;; +#X scalar 1055-bez-array 0 0 -2 -2 3 3 19.2727 73.6361 24.2727 78.6361 +92 3.27309 97 8.27309 98 98 103 103 \; 0 0 \; 0.5941 2.1662 \; 1.21956 +4.24786 \; 1.87568 6.24685 \; 2.56174 8.16505 \; 3.27704 10.0043 \; +4.02087 11.7665 \; 4.79252 13.4535 \; 5.59127 15.0672 \; 6.41643 16.6094 +\; 7.26727 18.082 \; 8.1431 19.4868 \; 9.0432 20.8258 \; 9.96686 22.1008 +\; 10.9134 23.3137 \; 11.882 24.4662 \; 12.8721 25.5604 \; 13.883 26.5981 +\; 14.9138 27.5811 \; 15.964 28.5112 \; 17.0327 29.3905 \; 18.1194 +30.2207 \; 19.2232 31.0036 \; 20.3435 31.7413 \; 21.4796 32.4355 \; +22.6307 33.088 \; 23.7961 33.7009 \; 24.9752 34.2758 \; 26.1673 34.8148 +\; 27.3715 35.3196 \; 28.5873 35.7922 \; 29.8138 36.2343 \; 31.0505 +36.6479 \; 32.2965 37.0349 \; 33.5512 37.397 \; 34.8139 37.7362 \; +36.0838 38.0543 \; 37.3602 38.3532 \; 38.6425 38.6348 \; 39.93 38.9009 +\; 41.2218 39.1535 \; 42.5174 39.3942 \; 43.8159 39.6251 \; 45.1168 +39.848 \; 46.4192 40.0648 \; 47.7225 40.2773 \; 49.0259 40.4874 \; +50.3289 40.6969 \; 51.6305 40.9078 \; 52.9302 41.1218 \; 54.2273 41.341 +\; 55.5209 41.567 \; 56.8105 41.8018 \; 58.0952 42.0474 \; 59.3745 +42.3054 \; 60.6475 42.5778 \; 61.9136 42.8665 \; 63.172 43.1733 \; +64.4222 43.5001 \; 65.6632 43.8488 \; 66.8945 44.2212 \; 68.1154 44.6192 +\; 69.325 45.0446 \; 70.5228 45.4994 \; 71.7079 45.9853 \; 72.8797 +46.5044 \; 74.0376 47.0583 \; 75.1807 47.649 \; 76.3083 48.2784 \; +77.4199 48.9483 \; 78.5145 49.6607 \; 79.5916 50.4172 \; 80.6505 51.2199 +\; 81.6903 52.0706 \; 82.7105 52.9712 \; 83.7102 53.9234 \; 84.6889 +54.9293 \; 85.6457 55.9906 \; 86.58 57.1092 \; 87.491 58.2871 \; 88.3782 +59.5259 \; 89.2406 60.8278 \; 90.0777 62.1943 \; 90.8888 63.6276 \; +91.673 65.1294 \; 92.4298 66.7015 \; 93.1583 68.3459 \; 93.858 70.0645 +\; 94.528 71.8591 \; 95.1677 73.7314 \; 95.7764 75.6835 \; 96.3533 +77.7172 \; 96.8977 79.8344 \; 97.409 82.0368 \; 97.8865 84.3265 \; +98.3293 86.7052 \; 98.7369 89.1749 \; 99.1084 91.7373 \; 99.4433 94.3944 +\; 100 100 \; \;; +#X obj 217 10 inlet; +#N canvas 752 125 572 401 inside 0; +#X obj 20 52 inlet; +#X obj 260 272 s \$0-bezier-a; +#X obj 220 132 sel 0; +#N canvas 0 0 450 300 element 0; +#X obj 52 46 struct \$0-bez-c float x float y; +#X restore 6 322 pd element; +#N canvas 113 250 606 425 array 0; +#X obj 58 96 route change click; +#X obj 78 130 unpack p f; +#X obj 58 24 struct \$0-bez-array float x float y array \$0-bez-c-arr +\$0-bez-c float p0x float p0y float p0x. float p0y. float p1x float +p1y float p1x. float p1y. float p2x float p2y float p2x. float p2y. +float p3x float p3y float p3x. float p3y.; +#X obj 31 312 filledpolygon 0 0 1 p1x p1y p1x. p1y p1x. p1y. p1x p1y. +p1x p1y; +#X obj 31 345 filledpolygon 0 0 1 p2x p2y p2x. p2y p2x. p2y. p2x p2y. +p2x p2y; +#X obj 78 150 t b p; +#X obj 78 210 outlet; +#X obj 105 170 s \$0-arrpoint; +#X obj 78 190 speedlim 150; +#X obj 213 160 drawpolygon 0 1 0 0 0 100 100 100 100 0 0 0; +#X obj 31 378 filledpolygon 0 0 1 p3x(-2:97)(-2:97) p3y(-2:97)(-2:97) +p3x. p3y p3x. p3y. p3x p3y. p3x p3y; +#X obj 31 279 filledpolygon 0 0 1 p0x(-2:97)(-2:97) p0y(-2:97)(-2:97) +p0x. p0y p0x. p0y. p0x p0y. p0x p0y; +#X obj 213 130 plot \$0-bez-c-arr 9 2 0 0; +#X text 37 243 4 control points \, 2 extremos nao saem da caixa. fronteiras +desfazadas em 2pt \, para desenhar o quadrado; +#X connect 0 0 1 0; +#X connect 0 1 1 0; +#X connect 1 0 5 0; +#X connect 2 0 0 0; +#X connect 5 0 8 0; +#X connect 5 1 7 0; +#X connect 8 0 6 0; +#X restore 6 342 pd array; +#N canvas 257 223 482 660 calculate 0; +#X obj 27 42 inlet; +#X obj 27 202 until; +#X obj 27 222 f+ 0; +#X obj 27 352 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1 +\, 2) + (3*$f3-3*$f2)*$f1 + $f2; +#X obj 46 425 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1 +\, 2) + (3*$f3-3*$f2)*$f1 + $f2; +#X obj 27 332 pack f f f f f; +#X obj 46 405 pack f f f f f; +#X obj 228 468 r \$0-arrpoint; +#X obj 108 498 element \$0-bez-array \$0-bez-c-arr; +#X obj 46 558 set \$0-bez-c y; +#X obj 27 538 set \$0-bez-c x; +#X obj 108 518 t p p; +#X obj 27 242 t f f f; +#X text 142 11 array com 100 pontos. fazer 200? \; e necessario estar +a escalonar tudo? talvez nao; +#X obj 141 190 get \$0-bez-array p0x; +#X obj 311 190 get \$0-bez-array p0y; +#X obj 341 250 get \$0-bez-array p3y; +#X obj 171 250 get \$0-bez-array p3x; +#X obj 161 230 get \$0-bez-array p2x; +#X obj 331 230 get \$0-bez-array p2y; +#X obj 320 210 get \$0-bez-array p1y; +#X obj 151 210 get \$0-bez-array p1x; +#X obj 27 72 t b b; +#X obj 77 32 inlet; +#X obj 141 80 r \$0-arrpoint; +#X obj 141 150 pointer; +#X obj 77 52 t b b; +#X obj 141 270 + 2; +#X obj 171 270 + 2; +#X obj 311 270 + 2; +#X obj 341 270 + 2; +#X obj 47 102 r \$0-size; +#X obj 42 162 + 1; +#X obj 27 182 f; +#X obj 86 242 inv; +#X obj 47 122 t b f f; +#X obj 27 272 *; +#X obj 46 292 *; +#X connect 0 0 22 0; +#X connect 1 0 2 0; +#X connect 2 0 12 0; +#X connect 3 0 10 0; +#X connect 4 0 9 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 8 1; +#X connect 8 0 11 0; +#X connect 11 0 10 1; +#X connect 11 1 9 1; +#X connect 12 0 36 0; +#X connect 12 1 37 0; +#X connect 12 2 8 0; +#X connect 14 0 27 0; +#X connect 15 0 29 0; +#X connect 16 0 30 0; +#X connect 17 0 28 0; +#X connect 18 0 5 3; +#X connect 19 0 6 3; +#X connect 20 0 6 2; +#X connect 21 0 5 2; +#X connect 22 0 33 0; +#X connect 22 1 2 1; +#X connect 23 0 26 0; +#X connect 24 0 25 0; +#X connect 25 0 14 0; +#X connect 25 0 15 0; +#X connect 25 0 20 0; +#X connect 25 0 19 0; +#X connect 25 0 16 0; +#X connect 25 0 21 0; +#X connect 25 0 18 0; +#X connect 25 0 17 0; +#X connect 26 0 22 0; +#X connect 26 1 25 0; +#X connect 27 0 5 1; +#X connect 28 0 5 4; +#X connect 29 0 6 1; +#X connect 30 0 6 4; +#X connect 31 0 35 0; +#X connect 32 0 33 1; +#X connect 33 0 1 0; +#X connect 34 0 36 1; +#X connect 34 0 37 1; +#X connect 35 0 22 0; +#X connect 35 1 32 0; +#X connect 35 2 34 0; +#X connect 36 0 5 0; +#X connect 37 0 6 0; +#X restore 6 362 pd calculate; +#X obj 65 132 outlet; +#X obj 230 12 loadbang; +#N canvas 0 0 450 363 index 0; +#X obj 63 212 outlet; +#X obj 258 132 r \$0-arrpoint; +#X obj 63 172 get \$0-bez-c y; +#X obj 63 152 element \$0-bez-array \$0-bez-c-arr; +#X obj 63 72 inlet; +#X obj 156 52 r \$0-arrpoint; +#X obj 156 72 getsize \$0-bez-array \$0-bez-c-arr; +#X obj 63 112 maxlib/scale 0 1 0 0; +#X obj 156 92 - 1; +#X obj 63 192 / 99; +#X connect 1 0 3 1; +#X connect 2 0 9 0; +#X connect 3 0 2 0; +#X connect 4 0 7 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 3 0; +#X connect 8 0 7 4; +#X connect 9 0 0 0; +#X restore 65 112 pd index; +#N canvas 0 0 450 300 size 0; +#X obj 99 89 inlet; +#X obj 294 149 r \$0-arrpoint; +#X obj 99 169 setsize \$0-bez-array \$0-bez-c-arr; +#X obj 99 109 s \$0-size; +#X obj 99 149 r \$0-size; +#X connect 0 0 3 0; +#X connect 1 0 2 1; +#X connect 4 0 2 0; +#X restore 16 112 pd size; +#N canvas 564 290 668 593 point-befehle 0; +#X obj 228 58 route p0 p1 p2 p3; +#X obj 189 18 inlet; +#X obj 60 166 unpack; +#X obj 150 86 r \$0-arrpoint; +#X obj 150 116 t p p p p; +#X obj 60 236 set \$0-bez-array p0x; +#X obj 60 256 set \$0-bez-array p0y; +#X obj 200 236 set \$0-bez-array p1x; +#X obj 200 256 set \$0-bez-array p1y; +#X obj 340 236 set \$0-bez-array p2x; +#X obj 480 236 set \$0-bez-array p3x; +#X obj 480 256 set \$0-bez-array p3y; +#X obj 340 256 set \$0-bez-array p2y; +#X obj 47 116 pointer; +#X obj 47 362 get \$0-bez-array p0x; +#X obj 57 402 set \$0-bez-array p0x.; +#X obj 77 432 get \$0-bez-array p0y; +#X obj 57 472 set \$0-bez-array p0y.; +#X obj 47 332 t p p p p; +#X obj 47 292 t p p p p; +#X obj 197 332 t p p p p; +#X obj 347 332 t p p p p; +#X obj 496 332 t p p p p; +#X obj 197 362 get \$0-bez-array p1x; +#X obj 207 402 set \$0-bez-array p1x.; +#X obj 227 432 get \$0-bez-array p1y; +#X obj 207 472 set \$0-bez-array p1y.; +#X obj 347 362 get \$0-bez-array p2x; +#X obj 357 402 set \$0-bez-array p2x.; +#X obj 377 432 get \$0-bez-array p2y; +#X obj 357 472 set \$0-bez-array p2y.; +#X obj 496 362 get \$0-bez-array p3x; +#X obj 506 402 set \$0-bez-array p3x.; +#X obj 526 432 get \$0-bez-array p3y; +#X obj 506 472 set \$0-bez-array p3y.; +#X obj 47 382 + 5; +#X obj 77 452 + 5; +#X obj 200 166 unpack; +#X obj 340 166 unpack; +#X obj 480 166 unpack; +#X obj 23 82 outlet; +#X obj 189 38 t b b a; +#X obj 197 382 + 5; +#X obj 227 452 + 5; +#X obj 377 452 + 5; +#X obj 347 382 + 5; +#X obj 496 382 + 5; +#X obj 526 452 + 5; +#X obj 150 216 t p p; +#X obj 291 216 t p p; +#X obj 430 216 t p p; +#X obj 570 216 t p p; +#X obj 303 568 outlet; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 164 158 pack f f f; +#X obj 99 121 r \$0-dump; +#X obj 282 68 r \$0-size; +#X obj 282 88 inv; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 9 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 9 2; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 12 0 7 1; +#X connect 12 0 3 1; +#X restore 497 502 pd convert; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 99 121 r \$0-dump; +#X obj 164 158 pack f f f; +#X obj 282 68 r \$0-size; +#X obj 282 88 inv; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 10 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 10 2; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 1 0; +#X connect 11 0 12 0; +#X connect 12 0 7 1; +#X connect 12 0 3 1; +#X restore 347 502 pd convert; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 164 158 pack f f f; +#X obj 99 121 r \$0-dump; +#X obj 282 68 r \$0-size; +#X obj 282 88 inv; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 9 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 9 2; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 12 0 7 1; +#X connect 12 0 3 1; +#X restore 197 502 pd convert; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 164 158 pack f f f; +#X obj 99 121 r \$0-dump; +#X obj 282 68 r \$0-size; +#X obj 282 88 inv; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 9 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 9 2; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X connect 11 0 12 0; +#X connect 12 0 7 1; +#X connect 12 0 3 1; +#X restore 47 502 pd convert; +#X obj 233 186 * 100; +#X obj 93 186 * 100; +#X obj 373 186 * 100; +#X obj 513 186 * 100; +#X obj 513 206 - 2; +#X obj 373 206 - 2; +#X obj 233 206 - 2; +#X obj 93 206 - 2; +#X obj 60 206 - 2; +#X obj 200 206 - 2; +#X obj 340 206 - 2; +#X obj 480 206 - 2; +#X obj 480 186 * 100; +#X obj 340 186 * 100; +#X obj 200 186 * 100; +#X obj 60 186 * 100; +#X obj 491 61 r \$0-size; +#X msg 47 522 list p0 \$2 \$3; +#X msg 197 522 list p1 \$2 \$3; +#X msg 347 522 list p2 \$2 \$3; +#X msg 497 522 list p3 \$2 \$3; +#X connect 0 0 2 0; +#X connect 0 1 37 0; +#X connect 0 2 38 0; +#X connect 0 3 39 0; +#X connect 1 0 41 0; +#X connect 2 0 72 0; +#X connect 2 1 58 0; +#X connect 3 0 4 0; +#X connect 3 0 13 0; +#X connect 4 0 48 0; +#X connect 4 1 49 0; +#X connect 4 2 50 0; +#X connect 4 3 51 0; +#X connect 13 0 19 0; +#X connect 14 0 35 0; +#X connect 16 0 36 0; +#X connect 18 0 14 0; +#X connect 18 1 15 1; +#X connect 18 2 16 0; +#X connect 18 3 17 1; +#X connect 19 0 18 0; +#X connect 19 1 20 0; +#X connect 19 2 21 0; +#X connect 19 3 22 0; +#X connect 20 0 23 0; +#X connect 20 1 24 1; +#X connect 20 2 25 0; +#X connect 20 3 26 1; +#X connect 21 0 27 0; +#X connect 21 1 28 1; +#X connect 21 2 29 0; +#X connect 21 3 30 1; +#X connect 22 0 31 0; +#X connect 22 1 32 1; +#X connect 22 2 33 0; +#X connect 22 3 34 1; +#X connect 23 0 42 0; +#X connect 25 0 43 0; +#X connect 27 0 45 0; +#X connect 29 0 44 0; +#X connect 31 0 46 0; +#X connect 33 0 47 0; +#X connect 35 0 15 0; +#X connect 35 0 56 0; +#X connect 36 0 17 0; +#X connect 36 0 56 1; +#X connect 37 0 71 0; +#X connect 37 1 57 0; +#X connect 38 0 70 0; +#X connect 38 1 59 0; +#X connect 39 0 69 0; +#X connect 39 1 60 0; +#X connect 41 0 40 0; +#X connect 41 1 13 0; +#X connect 41 2 0 0; +#X connect 42 0 24 0; +#X connect 42 0 55 0; +#X connect 43 0 26 0; +#X connect 43 0 55 1; +#X connect 44 0 30 0; +#X connect 44 0 54 1; +#X connect 45 0 28 0; +#X connect 45 0 54 0; +#X connect 46 0 32 0; +#X connect 46 0 53 0; +#X connect 47 0 34 0; +#X connect 47 0 53 1; +#X connect 48 0 6 1; +#X connect 48 1 5 1; +#X connect 49 0 8 1; +#X connect 49 1 7 1; +#X connect 50 0 12 1; +#X connect 50 1 9 1; +#X connect 51 0 11 1; +#X connect 51 1 10 1; +#X connect 53 0 77 0; +#X connect 54 0 76 0; +#X connect 55 0 75 0; +#X connect 56 0 74 0; +#X connect 57 0 63 0; +#X connect 58 0 64 0; +#X connect 59 0 62 0; +#X connect 60 0 61 0; +#X connect 61 0 11 0; +#X connect 62 0 12 0; +#X connect 63 0 8 0; +#X connect 64 0 6 0; +#X connect 65 0 5 0; +#X connect 66 0 7 0; +#X connect 67 0 9 0; +#X connect 68 0 10 0; +#X connect 69 0 68 0; +#X connect 70 0 67 0; +#X connect 71 0 66 0; +#X connect 72 0 65 0; +#X connect 73 0 60 1; +#X connect 73 0 69 1; +#X connect 73 0 59 1; +#X connect 73 0 70 1; +#X connect 73 0 57 1; +#X connect 73 0 71 1; +#X connect 73 0 58 1; +#X connect 73 0 72 1; +#X connect 74 0 52 0; +#X connect 75 0 52 0; +#X connect 76 0 52 0; +#X connect 77 0 52 0; +#X restore 75 342 pd point-befehle; +#X obj 240 32 t b b b; +#X msg 115 312 p0 0 0 \, p1 0.2 0.4 \, p2 0.8 0.6 \, p3 1 1; +#X obj 168 362 outlet; +#X obj 20 72 route size float canvas dump; +#X obj 143 132 s \$0-dump; +#X obj 143 112 0; +#X obj 220 152 110; +#N canvas 0 0 450 300 size-init 0; +#X obj 154 93 inlet; +#X obj 154 133 sel 0; +#X obj 154 113 \$1; +#X obj 154 153 100; +#X obj 154 183 s \$0-size; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 1 1 4 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X restore 259 72 pd size-init; +#N canvas 0 0 450 300 create-init 0; +#X obj 129 118 pointer; +#X obj 129 78 symbol \$0-bezier-a; +#X obj 129 198 s \$0-arrpoint; +#X obj 129 178 append \$0-bez-array x y; +#X msg 129 158 0 0; +#X msg 129 98 traverse \$1 \, bang; +#X obj 129 138 t b p; +#X obj 129 58 inlet; +#X connect 0 0 6 0; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X connect 6 0 4 0; +#X connect 6 1 3 2; +#X connect 7 0 1 0; +#X restore 279 52 pd create-init; +#X text 258 111 canvas init; +#X obj 230 112 \$2; +#X obj 220 202 t f f; +#X obj 220 222 pack; +#X obj 220 182 route float list; +#X msg 260 252 donecanvasdialog 1 -1 2 -20 120 120 -20 \$1 \$2 0 0 +; +#X connect 0 0 14 0; +#X connect 2 0 17 0; +#X connect 2 1 25 0; +#X connect 4 0 5 0; +#X connect 7 0 11 0; +#X connect 7 0 21 0; +#X connect 8 0 6 0; +#X connect 10 0 5 1; +#X connect 10 1 13 0; +#X connect 11 0 12 0; +#X connect 11 1 18 0; +#X connect 11 2 19 0; +#X connect 12 0 10 0; +#X connect 14 0 9 0; +#X connect 14 1 8 0; +#X connect 14 2 24 0; +#X connect 14 3 16 0; +#X connect 14 4 10 0; +#X connect 16 0 15 0; +#X connect 17 0 24 0; +#X connect 21 0 2 0; +#X connect 22 0 23 0; +#X connect 22 1 23 1; +#X connect 23 0 25 0; +#X connect 24 0 22 0; +#X connect 24 1 25 0; +#X connect 25 0 1 0; +#X restore 217 30 pd inside; +#X obj 287 10 namecanvas \$0-bezier-a; +#X obj 217 50 outlet; +#X obj 268 50 outlet; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 3 1 6 0; +#X coords -20 120 120 -20 100 100 2 0 0; +#X restore 115 156 pd bezier-a; +#X text 415 67 o resultado ainda nao funciona bem; +#X connect 1 0 30 0; +#X connect 2 0 30 0; +#X connect 4 0 30 0; +#X connect 7 0 1 0; +#X connect 10 0 30 0; +#X connect 11 0 10 0; +#X connect 15 0 30 0; +#X connect 17 0 30 0; +#X connect 18 0 17 0; +#X connect 19 0 30 0; +#X connect 21 0 7 0; +#X connect 22 0 21 0; +#X connect 25 0 30 0; +#X connect 26 0 25 0; +#X connect 27 0 26 0; +#X connect 28 0 29 0; +#X connect 29 0 26 0; +#X connect 29 1 26 1; +#X connect 30 0 0 0; +#X connect 30 0 8 0; +#X connect 30 1 5 0; diff --git a/bezier.pd b/bezier.pd new file mode 100644 index 0000000..480bcd7 --- /dev/null +++ b/bezier.pd @@ -0,0 +1,474 @@ +#N canvas 0 0 620 725 10; +#X obj 227 20 inlet; +#N canvas 782 318 534 370 inside 0; +#X obj 30 42 inlet; +#X obj 230 252 s \$0-bezier-a; +#X obj 230 182 sel 0; +#N canvas 0 0 450 300 element 0; +#X obj 52 46 struct \$0-bez-c float x float y; +#X restore 16 242 pd element; +#N canvas 113 250 606 425 array 0; +#X obj 58 96 route change click; +#X obj 78 130 unpack p f; +#X obj 58 24 struct \$0-bez-array float x float y array \$0-bez-c-arr +\$0-bez-c float p0x float p0y float p0x. float p0y. float p1x float +p1y float p1x. float p1y. float p2x float p2y float p2x. float p2y. +float p3x float p3y float p3x. float p3y.; +#X obj 31 312 filledpolygon 0 0 1 p1x p1y p1x. p1y p1x. p1y. p1x p1y. +p1x p1y; +#X obj 31 345 filledpolygon 0 0 1 p2x p2y p2x. p2y p2x. p2y. p2x p2y. +p2x p2y; +#X obj 78 150 t b p; +#X obj 78 210 outlet; +#X obj 105 170 s \$0-arrpoint; +#X obj 78 190 speedlim 150; +#X text 40 254 4 control points \, 2 extremos nao saem da caixa; +#X obj 213 160 drawpolygon 0 1 0 0 0 100 100 100 100 0 0 0; +#X obj 31 378 filledpolygon 0 0 1 p3x(-2:98)(-2:98) p3y(-2:98)(-2:98) +p3x. p3y p3x. p3y. p3x p3y. p3x p3y; +#X obj 31 279 filledpolygon 0 0 1 p0x(-2:98)(-2:98) p0y(-2:98)(-2:98) +p0x. p0y p0x. p0y. p0x p0y. p0x p0y; +#X obj 213 130 plot \$0-bez-c-arr 9 2 0 0; +#X connect 0 0 1 0; +#X connect 0 1 1 0; +#X connect 1 0 5 0; +#X connect 2 0 0 0; +#X connect 5 0 8 0; +#X connect 5 1 7 0; +#X connect 8 0 6 0; +#X restore 16 262 pd array; +#N canvas 604 353 469 520 calculate 0; +#X obj 27 42 inlet; +#X obj 27 112 until; +#X obj 27 132 f+ 0; +#X obj 27 92 101; +#X obj 27 172 * 0.01; +#X obj 27 262 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1 +\, 2) + (3*$f3-3*$f2)*$f1 + $f2; +#X obj 46 335 expr (-$f2+3*$f3-3*$f4+$f5)*pow($f1 \, 3) + (3*$f2-6*$f3+3*$f4)*pow($f1 +\, 2) + (3*$f3-3*$f2)*$f1 + $f2; +#X obj 27 242 pack f f f f f; +#X obj 46 315 pack f f f f f; +#X obj 228 378 r \$0-arrpoint; +#X obj 108 408 element \$0-bez-array \$0-bez-c-arr; +#X obj 46 468 set \$0-bez-c y; +#X obj 27 448 set \$0-bez-c x; +#X obj 108 428 t p p; +#X obj 27 152 t f f f; +#X obj 46 192 * 0.01; +#X text 142 11 array com 100 pontos. fazer 200? \; e necessario estar +a escalonar tudo? talvez nao; +#X obj 121 120 get \$0-bez-array p0x; +#X obj 291 120 get \$0-bez-array p0y; +#X obj 321 180 get \$0-bez-array p3y; +#X obj 151 180 get \$0-bez-array p3x; +#X obj 141 160 get \$0-bez-array p2x; +#X obj 311 160 get \$0-bez-array p2y; +#X obj 300 140 get \$0-bez-array p1y; +#X obj 131 140 get \$0-bez-array p1x; +#X obj 27 72 t b b; +#X obj 121 200 + 2; +#X obj 151 200 + 2; +#X obj 321 200 + 2; +#X obj 291 200 + 2; +#X obj 77 32 inlet; +#X obj 121 50 r \$0-arrpoint; +#X obj 121 80 pointer; +#X obj 77 52 t b b; +#X connect 0 0 25 0; +#X connect 1 0 2 0; +#X connect 2 0 14 0; +#X connect 3 0 1 0; +#X connect 4 0 7 0; +#X connect 5 0 12 0; +#X connect 6 0 11 0; +#X connect 7 0 5 0; +#X connect 8 0 6 0; +#X connect 9 0 10 1; +#X connect 10 0 13 0; +#X connect 13 0 12 1; +#X connect 13 1 11 1; +#X connect 14 0 4 0; +#X connect 14 1 15 0; +#X connect 14 2 10 0; +#X connect 15 0 8 0; +#X connect 17 0 26 0; +#X connect 18 0 29 0; +#X connect 19 0 28 0; +#X connect 20 0 27 0; +#X connect 21 0 7 3; +#X connect 22 0 8 3; +#X connect 23 0 8 2; +#X connect 24 0 7 2; +#X connect 25 0 3 0; +#X connect 25 1 2 1; +#X connect 26 0 7 1; +#X connect 27 0 7 4; +#X connect 28 0 8 4; +#X connect 29 0 8 1; +#X connect 30 0 33 0; +#X connect 31 0 32 0; +#X connect 32 0 17 0; +#X connect 32 0 18 0; +#X connect 32 0 23 0; +#X connect 32 0 22 0; +#X connect 32 0 19 0; +#X connect 32 0 24 0; +#X connect 32 0 21 0; +#X connect 32 0 20 0; +#X connect 33 0 25 0; +#X connect 33 1 32 0; +#X restore 16 282 pd calculate; +#X obj 75 122 outlet; +#X text 68 140 escalonar 0-1; +#X obj 289 92 pointer; +#X obj 289 52 symbol \$0-bezier-a; +#X obj 240 162 \$1; +#X obj 240 12 loadbang; +#X obj 289 172 s \$0-arrpoint; +#X obj 230 202 100; +#X msg 230 232 donecanvasdialog 1 -1 2 -10 110 110 -10 \$1 \$1 0 0 +; +#N canvas 0 0 450 300 index 0; +#X obj 65 258 outlet; +#X obj 185 88 r \$0-arrpoint; +#X obj 65 138 get \$0-bez-c y; +#X obj 65 118 element \$0-bez-array \$0-bez-c-arr; +#X obj 80 218 inv; +#X obj 65 238 *; +#X obj 80 158 r \$0-arrpoint; +#X obj 80 178 getsize \$0-bez-array \$0-bez-c-arr; +#X obj 80 198 - 1; +#X obj 65 98 inlet; +#X connect 1 0 3 1; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 5 1; +#X connect 5 0 0 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 9 0 3 0; +#X restore 75 102 pd index; +#N canvas 0 0 450 300 size 0; +#X obj 99 149 inlet; +#X obj 294 149 r \$0-arrpoint; +#X obj 99 169 setsize \$0-bez-array \$0-bez-c-arr; +#X connect 0 0 2 0; +#X connect 1 0 2 1; +#X restore 26 102 pd size; +#X obj 289 152 append \$0-bez-array x y; +#X msg 289 132 0 0; +#N canvas 174 133 668 593 point-befehle 0; +#X obj 228 58 route p0 p1 p2 p3; +#X obj 189 18 inlet; +#X obj 60 166 unpack; +#X obj 150 86 r \$0-arrpoint; +#X obj 150 116 t p p p p; +#X obj 60 236 set \$0-bez-array p0x; +#X obj 60 256 set \$0-bez-array p0y; +#X obj 200 236 set \$0-bez-array p1x; +#X obj 200 256 set \$0-bez-array p1y; +#X obj 340 236 set \$0-bez-array p2x; +#X obj 480 236 set \$0-bez-array p3x; +#X obj 480 256 set \$0-bez-array p3y; +#X obj 340 256 set \$0-bez-array p2y; +#X obj 47 116 pointer; +#X obj 47 362 get \$0-bez-array p0x; +#X obj 57 402 set \$0-bez-array p0x.; +#X obj 77 432 get \$0-bez-array p0y; +#X obj 57 472 set \$0-bez-array p0y.; +#X obj 47 332 t p p p p; +#X obj 47 292 t p p p p; +#X obj 197 332 t p p p p; +#X obj 347 332 t p p p p; +#X obj 496 332 t p p p p; +#X obj 197 362 get \$0-bez-array p1x; +#X obj 207 402 set \$0-bez-array p1x.; +#X obj 227 432 get \$0-bez-array p1y; +#X obj 207 472 set \$0-bez-array p1y.; +#X obj 347 362 get \$0-bez-array p2x; +#X obj 357 402 set \$0-bez-array p2x.; +#X obj 377 432 get \$0-bez-array p2y; +#X obj 357 472 set \$0-bez-array p2y.; +#X obj 496 362 get \$0-bez-array p3x; +#X obj 506 402 set \$0-bez-array p3x.; +#X obj 526 432 get \$0-bez-array p3y; +#X obj 506 472 set \$0-bez-array p3y.; +#X obj 47 382 + 5; +#X obj 77 452 + 5; +#X obj 200 166 unpack; +#X obj 340 166 unpack; +#X obj 480 166 unpack; +#X obj 23 82 outlet; +#X obj 189 38 t b b a; +#X obj 197 382 + 5; +#X obj 227 452 + 5; +#X obj 377 452 + 5; +#X obj 347 382 + 5; +#X obj 496 382 + 5; +#X obj 526 452 + 5; +#X obj 150 216 t p p; +#X obj 291 216 t p p; +#X obj 430 216 t p p; +#X obj 570 216 t p p; +#X obj 303 568 outlet; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 164 158 pack f f f; +#X obj 99 121 r \$0-dump; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 9 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 9 2; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X restore 497 502 pd convert; +#X msg 497 522 p3 \$2 \$3; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 99 121 r \$0-dump; +#X obj 164 158 pack f f f; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 10 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 10 2; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 10 0 1 0; +#X restore 347 502 pd convert; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 164 158 pack f f f; +#X obj 99 121 r \$0-dump; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 9 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 9 2; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X restore 197 502 pd convert; +#N canvas 118 276 450 300 convert 0; +#X obj 192 68 inlet; +#X obj 164 188 outlet; +#X obj 192 108 - 5; +#X obj 192 128 * 0.01; +#X obj 192 88 + 2; +#X obj 242 68 inlet; +#X obj 242 108 - 5; +#X obj 242 128 * 0.01; +#X obj 242 88 + 2; +#X obj 164 158 pack f f f; +#X obj 99 121 r \$0-dump; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 9 1; +#X connect 4 0 2 0; +#X connect 5 0 8 0; +#X connect 6 0 7 0; +#X connect 7 0 9 2; +#X connect 8 0 6 0; +#X connect 9 0 1 0; +#X connect 10 0 9 0; +#X restore 47 502 pd convert; +#X msg 347 522 p2 \$2 \$3; +#X msg 197 522 p1 \$2 \$3; +#X msg 47 522 p0 \$2 \$3; +#X obj 233 186 * 100; +#X obj 93 186 * 100; +#X obj 373 186 * 100; +#X obj 513 186 * 100; +#X obj 513 206 - 2; +#X obj 373 206 - 2; +#X obj 233 206 - 2; +#X obj 93 206 - 2; +#X obj 60 206 - 2; +#X obj 200 206 - 2; +#X obj 340 206 - 2; +#X obj 480 206 - 2; +#X obj 480 186 * 100; +#X obj 340 186 * 100; +#X obj 200 186 * 100; +#X obj 60 186 * 100; +#X connect 0 0 2 0; +#X connect 0 1 37 0; +#X connect 0 2 38 0; +#X connect 0 3 39 0; +#X connect 1 0 41 0; +#X connect 2 0 76 0; +#X connect 2 1 62 0; +#X connect 3 0 4 0; +#X connect 3 0 13 0; +#X connect 4 0 48 0; +#X connect 4 1 49 0; +#X connect 4 2 50 0; +#X connect 4 3 51 0; +#X connect 13 0 19 0; +#X connect 14 0 35 0; +#X connect 16 0 36 0; +#X connect 18 0 14 0; +#X connect 18 1 15 1; +#X connect 18 2 16 0; +#X connect 18 3 17 1; +#X connect 19 0 18 0; +#X connect 19 1 20 0; +#X connect 19 2 21 0; +#X connect 19 3 22 0; +#X connect 20 0 23 0; +#X connect 20 1 24 1; +#X connect 20 2 25 0; +#X connect 20 3 26 1; +#X connect 21 0 27 0; +#X connect 21 1 28 1; +#X connect 21 2 29 0; +#X connect 21 3 30 1; +#X connect 22 0 31 0; +#X connect 22 1 32 1; +#X connect 22 2 33 0; +#X connect 22 3 34 1; +#X connect 23 0 42 0; +#X connect 25 0 43 0; +#X connect 27 0 45 0; +#X connect 29 0 44 0; +#X connect 31 0 46 0; +#X connect 33 0 47 0; +#X connect 35 0 15 0; +#X connect 35 0 57 0; +#X connect 36 0 17 0; +#X connect 36 0 57 1; +#X connect 37 0 75 0; +#X connect 37 1 61 0; +#X connect 38 0 74 0; +#X connect 38 1 63 0; +#X connect 39 0 73 0; +#X connect 39 1 64 0; +#X connect 41 0 40 0; +#X connect 41 1 13 0; +#X connect 41 2 0 0; +#X connect 42 0 24 0; +#X connect 42 0 56 0; +#X connect 43 0 26 0; +#X connect 43 0 56 1; +#X connect 44 0 30 0; +#X connect 44 0 55 1; +#X connect 45 0 28 0; +#X connect 45 0 55 0; +#X connect 46 0 32 0; +#X connect 46 0 53 0; +#X connect 47 0 34 0; +#X connect 47 0 53 1; +#X connect 48 0 6 1; +#X connect 48 1 5 1; +#X connect 49 0 8 1; +#X connect 49 1 7 1; +#X connect 50 0 12 1; +#X connect 50 1 9 1; +#X connect 51 0 11 1; +#X connect 51 1 10 1; +#X connect 53 0 54 0; +#X connect 54 0 52 0; +#X connect 55 0 58 0; +#X connect 56 0 59 0; +#X connect 57 0 60 0; +#X connect 58 0 52 0; +#X connect 59 0 52 0; +#X connect 60 0 52 0; +#X connect 61 0 67 0; +#X connect 62 0 68 0; +#X connect 63 0 66 0; +#X connect 64 0 65 0; +#X connect 65 0 11 0; +#X connect 66 0 12 0; +#X connect 67 0 8 0; +#X connect 68 0 6 0; +#X connect 69 0 5 0; +#X connect 70 0 7 0; +#X connect 71 0 9 0; +#X connect 72 0 10 0; +#X connect 73 0 72 0; +#X connect 74 0 71 0; +#X connect 75 0 70 0; +#X connect 76 0 69 0; +#X restore 85 262 pd point-befehle; +#X msg 289 72 traverse \$1 \, bang; +#X obj 289 112 t b p; +#X obj 250 32 t b b b; +#X obj 259 62 101; +#X msg 105 312 p0 0 0 \, p1 0.2 0.4 \, p2 0.8 0.6 \, p3 1 1; +#X obj 178 282 outlet; +#X obj 30 62 route size float canvas dump; +#X obj 153 122 s \$0-dump; +#X obj 153 102 0; +#X connect 0 0 26 0; +#X connect 2 0 13 0; +#X connect 2 1 14 0; +#X connect 4 0 5 0; +#X connect 8 0 21 0; +#X connect 9 0 20 0; +#X connect 10 0 2 0; +#X connect 11 0 10 0; +#X connect 11 0 22 0; +#X connect 13 0 14 0; +#X connect 14 0 1 0; +#X connect 15 0 6 0; +#X connect 17 0 12 0; +#X connect 18 0 17 0; +#X connect 19 0 5 1; +#X connect 19 1 25 0; +#X connect 20 0 8 0; +#X connect 21 0 18 0; +#X connect 21 1 17 2; +#X connect 22 0 24 0; +#X connect 22 1 23 0; +#X connect 22 2 9 0; +#X connect 23 0 16 0; +#X connect 24 0 19 0; +#X connect 26 0 16 0; +#X connect 26 1 15 0; +#X connect 26 2 2 0; +#X connect 26 3 28 0; +#X connect 26 4 19 0; +#X connect 28 0 27 0; +#X restore 227 40 pd inside; +#X obj 297 20 namecanvas \$0-bezier-a; +#X obj 227 60 outlet; +#X obj 278 60 outlet; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 4 0; +#X coords -10 110 110 -10 100 100 2 0 0; -- cgit v1.2.1