From 3739ef59d6ffde0f8833626b8fee143a26470e9f Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 10 Apr 2007 05:38:15 +0000 Subject: lots of curves inspired by Golan Levin's processing shapers svn path=/trunk/externals/mapping/; revision=7553 --- breakpoint.pd | 73 +++++------- circular_sigmoid.pd | 20 ++++ double_linear.pd | 30 ----- elliptic_sigmoid.pd | 32 +++++ exponential_curve.pd | 67 +++++++++++ exponential_sigmoid.pd | 27 +++++ help/breakpoint-help.pd | 249 ++++++++++++++++++++++++--------------- help/breakpoint_smooth-help.pd | 201 +++++++++++++++++++------------ help/circular_seat-help.pd | 5 +- help/circular_sigmoid-help.pd | 121 +++++++++++++++++++ help/double_linear-help.pd | 130 -------------------- help/elliptic_sigmoid-help.pd | 131 ++++++++++++++++++++ help/exponential_curve-help.pd | 121 +++++++++++++++++++ help/exponential_seat-help.pd | 3 +- help/exponential_sigmoid-help.pd | 121 +++++++++++++++++++ help/logistic_sigmoid-help.pd | 221 ++++++++++++++++++++++++++++++++++ logistic_sigmoid.pd | 48 ++++++++ 17 files changed, 1222 insertions(+), 378 deletions(-) create mode 100644 circular_sigmoid.pd delete mode 100644 double_linear.pd create mode 100644 elliptic_sigmoid.pd create mode 100644 exponential_curve.pd create mode 100644 exponential_sigmoid.pd create mode 100644 help/circular_sigmoid-help.pd delete mode 100644 help/double_linear-help.pd create mode 100644 help/elliptic_sigmoid-help.pd create mode 100644 help/exponential_curve-help.pd create mode 100644 help/exponential_sigmoid-help.pd create mode 100644 help/logistic_sigmoid-help.pd create mode 100644 logistic_sigmoid.pd diff --git a/breakpoint.pd b/breakpoint.pd index 28d5846..e22d333 100644 --- a/breakpoint.pd +++ b/breakpoint.pd @@ -1,47 +1,30 @@ -#N canvas 0 0 433 427 10; -#X obj 42 29 inlet; -#X obj 101 28 inlet; -#X obj 250 26 inlet; -#X obj 42 81 moses \$1; -#X obj 42 105 / \$1; -#X obj 93 104 - \$1; -#X obj 157 86 t b f; -#X obj 174 63 loadbang; -#X obj 93 161 / 1; -#X msg 157 108 1; -#X obj 157 132 - \$1; -#X obj 42 245 f; -#X obj 42 208 * \$2; -#X obj 93 207 + \$2; -#X obj 250 93 t b f; -#X msg 250 115 1; -#X obj 250 139 - \$2; -#X obj 93 183 *; -#X obj 42 276 outlet; -#X connect 0 0 3 0; -#X connect 1 0 3 1; -#X connect 1 0 4 1; -#X connect 1 0 5 1; +#N canvas 463 193 492 454 10; +#X obj 62 10 inlet; +#X obj 327 9 inlet; +#X obj 106 405 outlet; +#X obj 240 10 loadbang; +#X obj 167 9 inlet; +#X obj 167 50 purepd/float_argument \$1; +#X obj 327 50 purepd/float_argument \$2; +#X obj 74 113 moses; +#X obj 167 84 moses 1; +#X obj 167 105 + 1e-06; +#X text 217 91 prevent divide by 0; +#X obj 232 279 expr $f3 + ((1-$f3)/(1-$f2))*($f1-$f2); +#X obj 61 280 expr ($f3/$f2) * $f1; +#X connect 0 0 7 0; #X connect 1 0 6 0; -#X connect 2 0 14 0; -#X connect 2 0 13 1; -#X connect 2 0 12 1; -#X connect 3 0 4 0; -#X connect 3 1 5 0; -#X connect 4 0 12 0; +#X connect 3 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 7 1; #X connect 5 0 8 0; -#X connect 6 0 9 0; -#X connect 6 1 10 1; -#X connect 7 0 9 0; -#X connect 7 0 15 0; -#X connect 8 0 17 0; -#X connect 9 0 10 0; -#X connect 10 0 8 1; -#X connect 11 0 18 0; -#X connect 12 0 11 0; -#X connect 13 0 11 0; -#X connect 14 0 15 0; -#X connect 14 1 16 1; -#X connect 15 0 16 0; -#X connect 16 0 17 1; -#X connect 17 0 13 0; +#X connect 6 0 11 2; +#X connect 6 0 12 2; +#X connect 7 0 12 0; +#X connect 7 1 11 0; +#X connect 8 0 9 0; +#X connect 9 0 12 1; +#X connect 9 0 11 1; +#X connect 11 0 2 0; +#X connect 12 0 2 0; diff --git a/circular_sigmoid.pd b/circular_sigmoid.pd new file mode 100644 index 0000000..aa2afc9 --- /dev/null +++ b/circular_sigmoid.pd @@ -0,0 +1,20 @@ +#N canvas 393 34 599 452 10; +#X obj 62 10 inlet; +#X obj 195 405 outlet; +#X obj 240 10 loadbang; +#X obj 167 9 inlet; +#X obj 167 50 purepd/float_argument \$1; +#X obj 131 114 moses; +#X obj 14 208 expr $f2 - sqrt($f2*$f2 - $f1*$f1); +#X obj 235 207 expr $f2 + sqrt(pow(1 - $f2 \, 2) - pow($f1 - 1 \, 2)) +; +#X connect 0 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 5 1; +#X connect 4 0 6 1; +#X connect 4 0 7 1; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; diff --git a/double_linear.pd b/double_linear.pd deleted file mode 100644 index 2ddcddf..0000000 --- a/double_linear.pd +++ /dev/null @@ -1,30 +0,0 @@ -#N canvas 405 334 488 450 10; -#X obj 62 10 inlet; -#X obj 327 9 inlet; -#X obj 106 405 outlet; -#X obj 240 10 loadbang; -#X obj 167 9 inlet; -#X obj 167 50 purepd/float_argument \$1; -#X obj 327 50 purepd/float_argument \$2; -#X obj 74 113 moses; -#X obj 114 220 moses 1; -#X obj 114 241 + 1e-06; -#X text 164 227 prevent divide by 0; -#X obj 232 279 expr $f3 + ((1-$f3)/(1-$f2))*($f1-$f2); -#X obj 61 280 expr ($f3/$f2) * $f1; -#X connect 0 0 7 0; -#X connect 1 0 6 0; -#X connect 3 0 5 0; -#X connect 3 0 6 0; -#X connect 4 0 5 0; -#X connect 5 0 7 1; -#X connect 5 0 8 0; -#X connect 5 0 11 1; -#X connect 6 0 11 2; -#X connect 6 0 12 2; -#X connect 7 0 12 0; -#X connect 7 1 11 0; -#X connect 8 0 9 0; -#X connect 9 0 12 1; -#X connect 11 0 2 0; -#X connect 12 0 2 0; diff --git a/elliptic_sigmoid.pd b/elliptic_sigmoid.pd new file mode 100644 index 0000000..afd8093 --- /dev/null +++ b/elliptic_sigmoid.pd @@ -0,0 +1,32 @@ +#N canvas 150 221 565 447 10; +#X obj 62 10 inlet; +#X obj 327 9 inlet; +#X obj 106 405 outlet; +#X obj 240 10 loadbang; +#X obj 167 9 inlet; +#X obj 167 50 purepd/float_argument \$1; +#X obj 327 50 purepd/float_argument \$2; +#X obj 74 113 moses; +#X obj 167 97 moses 1; +#X obj 167 118 + 1e-06; +#X text 217 104 prevent divide by 0; +#X obj 7 199 expr $f3 * (1 - (sqrt(pow($f2 \, 2) - pow($f1 \, 2)) / +$f2)); +#X obj 152 275 expr $f3 + ( ((1 - $f3)/(1 - $f2)) * sqrt(pow(1 - $f2 +\, 2) - pow($f1 - 1 \, 2)) ); +#X connect 0 0 7 0; +#X connect 1 0 6 0; +#X connect 3 0 5 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 7 1; +#X connect 5 0 8 0; +#X connect 6 0 11 2; +#X connect 6 0 12 2; +#X connect 7 0 11 0; +#X connect 7 1 12 0; +#X connect 8 0 9 0; +#X connect 9 0 11 1; +#X connect 9 0 12 1; +#X connect 11 0 2 0; +#X connect 12 0 2 0; diff --git a/exponential_curve.pd b/exponential_curve.pd new file mode 100644 index 0000000..792848b --- /dev/null +++ b/exponential_curve.pd @@ -0,0 +1,67 @@ +#N canvas 134 134 428 451 10; +#X obj 26 4 inlet; +#X obj 150 396 outlet; +#X obj 220 10 loadbang; +#X obj 147 9 inlet; +#X obj 147 50 purepd/float_argument \$1; +#X obj 147 96 moses 0.5; +#X obj 147 292 * 2; +#X obj 132 313 pow; +#X obj 263 177 - 0.5; +#X obj 263 201 * 2; +#X obj 250 313 pow; +#X obj 147 74 moses 1; +#X obj 264 248 -; +#X msg 263 226 1 \$1; +#X obj 265 291 /; +#X msg 265 271 1 \$1; +#N canvas 0 22 433 306 pick 0; +#X obj 306 39 inlet; +#X obj 306 67 bang; +#X obj 226 38 inlet; +#X obj 226 66 bang; +#X msg 213 89 1; +#X msg 242 89 0; +#X msg 293 90 0; +#X msg 322 90 1; +#X obj 20 39 inlet; +#X obj 249 196 spigot; +#X obj 110 194 spigot; +#X obj 109 249 outlet; +#X obj 248 245 outlet; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 0 7 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 10 1; +#X connect 5 0 9 1; +#X connect 6 0 10 1; +#X connect 7 0 9 1; +#X connect 8 0 10 0; +#X connect 8 0 9 0; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X restore 26 158 pd pick algorithm; +#X text 196 75 constrain to <1; +#X connect 0 0 16 0; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 11 0; +#X connect 5 0 6 0; +#X connect 5 0 16 1; +#X connect 5 1 8 0; +#X connect 5 1 16 2; +#X connect 6 0 7 1; +#X connect 7 0 1 0; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 10 0 1 0; +#X connect 11 0 5 0; +#X connect 12 0 15 0; +#X connect 13 0 12 0; +#X connect 14 0 10 1; +#X connect 15 0 14 0; +#X connect 16 0 7 0; +#X connect 16 1 10 0; diff --git a/exponential_sigmoid.pd b/exponential_sigmoid.pd new file mode 100644 index 0000000..962c2b0 --- /dev/null +++ b/exponential_sigmoid.pd @@ -0,0 +1,27 @@ +#N canvas 277 167 454 439 10; +#X obj 62 10 inlet; +#X obj 195 405 outlet; +#X obj 240 10 loadbang; +#X obj 167 9 inlet; +#X obj 167 50 purepd/float_argument \$1; +#X obj 62 84 moses 0.5; +#X obj 14 208 expr pow(2*$f1 \, 1/$f2)/2; +#X obj 200 206 expr 1 - (pow(2*(1-$f1) \, 1/$f2)/2); +#X obj 167 97 bang; +#X obj 167 77 moses 1e-06; +#X msg 167 118 1e-06; +#X text 272 98 constrain to >0; +#X connect 0 0 5 0; +#X connect 2 0 4 0; +#X connect 3 0 4 0; +#X connect 4 0 9 0; +#X connect 5 0 6 0; +#X connect 5 1 7 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 9 1 7 1; +#X connect 9 1 6 1; +#X connect 10 0 6 1; +#X connect 10 0 7 1; diff --git a/help/breakpoint-help.pd b/help/breakpoint-help.pd index 8d48253..1e67b7c 100644 --- a/help/breakpoint-help.pd +++ b/help/breakpoint-help.pd @@ -1,65 +1,131 @@ -#N canvas 584 82 885 571 10; -#X obj 20 38 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +#N canvas 377 72 515 428 10; +#X obj 384 32 import mapping ggee; +#X obj 5 2 cnv 15 500 20 empty empty breakpoint 2 11 1 18 -233017 -66577 +0; +#X msg 471 2 pddp; +#X text 304 393 released under the GNU GPL; +#X text 82 358 For more info:; +#X floatatom 25 127 8 0 0 0 - - -; +#X floatatom 25 288 8 0 0 0 - - -; +#X obj 28 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 28 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 -1 -1 0 1; -#X obj 20 213 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 --1 -1 0 1; -#X floatatom 91 156 5 0 0 0 - - -; -#X floatatom 162 157 5 0 0 0 - - -; -#X floatatom 144 247 5 0 1 0 - - -; -#X obj 144 271 t b f; -#X floatatom 236 247 5 0 1 0 - - -; -#X obj 236 271 t b f; -#X obj 82 271 loadbang; -#X text 111 541 XY relation of the breakpoint object; -#N canvas 0 0 450 300 float 0; -#X obj 71 23 inlet; -#X obj 48 191 outlet; -#X obj 150 22 inlet; -#X obj 71 93 list prepend; -#X obj 71 118 list; -#X obj 48 141 list; -#X obj 48 166 list trim; -#X obj 150 45 t b b; -#X msg 150 70 list; -#X connect 0 0 3 0; -#X connect 2 0 7 0; +#N canvas 273 69 474 407 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 66 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 254 / 200; +#X text 96 254 mapping output range: 0 to 1; +#N canvas 0 22 461 369 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 117 289 receive \$0-x-slider; +#X floatatom 118 312 5 0 0 0 - - -; +#X floatatom 279 313 5 0 0 0 - - -; +#X obj 280 290 receive \$0-y-slider; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 19 0; +#X connect 2 1 3 0; #X connect 3 0 4 0; -#X connect 4 0 3 1; -#X connect 4 0 5 1; +#X connect 4 0 19 0; #X connect 5 0 6 0; -#X connect 6 0 1 0; -#X connect 7 0 8 0; -#X connect 7 1 5 0; -#X connect 8 0 3 1; -#X restore 82 353 pd float to list ___________; -#N canvas 0 0 450 300 generate 0; -#X obj 55 38 inlet; -#X msg 55 65 0; -#X obj 55 91 f; -#X obj 55 164 + 1; -#X obj 55 137 t f f; -#X obj 85 192 outlet; -#X obj 148 192 outlet; -#X obj 148 166 t b; -#X obj 85 164 / 100; -#X obj 55 114 moses 101; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 9 0; -#X connect 3 0 2 0; -#X connect 4 0 3 0; -#X connect 4 1 8 0; -#X connect 7 0 6 0; -#X connect 8 0 5 0; -#X connect 9 0 4 0; -#X connect 9 1 7 0; -#X restore 82 302 pd generate list ___________; -#X floatatom 513 224 5 0 1 0 - - -; -#X obj 513 248 t b f; -#X floatatom 584 223 5 0 0 0 - - -; -#X obj 584 247 t b f; -#X obj 451 248 loadbang; -#N canvas 0 0 450 300 float 0; +#X connect 6 0 19 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 18 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 293 12 receive \$0-y-slider; +#X obj 294 50 trigger bang float; +#X obj 54 280 breakpoint; +#X obj 54 108 cyclone/speedlim 100; +#X connect 0 0 18 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 17 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 17 0; +#X connect 14 0 9 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X connect 16 1 17 2; +#X connect 17 0 8 0; +#X connect 18 0 1 0; +#X restore 387 71 pd draw_array; +#X obj 158 167 hsl 50 15 0 1 0 1 \$0-y-slider \$0-y-slider-receive +y 5 9 0 11 -204800 -1 -1 2352 0; +#X floatatom 165 186 7 0 0 0 - - -; +#X obj 334 359 pddp/open mapping-about; +#X text 37 392 (C) Copyright 2007 Free Software Foundation; +#X obj 282 103 gcanvas 200 200; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 282 103 graph; +#X obj 282 308 send \$0-x; +#X obj 424 307 send \$0-y; +#X obj 74 167 hsl 50 15 0 1 0 1 \$0-x-slider \$0-x-slider-receive x +5 9 0 11 -232576 -1 -1 3700 0; +#X floatatom 80 187 7 0 0 0 - - -; +#X text 17 39 This object curves the input range using a double-linear +interpolator with two control parameters.; +#X obj 25 217 breakpoint; +#N canvas 0 22 461 638 usage 0; +#X floatatom 153 34 5 0 1 0 - - -; +#X obj 153 58 t b f; +#X floatatom 224 33 5 0 0 0 - - -; +#X obj 224 57 t b f; +#X obj 91 58 loadbang; +#N canvas 0 22 454 304 float 0; #X obj 71 23 inlet; #X obj 48 191 outlet; #X obj 150 22 inlet; @@ -79,8 +145,8 @@ #X connect 7 0 8 0; #X connect 7 1 5 0; #X connect 8 0 3 1; -#X restore 451 358 pd float to list ___________; -#N canvas 0 0 450 300 generate 0; +#X restore 91 168 pd float to list ___________; +#N canvas 0 22 450 300 generate 0; #X obj 55 38 inlet; #X msg 55 65 0; #X obj 55 91 f; @@ -101,39 +167,30 @@ #X connect 8 0 5 0; #X connect 9 0 4 0; #X connect 9 1 7 0; -#X restore 451 279 pd generate list ___________; -#X text 110 70 for X go thru 0 to \$1 \, Y go thrus 0 to \$2.; -#X text 109 89 for X go thru \$1 to 1 \, Y go thrus \$2 to 1; -#X obj 20 180 breakpoint 0.8 0.3; -#X obj 82 327 breakpoint 0.8 0.3 _____; -#X obj 82 381 multi_slider 100; -#X obj 452 388 multi_slider 100; -#X obj 451 304 breakpoint 0.3 0.5 _____; -#X obj 451 332 nl 1 ________________; -#X connect 0 0 21 0; -#X connect 2 0 21 1; -#X connect 3 0 21 2; -#X connect 4 0 5 0; -#X connect 5 0 11 0; -#X connect 5 1 22 1; +#X restore 91 89 pd generate list ___________; +#X obj 92 198 multi_slider 100; +#X obj 91 114 breakpoint 0.3 0.5 _____; +#X obj 91 142 nl 1 ________________; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 1 1 8 1; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 3 1 9 1; +#X connect 4 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 6 1 5 1; +#X connect 8 0 9 0; +#X connect 9 0 5 0; +#X restore 197 359 pd usage example; +#X connect 5 0 21 0; #X connect 6 0 7 0; -#X connect 7 0 11 0; -#X connect 7 1 22 2; -#X connect 8 0 11 0; -#X connect 10 0 23 0; -#X connect 11 0 22 0; -#X connect 11 1 10 1; -#X connect 12 0 13 0; -#X connect 13 0 18 0; -#X connect 13 1 25 1; -#X connect 14 0 15 0; -#X connect 15 0 18 0; -#X connect 15 1 26 1; -#X connect 16 0 18 0; -#X connect 17 0 24 0; -#X connect 18 0 25 0; -#X connect 18 1 17 1; -#X connect 21 0 1 0; -#X connect 22 0 10 0; -#X connect 25 0 26 0; -#X connect 26 0 17 0; +#X connect 8 0 5 0; +#X connect 10 0 11 0; +#X connect 10 0 21 2; +#X connect 14 0 16 0; +#X connect 14 1 17 0; +#X connect 18 0 19 0; +#X connect 18 0 21 1; +#X connect 21 0 6 0; diff --git a/help/breakpoint_smooth-help.pd b/help/breakpoint_smooth-help.pd index d0ace73..7a8110e 100644 --- a/help/breakpoint_smooth-help.pd +++ b/help/breakpoint_smooth-help.pd @@ -1,78 +1,131 @@ -#N canvas 230 45 885 734 10; -#X obj 20 38 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +#N canvas 377 72 526 441 10; +#X obj 384 32 import mapping ggee; +#X obj 5 2 cnv 15 500 20 empty empty breakpoint_smooth 2 11 1 18 -233017 +-66577 0; +#X msg 471 2 pddp; +#X text 304 393 released under the GNU GPL; +#X text 179 362 For more info:; +#X floatatom 25 127 8 0 0 0 - - -; +#X floatatom 25 288 8 0 0 0 - - -; +#X obj 28 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 28 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 -1 -1 0 1; -#X obj 20 213 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 --1 -1 0 1; -#X floatatom 91 156 5 0 0 0 - - -; -#X floatatom 162 157 5 0 0 0 - - -; -#X floatatom 144 247 5 0 1 0 - - -; -#X obj 144 271 t b f; -#X floatatom 236 247 5 0 1 0 - - -; -#X obj 236 271 t b f; -#X obj 82 271 loadbang; -#X text 214 185 XY relation of the breakpoint object; -#N canvas 0 0 450 300 float 0; -#X obj 71 23 inlet; -#X obj 48 191 outlet; -#X obj 150 22 inlet; -#X obj 71 93 list prepend; -#X obj 71 118 list; -#X obj 48 141 list; -#X obj 48 166 list trim; -#X obj 150 45 t b b; -#X msg 150 70 list; -#X connect 0 0 3 0; -#X connect 2 0 7 0; +#N canvas 273 69 474 407 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 66 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 254 / 200; +#X text 96 254 mapping output range: 0 to 1; +#N canvas 0 22 461 369 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 117 289 receive \$0-x-slider; +#X floatatom 118 312 5 0 0 0 - - -; +#X floatatom 279 313 5 0 0 0 - - -; +#X obj 280 290 receive \$0-y-slider; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 19 0; +#X connect 2 1 3 0; #X connect 3 0 4 0; -#X connect 4 0 3 1; -#X connect 4 0 5 1; +#X connect 4 0 19 0; #X connect 5 0 6 0; -#X connect 6 0 1 0; -#X connect 7 0 8 0; -#X connect 7 1 5 0; -#X connect 8 0 3 1; -#X restore 82 353 pd float to list ___________; -#N canvas 0 0 450 300 generate 0; -#X obj 55 38 inlet; -#X msg 55 65 0; -#X obj 55 91 f; -#X obj 55 164 + 1; -#X obj 55 137 t f f; -#X obj 85 192 outlet; -#X obj 148 192 outlet; -#X obj 148 166 t b; -#X obj 85 164 / 100; -#X obj 55 114 moses 101; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 9 0; -#X connect 3 0 2 0; -#X connect 4 0 3 0; -#X connect 4 1 8 0; -#X connect 7 0 6 0; -#X connect 8 0 5 0; -#X connect 9 0 4 0; -#X connect 9 1 7 0; -#X restore 82 302 pd generate list ___________; -#X text 110 70 for X go thru 0 to \$1 \, Y go thrus 0 to \$2.; -#X text 109 89 for X go thru \$1 to 1 \, Y go thrus \$2 to 1; -#X obj 20 180 breakpoint 0.8 0.3; -#X obj 82 381 multi_slider 100; -#X obj 82 328 breakpoint_smooth 0.8 0.3 _; -#X text 216 19 just like breakpoint \, but with a smooth curve (i.e. -: no breakpoint!). the output value is \$2 for input = \$1.; -#X connect 0 0 14 0; -#X connect 2 0 14 1; -#X connect 3 0 14 2; -#X connect 4 0 5 0; -#X connect 5 0 11 0; -#X connect 5 1 16 1; -#X connect 6 0 7 0; +#X connect 6 0 19 0; #X connect 7 0 11 0; -#X connect 7 1 16 2; -#X connect 8 0 11 0; -#X connect 10 0 15 0; -#X connect 11 0 16 0; -#X connect 11 1 10 1; -#X connect 14 0 1 0; -#X connect 16 0 10 0; +#X connect 7 1 8 0; +#X connect 8 0 18 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 293 12 receive \$0-y-slider; +#X obj 294 50 trigger bang float; +#X obj 54 280 breakpoint_smooth; +#X obj 54 108 cyclone/speedlim 100; +#X connect 0 0 18 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 17 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 17 0; +#X connect 14 0 9 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X connect 16 1 17 2; +#X connect 17 0 8 0; +#X connect 18 0 1 0; +#X restore 387 71 pd draw_array; +#X obj 158 167 hsl 50 15 0 1 0 0 \$0-y-slider \$0-y-slider-receive +y 5 9 0 11 -204800 -1 -1 0 0; +#X floatatom 165 186 7 0 0 0 - - -; +#X obj 283 360 pddp/open mapping-about; +#X text 37 392 (C) Copyright 2007 Free Software Foundation; +#X obj 282 103 gcanvas 200 200; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 282 103 graph; +#X obj 282 308 send \$0-x; +#X obj 424 307 send \$0-y; +#X obj 74 167 hsl 50 15 0 1 0 0 \$0-x-slider \$0-x-slider-receive x +5 9 0 11 -232576 -1 -1 0 0; +#X floatatom 80 187 7 0 0 0 - - -; +#X text 17 39 This object curves the input range using a double-linear +interpolator with two control parameters.; +#X obj 25 217 breakpoint_smooth; +#X connect 5 0 21 0; +#X connect 6 0 7 0; +#X connect 8 0 5 0; +#X connect 10 0 11 0; +#X connect 10 0 21 2; +#X connect 14 0 16 0; +#X connect 14 1 17 0; +#X connect 18 0 19 0; +#X connect 18 0 21 1; +#X connect 21 0 6 0; diff --git a/help/circular_seat-help.pd b/help/circular_seat-help.pd index f62e5fb..cb785a1 100644 --- a/help/circular_seat-help.pd +++ b/help/circular_seat-help.pd @@ -1,4 +1,4 @@ -#N canvas 107 47 482 425 10; +#N canvas 107 47 486 429 10; #X obj 5 2 cnv 15 450 20 empty empty circular_seat 2 11 1 18 -233017 -66577 0; #X msg 422 3 pddp; @@ -106,10 +106,11 @@ #X obj 262 308 send \$0-x; #X obj 404 307 send \$0-y; #X obj 111 167 hsl 50 15 0 1 0 0 \$0-x-slider \$0-x-slider-receive -x 5 9 0 11 -232576 -1 -1 2450 0; +x 5 9 0 11 -232576 -1 -1 0 0; #X floatatom 117 187 7 0 0 0 - - -; #X text 17 39 This object curves the input range using a double-circular seat controlled by one parameter.; +#X text 15 71 (click in the gray area to play); #X connect 4 0 11 0; #X connect 5 0 6 0; #X connect 7 0 4 0; diff --git a/help/circular_sigmoid-help.pd b/help/circular_sigmoid-help.pd new file mode 100644 index 0000000..871f15e --- /dev/null +++ b/help/circular_sigmoid-help.pd @@ -0,0 +1,121 @@ +#N canvas 453 22 486 429 10; +#X obj 5 2 cnv 15 450 20 empty empty circular_sigmoid 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 273 392 released under the GNU GPL; +#X text 148 361 For more info:; +#X floatatom 15 127 8 0 0 0 - - -; +#X floatatom 15 288 8 0 0 0 - - -; +#X obj 18 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 18 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 +-1 -1 0 1; +#N canvas 273 69 470 403 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 53 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 287 / 200; +#X text 96 287 mapping output range: 0 to 1; +#N canvas 0 22 461 369 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 117 289 receive \$0-x-slider; +#X floatatom 118 312 5 0 0 0 - - -; +#X floatatom 279 313 5 0 0 0 - - -; +#X obj 280 290 receive \$0-y-slider; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 19 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 19 0; +#X connect 5 0 6 0; +#X connect 6 0 19 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 18 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 54 108 speedlim 100; +#X obj 53 313 circular_sigmoid; +#X connect 0 0 15 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 16 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 16 0; +#X connect 14 0 9 0; +#X connect 15 0 1 0; +#X connect 16 0 8 0; +#X restore 367 71 pd draw_array; +#X obj 252 359 pddp/open mapping-about; +#X text 6 391 (C) Copyright 2007 Free Software Foundation; +#X obj 15 217 circular_sigmoid; +#X obj 262 103 gcanvas 200 200; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 262 103 graph; +#X obj 262 308 send \$0-x; +#X obj 404 307 send \$0-y; +#X obj 111 167 hsl 50 15 0 1 0 0 \$0-x-slider \$0-x-slider-receive +x 5 9 0 11 -232576 -1 -1 1029 0; +#X floatatom 117 187 7 0 0 0 - - -; +#X text 17 39 This object curves the input range using a double-circular +seat controlled by one parameter.; +#X text 15 71 (click in the gray area to play); +#X connect 4 0 11 0; +#X connect 5 0 6 0; +#X connect 7 0 4 0; +#X connect 11 0 5 0; +#X connect 12 0 14 0; +#X connect 12 1 15 0; +#X connect 16 0 11 1; +#X connect 16 0 17 0; diff --git a/help/double_linear-help.pd b/help/double_linear-help.pd deleted file mode 100644 index 95d4771..0000000 --- a/help/double_linear-help.pd +++ /dev/null @@ -1,130 +0,0 @@ -#N canvas 568 30 498 429 10; -#X obj 5 2 cnv 15 450 20 empty empty double_linear 2 11 1 18 -233017 --66577 0; -#X msg 422 3 pddp; -#X text 283 392 released under the GNU GPL; -#X text 158 361 For more info:; -#X floatatom 25 127 8 0 0 0 - - -; -#X floatatom 25 288 8 0 0 0 - - -; -#X obj 28 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 -12 -262144 -1 -1 0 1; -#X obj 28 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 --1 -1 0 1; -#N canvas 273 69 466 399 draw_array 0; -#X msg 54 82 bang; -#X obj 54 133 until; -#X text 85 82 start; -#X obj 54 155 f; -#X obj 83 155 + 1; -#X obj 54 43 loadbang; -#X obj 54 210 trigger float float; -#X obj 127 157 select 0; -#X obj 53 343 tabwrite \$0-curve; -#X obj 139 53 trigger bang float; -#X obj 83 177 mod 200; -#X obj 54 287 / 200; -#X text 96 287 mapping output range: 0 to 1; -#N canvas 0 22 461 369 receive 0; -#X obj 253 33 receive \$0-y; -#X obj 253 57 moses; -#X obj 280 78 moses 201; -#X obj 331 99 bang; -#X msg 331 120 200; -#X obj 238 98 bang; -#X msg 238 119 0; -#X obj 91 56 moses; -#X obj 118 77 moses 201; -#X obj 169 98 bang; -#X msg 169 119 200; -#X obj 76 97 bang; -#X msg 76 118 0; -#X obj 91 32 receive \$0-x; -#X obj 117 289 receive \$0-x-slider; -#X floatatom 118 312 5 0 0 0 - - -; -#X floatatom 279 313 5 0 0 0 - - -; -#X obj 280 290 receive \$0-y-slider; -#X obj 118 169 / 200; -#X obj 280 170 / 200; -#X obj 118 249 send \$0-x-slider-receive; -#X obj 280 250 send \$0-y-slider-receive; -#X msg 281 193 1 \$1; -#X obj 280 221 -; -#X connect 0 0 1 0; -#X connect 1 0 5 0; -#X connect 1 1 2 0; -#X connect 2 0 19 0; -#X connect 2 1 3 0; -#X connect 3 0 4 0; -#X connect 4 0 19 0; -#X connect 5 0 6 0; -#X connect 6 0 19 0; -#X connect 7 0 11 0; -#X connect 7 1 8 0; -#X connect 8 0 18 0; -#X connect 8 1 9 0; -#X connect 9 0 10 0; -#X connect 10 0 18 0; -#X connect 11 0 12 0; -#X connect 12 0 18 0; -#X connect 13 0 7 0; -#X connect 14 0 15 0; -#X connect 17 0 16 0; -#X connect 18 0 20 0; -#X connect 19 0 22 0; -#X connect 22 0 23 0; -#X connect 23 0 21 0; -#X restore 265 348 pd receive from gcanvas; -#X obj 138 9 receive \$0-x-slider; -#X obj 293 12 receive \$0-y-slider; -#X obj 53 313 double_linear; -#X obj 294 50 trigger bang float; -#X obj 54 108 speedlim 100; -#X connect 0 0 18 0; -#X connect 1 0 3 0; -#X connect 3 0 4 0; -#X connect 3 0 6 0; -#X connect 4 0 10 0; -#X connect 5 0 0 0; -#X connect 6 0 11 0; -#X connect 6 1 8 1; -#X connect 7 0 1 1; -#X connect 9 0 0 0; -#X connect 9 1 16 1; -#X connect 10 0 3 1; -#X connect 10 0 7 0; -#X connect 11 0 16 0; -#X connect 14 0 9 0; -#X connect 15 0 17 0; -#X connect 16 0 8 0; -#X connect 17 0 0 0; -#X connect 17 1 16 2; -#X connect 18 0 1 0; -#X restore 377 71 pd draw_array; -#X obj 158 167 hsl 50 15 0 1 0 0 \$0-y-slider \$0-y-slider-receive -y 5 9 0 11 -204800 -1 -1 0 0; -#X floatatom 165 186 7 0 0 0 - - -; -#X obj 262 359 pddp/open mapping-about; -#X text 16 391 (C) Copyright 2007 Free Software Foundation; -#X obj 25 217 double_linear; -#X obj 272 103 gcanvas 200 200; -#N canvas 0 22 450 300 graph1 0; -#X array \$0-curve 200 float 0; -#X coords 0 1 199 0 200 200 1; -#X restore 272 103 graph; -#X obj 272 308 send \$0-x; -#X obj 414 307 send \$0-y; -#X obj 74 167 hsl 50 15 0 1 0 0 \$0-x-slider \$0-x-slider-receive x -5 9 0 11 -232576 -1 -1 0 0; -#X floatatom 80 187 7 0 0 0 - - -; -#X text 17 39 This object curves the input range using a double-linear -interpolator with two control parameters.; -#X connect 4 0 13 0; -#X connect 5 0 6 0; -#X connect 7 0 4 0; -#X connect 9 0 13 2; -#X connect 9 0 10 0; -#X connect 13 0 5 0; -#X connect 14 0 16 0; -#X connect 14 1 17 0; -#X connect 18 0 13 1; -#X connect 18 0 19 0; diff --git a/help/elliptic_sigmoid-help.pd b/help/elliptic_sigmoid-help.pd new file mode 100644 index 0000000..28bbb6f --- /dev/null +++ b/help/elliptic_sigmoid-help.pd @@ -0,0 +1,131 @@ +#N canvas 364 172 519 423 10; +#X obj 386 30 import mapping ggee; +#X obj 5 2 cnv 15 500 20 empty empty elliptic_sigmoid 2 11 1 18 -233017 +-66577 0; +#X msg 471 2 pddp; +#X text 304 393 released under the GNU GPL; +#X text 235 359 For more info:; +#X floatatom 25 127 8 0 0 0 - - -; +#X floatatom 25 288 8 0 0 0 - - -; +#X obj 28 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 28 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 +-1 -1 0 1; +#X obj 158 167 hsl 50 15 0 1 0 1 \$0-y-slider \$0-y-slider-receive +y 5 9 0 11 -204800 -1 -1 1421 0; +#X floatatom 165 186 7 0 0 0 - - -; +#X obj 334 359 pddp/open mapping-about; +#X text 37 392 (C) Copyright 2007 Free Software Foundation; +#X obj 74 167 hsl 50 15 0 1 0 1 \$0-x-slider \$0-x-slider-receive x +5 9 0 11 -232576 -1 -1 2744 0; +#X floatatom 80 187 7 0 0 0 - - -; +#X text 17 39 This object curves the input range using a double-linear +interpolator with two control parameters.; +#X obj 25 217 elliptic_sigmoid; +#N canvas 273 69 478 411 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 66 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 254 / 200; +#X text 96 254 mapping output range: 0 to 1; +#N canvas 0 22 461 369 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 117 289 receive \$0-x-slider; +#X floatatom 118 312 5 0 0 0 - - -; +#X floatatom 279 313 5 0 0 0 - - -; +#X obj 280 290 receive \$0-y-slider; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 19 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 19 0; +#X connect 5 0 6 0; +#X connect 6 0 19 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 18 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 293 12 receive \$0-y-slider; +#X obj 294 50 trigger bang float; +#X obj 54 108 cyclone/speedlim 100; +#X obj 54 280 elliptic_sigmoid; +#X connect 0 0 17 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 18 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 18 0; +#X connect 14 0 9 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X connect 16 1 18 2; +#X connect 17 0 1 0; +#X connect 18 0 8 0; +#X restore 387 71 pd draw_array; +#X obj 282 103 gcanvas 200 200; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 282 103 graph; +#X obj 282 308 send \$0-x; +#X obj 424 307 send \$0-y; +#X connect 5 0 16 0; +#X connect 6 0 7 0; +#X connect 8 0 5 0; +#X connect 9 0 10 0; +#X connect 9 0 16 2; +#X connect 13 0 14 0; +#X connect 13 0 16 1; +#X connect 16 0 6 0; +#X connect 18 0 20 0; +#X connect 18 1 21 0; diff --git a/help/exponential_curve-help.pd b/help/exponential_curve-help.pd new file mode 100644 index 0000000..e80084e --- /dev/null +++ b/help/exponential_curve-help.pd @@ -0,0 +1,121 @@ +#N canvas 75 55 502 438 10; +#X obj 5 -3 cnv 15 450 20 empty empty exponential_curve 2 11 1 18 -233017 +-66577 0; +#X msg 422 -2 pddp; +#X text 283 387 released under the GNU GPL; +#X text 158 356 For more info:; +#X floatatom 25 122 8 0 0 0 - - -; +#X floatatom 25 283 8 0 0 0 - - -; +#X obj 28 300 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 28 96 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 +-1 -1 0 1; +#N canvas 273 69 474 407 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 53 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 287 / 200; +#X text 96 287 mapping output range: 0 to 1; +#N canvas 0 22 461 369 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 117 289 receive \$0-x-slider; +#X floatatom 118 312 5 0 0 0 - - -; +#X floatatom 279 313 5 0 0 0 - - -; +#X obj 280 290 receive \$0-y-slider; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 19 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 19 0; +#X connect 5 0 6 0; +#X connect 6 0 19 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 18 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 54 108 speedlim 100; +#X obj 53 313 exponential_curve; +#X connect 0 0 15 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 16 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 16 0; +#X connect 14 0 9 0; +#X connect 15 0 1 0; +#X connect 16 0 8 0; +#X restore 377 66 pd draw_array; +#X obj 262 354 pddp/open mapping-about; +#X text 16 386 (C) Copyright 2007 Free Software Foundation; +#X obj 272 98 gcanvas 200 200; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 272 98 graph; +#X obj 272 303 send \$0-x; +#X obj 414 302 send \$0-y; +#X obj 127 163 hsl 50 15 0 1 0 0 \$0-x-slider \$0-x-slider-receive +x 5 9 0 11 -232576 -1 -1 1617 0; +#X floatatom 133 183 7 0 0 0 - - -; +#X text 17 34 This object curves the input range using a double-exponential +seat controlled by one parameter.; +#X obj 25 212 exponential_curve; +#X text 15 71 (click in the gray area to play); +#X connect 4 0 18 0; +#X connect 5 0 6 0; +#X connect 7 0 4 0; +#X connect 11 0 13 0; +#X connect 11 1 14 0; +#X connect 15 0 16 0; +#X connect 15 0 18 1; +#X connect 18 0 5 0; diff --git a/help/exponential_seat-help.pd b/help/exponential_seat-help.pd index 7c853c0..1448747 100644 --- a/help/exponential_seat-help.pd +++ b/help/exponential_seat-help.pd @@ -1,4 +1,4 @@ -#N canvas 709 123 502 433 10; +#N canvas 709 123 506 437 10; #X obj 5 2 cnv 15 450 20 empty empty exponential_seat 2 11 1 18 -233017 -66577 0; #X msg 422 3 pddp; @@ -110,6 +110,7 @@ x 5 9 0 11 -232576 -1 -1 0 0; #X floatatom 127 187 7 0 0 0 - - -; #X text 17 39 This object curves the input range using a double-exponential seat controlled by one parameter.; +#X text 15 71 (click in the gray area to play); #X connect 4 0 11 0; #X connect 5 0 6 0; #X connect 7 0 4 0; diff --git a/help/exponential_sigmoid-help.pd b/help/exponential_sigmoid-help.pd new file mode 100644 index 0000000..48f447a --- /dev/null +++ b/help/exponential_sigmoid-help.pd @@ -0,0 +1,121 @@ +#N canvas 130 42 494 421 10; +#X obj 5 2 cnv 15 450 20 empty empty exponential_sigmoid 2 11 1 18 +-233017 -66577 0; +#X msg 422 3 pddp; +#X text 283 392 released under the GNU GPL; +#X text 158 361 For more info:; +#X floatatom 25 127 8 0 0 0 - - -; +#X floatatom 25 288 8 0 0 0 - - -; +#X obj 28 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 28 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 +-1 -1 0 1; +#N canvas 273 69 470 403 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 53 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 287 / 200; +#X text 96 287 mapping output range: 0 to 1; +#N canvas 0 22 461 369 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 117 289 receive \$0-x-slider; +#X floatatom 118 312 5 0 0 0 - - -; +#X floatatom 279 313 5 0 0 0 - - -; +#X obj 280 290 receive \$0-y-slider; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 19 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 19 0; +#X connect 5 0 6 0; +#X connect 6 0 19 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 18 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 18 0; +#X connect 11 0 12 0; +#X connect 12 0 18 0; +#X connect 13 0 7 0; +#X connect 14 0 15 0; +#X connect 17 0 16 0; +#X connect 18 0 20 0; +#X connect 19 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 54 108 speedlim 100; +#X obj 53 313 exponential_sigmoid; +#X connect 0 0 15 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 16 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 16 0; +#X connect 14 0 9 0; +#X connect 15 0 1 0; +#X connect 16 0 8 0; +#X restore 377 71 pd draw_array; +#X obj 262 359 pddp/open mapping-about; +#X text 16 391 (C) Copyright 2007 Free Software Foundation; +#X obj 25 217 exponential_sigmoid; +#X obj 272 103 gcanvas 200 200; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 272 103 graph; +#X obj 272 308 send \$0-x; +#X obj 414 307 send \$0-y; +#X obj 139 167 hsl 50 15 0 1 0 1 \$0-x-slider \$0-x-slider-receive +x 5 9 0 11 -232576 -1 -1 4900 0; +#X floatatom 145 187 7 0 0 0 - - -; +#X text 17 39 This object curves the input range using a double-exponential +seat controlled by one parameter.; +#X text 15 71 (click in the gray area to play); +#X connect 4 0 11 0; +#X connect 5 0 6 0; +#X connect 7 0 4 0; +#X connect 11 0 5 0; +#X connect 12 0 14 0; +#X connect 12 1 15 0; +#X connect 16 0 11 1; +#X connect 16 0 17 0; diff --git a/help/logistic_sigmoid-help.pd b/help/logistic_sigmoid-help.pd new file mode 100644 index 0000000..c8e57c5 --- /dev/null +++ b/help/logistic_sigmoid-help.pd @@ -0,0 +1,221 @@ +#N canvas 440 23 498 425 10; +#X obj 5 2 cnv 15 450 20 empty empty logistic_sigmoid 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 283 392 released under the GNU GPL; +#X text 158 361 For more info:; +#X floatatom 25 127 8 0 0 0 - - -; +#X floatatom 25 288 8 0 0 0 - - -; +#X obj 28 305 hsl 200 20 0 1 0 0 empty empty curved_output 22 11 1 +12 -262144 -1 -1 0 1; +#X obj 28 101 hsl 200 20 0 1 0 0 empty empty raw_input 22 11 1 12 -261681 +-1 -1 0 1; +#N canvas 273 69 474 407 draw_array 0; +#X msg 54 82 bang; +#X obj 54 133 until; +#X text 85 82 start; +#X obj 54 155 f; +#X obj 83 155 + 1; +#X obj 54 43 loadbang; +#X obj 54 210 trigger float float; +#X obj 127 157 select 0; +#X obj 53 343 tabwrite \$0-curve; +#X obj 139 53 trigger bang float; +#X obj 83 177 mod 200; +#X obj 54 287 / 200; +#X text 96 287 mapping output range: 0 to 1; +#N canvas 739 87 465 373 receive 0; +#X obj 253 33 receive \$0-y; +#X obj 253 57 moses; +#X obj 280 78 moses 201; +#X obj 331 99 bang; +#X msg 331 120 200; +#X obj 238 98 bang; +#X msg 238 119 0; +#X obj 91 56 moses; +#X obj 118 77 moses 201; +#X obj 169 98 bang; +#X msg 169 119 200; +#X obj 76 97 bang; +#X msg 76 118 0; +#X obj 91 32 receive \$0-x; +#X obj 118 169 / 200; +#X obj 280 170 / 200; +#X obj 118 249 send \$0-x-slider-receive; +#X obj 280 250 send \$0-y-slider-receive; +#X msg 281 193 1 \$1; +#X obj 280 221 -; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 1 1 2 0; +#X connect 2 0 15 0; +#X connect 2 1 3 0; +#X connect 3 0 4 0; +#X connect 4 0 15 0; +#X connect 5 0 6 0; +#X connect 6 0 15 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 8 0 14 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 14 0; +#X connect 11 0 12 0; +#X connect 12 0 14 0; +#X connect 13 0 7 0; +#X connect 14 0 16 0; +#X connect 15 0 18 0; +#X connect 18 0 19 0; +#X connect 19 0 17 0; +#X restore 265 348 pd receive from gcanvas; +#X obj 138 9 receive \$0-x-slider; +#X obj 54 108 speedlim 100; +#X obj 53 313 logistic_sigmoid; +#X connect 0 0 15 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 6 0 11 0; +#X connect 6 1 8 1; +#X connect 7 0 1 1; +#X connect 9 0 0 0; +#X connect 9 1 16 1; +#X connect 10 0 3 1; +#X connect 10 0 7 0; +#X connect 11 0 16 0; +#X connect 14 0 9 0; +#X connect 15 0 1 0; +#X connect 16 0 8 0; +#X restore 377 71 pd draw_array; +#X obj 262 359 pddp/open mapping-about; +#X text 16 391 (C) Copyright 2007 Free Software Foundation; +#X obj 25 217 logistic_sigmoid; +#X obj 139 167 hsl 50 15 0 1 0 1 \$0-x-slider \$0-x-slider-receive +x 5 9 0 11 -232576 -1 -1 4900 0; +#X floatatom 145 187 7 0 0 0 - - -; +#X text 17 39 This object curves the input range using a double-exponential +seat controlled by one parameter.; +#X text 15 71 (click in the gray area to play); +#N canvas 475 288 686 489 tottest 0; +#X msg 44 33 capture 1; +#X obj 169 106 bang; +#X obj 227 106 bang; +#X msg 168 130 1; +#X msg 227 128 0; +#X obj 110 82 route motion mouse mouseup; +#X obj 112 161 spigot; +#X obj 46 9 loadbang; +#X obj 112 187 unpack float float float; +#X obj 19 215 moses 273; +#X obj 353 235 moses 103; +#X obj 411 255 moses 303; +#X obj 77 235 moses 473; +#X obj 77 255 - 273; +#X obj 411 275 - 103; +#X obj 411 349 cyclone/speedlim 150; +#X obj 77 319 cyclone/speedlim 150; +#X obj 469 285 bang; +#X msg 469 306 200; +#X obj 353 285 bang; +#X msg 353 306 0; +#X obj 149 268 bang; +#X msg 149 289 200; +#X obj 56 267 bang; +#X msg 56 288 0; +#X obj 411 375 send \$0-y-slider-receive; +#X obj 77 343 send \$0-x-slider-receive; +#N canvas 748 481 466 316 constrain 0; +#X obj 15 12 inlet; +#X obj 114 276 outlet; +#X obj 15 52 unpack float float float float; +#X obj 45 116 receive \$0-xmin; +#X obj 75 137 receive \$0-xmax; +#X obj 15 137 moses; +#X obj 45 157 moses; +#X obj 114 247 pack float float; +#X obj 200 137 moses; +#X obj 230 157 moses; +#X obj 137 207 trigger bang float; +#X obj 260 137 receive \$0-ymax; +#X obj 230 116 receive \$0-ymin; +#X connect 0 0 2 0; +#X connect 2 0 5 0; +#X connect 2 1 8 0; +#X connect 3 0 5 1; +#X connect 4 0 6 1; +#X connect 5 1 6 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 10 1 7 1; +#X connect 11 0 9 1; +#X connect 12 0 8 1; +#X restore 339 112 pd constrain mouse messages; +#N canvas 0 22 458 308 set 0; +#X obj 75 26 inlet; +#X obj 108 115 send \$0-xmax; +#X obj 19 115 send \$0-xmin; +#X obj 200 114 send \$0-ymin; +#X obj 291 114 send \$0-ymax; +#X obj 74 52 unpack float float float float; +#X connect 0 0 5 0; +#X connect 5 0 2 0; +#X connect 5 1 1 0; +#X connect 5 2 3 0; +#X connect 5 3 4 0; +#X restore 450 67 pd set xmin xmax ymin ymax; +#X text 530 26 xmin xmax ymin ymax; +#X msg 416 26 273 103 473 303; +#X obj 345 135 print HERE; +#X obj 39 60 toxy/tot .root; +#X obj 25 120 print RAW; +#X connect 0 0 32 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 6 1; +#X connect 4 0 6 1; +#X connect 5 0 6 0; +#X connect 5 1 1 0; +#X connect 5 1 27 0; +#X connect 5 1 33 0; +#X connect 5 2 2 0; +#X connect 6 0 8 0; +#X connect 7 0 0 0; +#X connect 8 0 9 0; +#X connect 8 1 10 0; +#X connect 9 1 12 0; +#X connect 10 0 19 0; +#X connect 10 1 11 0; +#X connect 11 0 14 0; +#X connect 11 1 17 0; +#X connect 12 0 13 0; +#X connect 13 0 16 0; +#X connect 14 0 15 0; +#X connect 15 0 25 0; +#X connect 16 0 26 0; +#X connect 17 0 18 0; +#X connect 18 0 15 0; +#X connect 19 0 20 0; +#X connect 20 0 15 0; +#X connect 21 0 22 0; +#X connect 23 0 24 0; +#X connect 27 0 31 0; +#X connect 30 0 28 0; +#X connect 32 2 5 0; +#X restore 177 248 pd tottest; +#X obj 272 103 cnv 15 200 200 empty empty empty 20 12 0 14 -233017 +-66577 0; +#N canvas 0 22 450 300 (subpatch) 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 0 200 200 1; +#X restore 272 103 graph; +#X connect 4 0 11 0; +#X connect 5 0 6 0; +#X connect 7 0 4 0; +#X connect 11 0 5 0; +#X connect 12 0 11 1; +#X connect 12 0 13 0; diff --git a/logistic_sigmoid.pd b/logistic_sigmoid.pd new file mode 100644 index 0000000..11c52f9 --- /dev/null +++ b/logistic_sigmoid.pd @@ -0,0 +1,48 @@ +#N canvas 564 83 610 403 10; +#X obj 42 10 inlet; +#X obj 168 349 outlet; +#X obj 426 21 loadbang; +#X obj 353 20 inlet; +#X obj 353 61 purepd/float_argument \$1; +#X obj 353 113 expr 1/(1-$f1) - 1; +#X obj 353 158 expr 1 / (1 + exp($f1)); +#X text 340 157 B; +#X text 340 111 a; +#X text 28 177 A; +#X obj 42 175 expr 1 / (1 + exp(0 - (($f1 - 0.5) * $f2 * 2))); +#X obj 407 191 expr 1 / (1 + exp(0 - $f1)); +#X text 395 191 C; +#X obj 168 292 expr ($f1 - $f2)/($f3 - $f2); +#N canvas 0 22 466 316 constrain 0; +#X obj 71 17 inlet; +#X obj 107 229 outlet; +#X obj 71 169 bang; +#X text 151 169 constrain to >0; +#X obj 71 149 moses 0.0001; +#X msg 71 190 0.0001; +#X obj 71 66 moses 1; +#X text 120 66 constraing to <1; +#X obj 110 86 bang; +#X msg 110 107 0.9999; +#X connect 0 0 6 0; +#X connect 2 0 5 0; +#X connect 4 0 2 0; +#X connect 4 1 1 0; +#X connect 5 0 1 0; +#X connect 6 0 4 0; +#X connect 6 1 8 0; +#X connect 8 0 9 0; +#X connect 9 0 4 0; +#X restore 353 89 pd constrain to 0