From b27811b050e98c3e113363a0b6e4ae6b220fd692 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sat, 4 Feb 2006 03:24:50 +0000 Subject: renamed my [curve] to [sinusoid] since it only handles those kind of curves; Cyrille's [_curve] is now [curve], but with the curve shape 2nd inlet opterating over a range of 0-to-1 svn path=/trunk/externals/mapping/; revision=4550 --- curve.pd | 90 ++++++++++++++++++++++++++----------------- help/curve-help.pd | 104 ++++++++++++++++++++++++-------------------------- help/sinusoid-help.pd | 77 +++++++++++++++++++++++++++++++++++++ pd/curve.pd | 90 ++++++++++++++++++++++++++----------------- pd/sinusoid.pd | 35 +++++++++++++++++ sinusoid.pd | 35 +++++++++++++++++ 6 files changed, 309 insertions(+), 122 deletions(-) create mode 100644 help/sinusoid-help.pd create mode 100644 pd/sinusoid.pd create mode 100644 sinusoid.pd diff --git a/curve.pd b/curve.pd index 8d09a66..7c4d919 100644 --- a/curve.pd +++ b/curve.pd @@ -1,34 +1,56 @@ -#N canvas 12 269 577 490 10; -#X obj 50 36 inlet; -#X obj 165 34 inlet; -#X obj 165 57 symbol; -#X obj 47 411 outlet; -#X obj 50 150 pack float symbol; -#X msg 50 175 \$2 \$1; -#X obj 39 256 atan; -#X obj 123 260 cos; -#X obj 152 260 sin; -#X obj 188 273 print [curve]; -#X msg 189 251 ERROR: argument not supported \$1; -#X obj 194 96 symbol_argument \$1; -#X obj 51 100 * 3.14159; -#X obj 39 277 / 1.26263; -#X obj 50 198 route atan cos sin; -#X obj 190 225 symbol; -#X connect 0 0 12 0; -#X connect 1 0 2 0; -#X connect 2 0 4 1; -#X connect 4 0 5 0; -#X connect 5 0 14 0; -#X connect 6 0 13 0; -#X connect 7 0 3 0; -#X connect 8 0 3 0; -#X connect 10 0 9 0; -#X connect 11 0 4 1; -#X connect 12 0 4 0; -#X connect 13 0 3 0; -#X connect 14 0 6 0; -#X connect 14 1 7 0; -#X connect 14 2 8 0; -#X connect 14 3 15 0; -#X connect 15 0 10 0; +#N canvas 709 238 508 486 10; +#X obj 106 325 pow 1; +#X obj 62 10 inlet; +#X obj 357 9 inlet; +#X obj 106 405 outlet; +#X obj 271 243 exp; +#X msg 287 177 2; +#X obj 287 198 log; +#X obj 271 221 *; +#X obj 62 248 moses 0; +#X obj 62 283 * -1; +#X obj 62 325 pow 1; +#X obj 62 352 * -1; +#X obj 257 30 loadbang; +#X obj 257 50 any_argument \$1; +#X obj 257 70 route float; +#X obj 257 155 t f b; +#N canvas 784 233 470 320 process 0; +#X obj 96 30 inlet; +#X obj 132 283 outlet; +#X obj 97 100 moses 0; +#X obj 96 128 * -1; +#X obj 96 180 * -1; +#X obj 96 69 * 2; +#X obj 142 128 pow 3; +#X obj 96 153 pow 3; +#X text 22 4 this is just a guess \, there is probably a better formula +for this.; +#X connect 0 0 5 0; +#X connect 2 0 3 0; +#X connect 2 1 6 0; +#X connect 3 0 7 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 1 0; +#X connect 7 0 4 0; +#X restore 257 117 pd process curve value; +#X connect 0 0 3 0; +#X connect 1 0 8 0; +#X connect 2 0 13 1; +#X connect 4 0 0 1; +#X connect 4 0 10 1; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 4 0; +#X connect 8 0 9 0; +#X connect 8 1 0 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 3 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 16 0; +#X connect 15 0 7 0; +#X connect 15 1 5 0; +#X connect 16 0 15 0; diff --git a/help/curve-help.pd b/help/curve-help.pd index f8359d5..f6f9256 100644 --- a/help/curve-help.pd +++ b/help/curve-help.pd @@ -1,77 +1,73 @@ -#N canvas 327 209 484 365 10; +#N canvas 177 113 490 439 10; #X obj 5 2 cnv 15 450 20 empty empty [curve] 2 11 1 18 -233017 -66577 0; #X msg 422 3 pddp; -#X text 27 320 (C) Copyright 2004 Hans-Christoph Steiner +#X text 27 390 (C) Copyright 2004 Hans-Christoph Steiner ; -#X text 244 334 released under the GNU GPL; -#X text 158 291 For more info:; -#X floatatom 25 163 8 0 0 0 - - -; -#X floatatom 25 224 8 0 0 0 - - -; -#X obj 28 241 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -262144 --1 -1 0 1; -#X obj 28 143 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -261681 --1 -1 0 1; +#X text 244 404 released under the GNU GPL; +#X text 158 361 For more info:; +#X floatatom 25 157 8 0 0 0 - - -; +#X floatatom 25 228 8 0 0 0 - - -; +#X obj 28 245 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -262144 +-1 -1 13958 1; +#X obj 28 137 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -261681 +-1 -1 7200 1; #N canvas 0 22 450 300 graph1 0; -#X array \$0-curve 100 float 0; -#X coords 0 1 99 -1 100 100 1; -#X restore 321 111 graph; -#N canvas 266 69 383 373 draw_array 0; +#X array \$0-curve 200 float 0; +#X coords 0 1 199 -1 200 200 1; +#X restore 254 92 graph; +#N canvas 721 196 407 397 draw_array 0; #X msg 54 82 bang; #X obj 54 103 until; #X text 85 82 start; #X obj 54 125 f; #X obj 83 125 + 1; -#X obj 83 147 mod 100; #X obj 54 43 loadbang; #X text 96 257 mapping output range: -1 to 1; -#X obj 54 257 / 50; -#X obj 53 229 - 50; -#X obj 139 53 t b s; -#X obj 139 32 symbol; -#X obj 138 9 receive \$0-type; #X obj 54 180 trigger float float; #X obj 127 127 select 0; #X obj 53 313 tabwrite \$0-curve; -#X obj 53 283 curve sin; +#X obj 138 9 inlet; +#X obj 153 32 send \$0-to-numbox; +#X obj 139 53 trigger bang float; +#X obj 53 283 curve; +#X obj 83 147 mod 200; +#X obj 53 229 - 100; +#X obj 54 257 / 100; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 3 0 4 0; -#X connect 3 0 13 0; -#X connect 4 0 5 0; -#X connect 5 0 3 1; -#X connect 5 0 14 0; -#X connect 6 0 0 0; -#X connect 8 0 16 0; -#X connect 9 0 8 0; -#X connect 10 0 0 0; -#X connect 10 1 16 1; -#X connect 11 0 10 0; -#X connect 12 0 11 0; +#X connect 3 0 7 0; +#X connect 4 0 14 0; +#X connect 5 0 0 0; +#X connect 7 0 15 0; +#X connect 7 1 9 1; +#X connect 8 0 1 1; +#X connect 10 0 11 0; +#X connect 10 0 12 0; +#X connect 12 0 0 0; +#X connect 12 1 13 1; #X connect 13 0 9 0; -#X connect 13 1 15 1; -#X connect 14 0 1 1; -#X connect 16 0 15 0; -#X restore 321 89 pd draw_array; +#X connect 14 0 3 1; +#X connect 14 0 8 0; +#X connect 15 0 16 0; +#X connect 16 0 13 0; +#X restore 95 208 pd draw_array; #X text 17 39 This object maps the input range to a exponential curve \, the inverse of a logarithmic curve.; -#X msg 61 82 atan; -#X msg 98 82 cos; -#X obj 83 184 receive \$0-type; -#X obj 115 115 send \$0-type; -#X msg 128 82 sin; -#X obj 25 203 curve sin; -#X obj 262 289 pddp_open mapping-about; -#X text 286 231 related objects:; -#X obj 259 250 curve_root; -#X obj 342 250 curve_power; -#X obj 259 268 curve_exp; -#X obj 342 268 curve_log; -#X connect 5 0 17 0; +#X obj 262 359 pddp_open mapping-about; +#X text 286 301 related objects:; +#X obj 342 320 curve_power; +#X obj 259 338 curve_exp; +#X obj 342 338 curve_log; +#X obj 53 183 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 7600 0; +#X floatatom 192 184 7 0 0 0 - #0-to-numbox -; +#X obj 259 319 sinusoid; +#X obj 25 207 curve; +#X connect 5 0 20 0; #X connect 6 0 7 0; #X connect 8 0 5 0; -#X connect 12 0 15 0; -#X connect 13 0 15 0; -#X connect 14 0 17 1; -#X connect 16 0 15 0; -#X connect 17 0 6 0; +#X connect 17 0 10 0; +#X connect 17 0 20 1; +#X connect 20 0 6 0; diff --git a/help/sinusoid-help.pd b/help/sinusoid-help.pd new file mode 100644 index 0000000..4195b42 --- /dev/null +++ b/help/sinusoid-help.pd @@ -0,0 +1,77 @@ +#N canvas 528 218 488 369 10; +#X obj 5 2 cnv 15 450 20 empty empty [curve] 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X text 27 320 (C) Copyright 2004 Hans-Christoph Steiner +; +#X text 244 334 released under the GNU GPL; +#X text 158 291 For more info:; +#X floatatom 25 163 8 0 0 0 - - -; +#X floatatom 25 224 8 0 0 0 - - -; +#X obj 28 241 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -262144 +-1 -1 19878 1; +#X obj 28 143 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -261681 +-1 -1 300 1; +#N canvas 0 22 450 300 graph1 0; +#X array \$0-curve 100 float 0; +#X coords 0 1 99 -1 100 100 1; +#X restore 321 111 graph; +#N canvas 266 69 387 377 draw_array 0; +#X msg 54 82 bang; +#X obj 54 103 until; +#X text 85 82 start; +#X obj 54 125 f; +#X obj 83 125 + 1; +#X obj 83 147 mod 100; +#X obj 54 43 loadbang; +#X text 96 257 mapping output range: -1 to 1; +#X obj 54 257 / 50; +#X obj 53 229 - 50; +#X obj 139 53 t b s; +#X obj 139 32 symbol; +#X obj 138 9 receive \$0-type; +#X obj 54 180 trigger float float; +#X obj 127 127 select 0; +#X obj 53 313 tabwrite \$0-curve; +#X obj 53 283 curve sin; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 13 0; +#X connect 4 0 5 0; +#X connect 5 0 3 1; +#X connect 5 0 14 0; +#X connect 6 0 0 0; +#X connect 8 0 16 0; +#X connect 9 0 8 0; +#X connect 10 0 0 0; +#X connect 10 1 16 1; +#X connect 11 0 10 0; +#X connect 12 0 11 0; +#X connect 13 0 9 0; +#X connect 13 1 15 1; +#X connect 14 0 1 1; +#X connect 16 0 15 0; +#X restore 321 89 pd draw_array; +#X text 17 39 This object maps the input range to a exponential curve +\, the inverse of a logarithmic curve.; +#X msg 61 82 atan; +#X msg 98 82 cos; +#X obj 104 184 receive \$0-type; +#X msg 128 82 sin; +#X obj 262 289 pddp_open mapping-about; +#X text 286 231 related objects:; +#X obj 342 250 curve_power; +#X obj 342 268 curve_log; +#X obj 259 268 curve_exp; +#X obj 107 114 send \$0-type; +#X obj 25 203 sinusoid sin; +#X obj 259 250 curve; +#X connect 5 0 22 0; +#X connect 6 0 7 0; +#X connect 8 0 5 0; +#X connect 12 0 21 0; +#X connect 13 0 21 0; +#X connect 14 0 22 1; +#X connect 15 0 21 0; +#X connect 22 0 6 0; diff --git a/pd/curve.pd b/pd/curve.pd index 8d09a66..7c4d919 100644 --- a/pd/curve.pd +++ b/pd/curve.pd @@ -1,34 +1,56 @@ -#N canvas 12 269 577 490 10; -#X obj 50 36 inlet; -#X obj 165 34 inlet; -#X obj 165 57 symbol; -#X obj 47 411 outlet; -#X obj 50 150 pack float symbol; -#X msg 50 175 \$2 \$1; -#X obj 39 256 atan; -#X obj 123 260 cos; -#X obj 152 260 sin; -#X obj 188 273 print [curve]; -#X msg 189 251 ERROR: argument not supported \$1; -#X obj 194 96 symbol_argument \$1; -#X obj 51 100 * 3.14159; -#X obj 39 277 / 1.26263; -#X obj 50 198 route atan cos sin; -#X obj 190 225 symbol; -#X connect 0 0 12 0; -#X connect 1 0 2 0; -#X connect 2 0 4 1; -#X connect 4 0 5 0; -#X connect 5 0 14 0; -#X connect 6 0 13 0; -#X connect 7 0 3 0; -#X connect 8 0 3 0; -#X connect 10 0 9 0; -#X connect 11 0 4 1; -#X connect 12 0 4 0; -#X connect 13 0 3 0; -#X connect 14 0 6 0; -#X connect 14 1 7 0; -#X connect 14 2 8 0; -#X connect 14 3 15 0; -#X connect 15 0 10 0; +#N canvas 709 238 508 486 10; +#X obj 106 325 pow 1; +#X obj 62 10 inlet; +#X obj 357 9 inlet; +#X obj 106 405 outlet; +#X obj 271 243 exp; +#X msg 287 177 2; +#X obj 287 198 log; +#X obj 271 221 *; +#X obj 62 248 moses 0; +#X obj 62 283 * -1; +#X obj 62 325 pow 1; +#X obj 62 352 * -1; +#X obj 257 30 loadbang; +#X obj 257 50 any_argument \$1; +#X obj 257 70 route float; +#X obj 257 155 t f b; +#N canvas 784 233 470 320 process 0; +#X obj 96 30 inlet; +#X obj 132 283 outlet; +#X obj 97 100 moses 0; +#X obj 96 128 * -1; +#X obj 96 180 * -1; +#X obj 96 69 * 2; +#X obj 142 128 pow 3; +#X obj 96 153 pow 3; +#X text 22 4 this is just a guess \, there is probably a better formula +for this.; +#X connect 0 0 5 0; +#X connect 2 0 3 0; +#X connect 2 1 6 0; +#X connect 3 0 7 0; +#X connect 4 0 1 0; +#X connect 5 0 2 0; +#X connect 6 0 1 0; +#X connect 7 0 4 0; +#X restore 257 117 pd process curve value; +#X connect 0 0 3 0; +#X connect 1 0 8 0; +#X connect 2 0 13 1; +#X connect 4 0 0 1; +#X connect 4 0 10 1; +#X connect 5 0 6 0; +#X connect 6 0 7 1; +#X connect 7 0 4 0; +#X connect 8 0 9 0; +#X connect 8 1 0 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 3 0; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 16 0; +#X connect 15 0 7 0; +#X connect 15 1 5 0; +#X connect 16 0 15 0; diff --git a/pd/sinusoid.pd b/pd/sinusoid.pd new file mode 100644 index 0000000..e8f1259 --- /dev/null +++ b/pd/sinusoid.pd @@ -0,0 +1,35 @@ +#N canvas 12 269 612 496 10; +#X obj 50 36 inlet; +#X obj 329 52 inlet; +#X obj 47 411 outlet; +#X obj 50 150 pack float symbol; +#X msg 50 175 \$2 \$1; +#X obj 39 256 atan; +#X obj 123 260 cos; +#X obj 152 260 sin; +#X obj 39 277 / 1.26263; +#X obj 50 198 route atan cos sin; +#X obj 190 225 symbol; +#X msg 189 251 ERROR: argument not supported \$1 \, try atan cos or +sin; +#X obj 208 74 symbol_argument \$1; +#X obj 208 50 loadbang; +#X obj 50 98 * 3.14159; +#X obj 188 273 print [sinusoid]; +#X connect 0 0 14 0; +#X connect 1 0 12 1; +#X connect 3 0 4 0; +#X connect 4 0 9 0; +#X connect 5 0 8 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 2 0; +#X connect 9 0 5 0; +#X connect 9 1 6 0; +#X connect 9 2 7 0; +#X connect 9 3 10 0; +#X connect 10 0 11 0; +#X connect 11 0 15 0; +#X connect 12 0 3 1; +#X connect 13 0 12 0; +#X connect 14 0 3 0; diff --git a/sinusoid.pd b/sinusoid.pd new file mode 100644 index 0000000..e8f1259 --- /dev/null +++ b/sinusoid.pd @@ -0,0 +1,35 @@ +#N canvas 12 269 612 496 10; +#X obj 50 36 inlet; +#X obj 329 52 inlet; +#X obj 47 411 outlet; +#X obj 50 150 pack float symbol; +#X msg 50 175 \$2 \$1; +#X obj 39 256 atan; +#X obj 123 260 cos; +#X obj 152 260 sin; +#X obj 39 277 / 1.26263; +#X obj 50 198 route atan cos sin; +#X obj 190 225 symbol; +#X msg 189 251 ERROR: argument not supported \$1 \, try atan cos or +sin; +#X obj 208 74 symbol_argument \$1; +#X obj 208 50 loadbang; +#X obj 50 98 * 3.14159; +#X obj 188 273 print [sinusoid]; +#X connect 0 0 14 0; +#X connect 1 0 12 1; +#X connect 3 0 4 0; +#X connect 4 0 9 0; +#X connect 5 0 8 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 2 0; +#X connect 9 0 5 0; +#X connect 9 1 6 0; +#X connect 9 2 7 0; +#X connect 9 3 10 0; +#X connect 10 0 11 0; +#X connect 11 0 15 0; +#X connect 12 0 3 1; +#X connect 13 0 12 0; +#X connect 14 0 3 0; -- cgit v1.2.1