#N canvas 1 53 531 444 10; #X declare -lib mapping -lib ggee; #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; #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 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 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 (subpatch) 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 1 53 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; #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; #X connect 3 0 4 0; #X connect 4 0 3 1; #X connect 4 0 5 1; #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 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; #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 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; #N canvas 464 140 494 344 META 0; #X text 12 175 HELP_PATCH_AUTHORS "pd meta" information added by Jonathan Wilkes for Pd version 0.42.; #X text 12 25 LICENSE GPL v2; #X text 12 95 INLET_1 float; #X text 12 135 OUTLET_0 float; #X text 12 155 AUTHOR Cyrille Henry and Hans-Christoph Steiner; #X text 12 75 INLET_0 float; #X text 12 45 DESCRIPTION curve the input range using a double-linear interpolator with two control parameters; #X text 12 115 INLET_2 float; #X text 12 5 KEYWORDS control abstraction; #X restore 479 417 pd META; #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;