diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2006-01-29 05:43:33 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2006-01-29 05:43:33 +0000 |
commit | 043dfe0ae677c018cde28cb84e1abe5ae1fe5205 (patch) | |
tree | 006c85f3a511ad7e94f849372b29fb4d96f02245 |
this is the first checkin for the new mapping lib, which is a join effort of Cyrille and Hans. We are combining Cyrille's ds_/datastream classes with my hid_* classes, and I think Cyrille has drawn on the La-Kitchen classes for working with sensors.svn2git-root
svn path=/trunk/externals/mapping/; revision=4514
47 files changed, 1364 insertions, 0 deletions
diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..07a3418 --- /dev/null +++ b/README.txt @@ -0,0 +1,9 @@ + +This is the beginnings of the "mapping" library, which is a combination of +efforts of Cyrille Henry and Hans-Christoph Steiner. It draws from the hid_* +classes, ds_/datastream classes, and the La-Kitchen classes for working with +sensors. + +These classes are for creatively mapping data to something that you want to +control. + diff --git a/autoscale.pd b/autoscale.pd new file mode 100644 index 0000000..ddd295e --- /dev/null +++ b/autoscale.pd @@ -0,0 +1,87 @@ +#N canvas 206 226 777 546 10; +#X obj 45 30 inlet; +#X obj 175 453 outlet; +#X obj 235 268 f; +#X text 262 268 min; +#X text 360 269 max; +#X obj 454 167 f \$1; +#X obj 652 167 f \$2; +#X obj 235 245 moses 0; +#X obj 320 245 moses 0; +#X obj 175 102 trigger float float float bang bang; +#X obj 175 390 expr (($f1 - $f2) * (($f5 - $f4) / ($f3 - $f2))) + $f4 +; +#X obj 326 205 oneshot; +#X obj 364 226 f; +#X obj 320 178 t f b f; +#X obj 241 205 oneshot; +#X obj 279 226 f; +#X obj 235 178 t f b f; +#X obj 384 269 + 1e-09; +#X obj 478 213 ==; +#X obj 478 233 sel 1; +#X obj 545 77 loadbang; +#X obj 478 299 print [autoscale]; +#X floatatom 472 189 5 0 0 0 - - -; +#X obj 545 100 t b b; +#X obj 478 256 oneshot; +#X text 2 476 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 219 491 released under the GNU GPL; +#X text 417 475 $Revision: 1.1 $$Date: 2006-01-29 05:43:33 $; +#X text 417 488 $Author: eighthave $; +#X obj 45 62 route reset; +#X obj 45 81 bang; +#X msg 45 129 0; +#X msg 114 102 clear; +#X text 172 47 these [oneshot] bits are just here to get the max/min +tracking started; +#X text 8 3 [autoscale]; +#X msg 478 278 using default range (0-1); +#X obj 454 329 expr if ($f1 == $f2 \, 0 \, $f1) \; if ($f1 == $f2 \, +1 \, $f2); +#X connect 0 0 29 0; +#X connect 2 0 7 1; +#X connect 2 0 10 1; +#X connect 5 0 18 0; +#X connect 5 0 22 0; +#X connect 5 0 36 0; +#X connect 6 0 18 1; +#X connect 6 0 36 1; +#X connect 7 0 2 0; +#X connect 8 1 17 0; +#X connect 9 0 10 0; +#X connect 9 1 16 0; +#X connect 9 2 13 0; +#X connect 9 3 5 0; +#X connect 9 4 6 0; +#X connect 10 0 1 0; +#X connect 11 0 12 0; +#X connect 12 0 8 1; +#X connect 13 0 8 0; +#X connect 13 1 11 0; +#X connect 13 2 12 1; +#X connect 14 0 15 0; +#X connect 15 0 7 1; +#X connect 16 0 7 0; +#X connect 16 1 14 0; +#X connect 16 2 15 1; +#X connect 17 0 8 1; +#X connect 17 0 10 2; +#X connect 18 0 19 0; +#X connect 19 0 24 0; +#X connect 20 0 23 0; +#X connect 23 0 5 0; +#X connect 23 1 6 0; +#X connect 24 0 35 0; +#X connect 29 0 30 0; +#X connect 29 1 9 0; +#X connect 30 0 31 0; +#X connect 30 0 32 0; +#X connect 31 0 2 0; +#X connect 31 0 12 0; +#X connect 32 0 14 0; +#X connect 32 0 11 0; +#X connect 35 0 21 0; +#X connect 36 0 10 3; +#X connect 36 1 10 4; diff --git a/curve_exp.pd b/curve_exp.pd new file mode 100644 index 0000000..b7ca7a4 --- /dev/null +++ b/curve_exp.pd @@ -0,0 +1,11 @@ +#N canvas 225 325 499 325 10; +#X obj 72 38 inlet; +#X obj 72 258 outlet; +#X text 120 38 input range: 0 to 1; +#X text 128 258 output range: 0 to 1; +#X text 7 9 [hid_exp]; +#X obj 73 142 dbtorms; +#X obj 73 120 * 100; +#X connect 0 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; diff --git a/curve_graph.pd b/curve_graph.pd new file mode 100644 index 0000000..22b46a6 --- /dev/null +++ b/curve_graph.pd @@ -0,0 +1,45 @@ +#N canvas 606 208 100 116 10; +#X obj 103 188 inlet; +#N canvas 0 22 466 316 graph5 0; +#X array \$0_ 100 float 2; +#X coords 0 1 100 0 100 100 1; +#X restore 0 16 graph; +#X obj 198 378 outlet; +#X text 238 311 gives a range of 0-100; +#X text 245 379 output range 0 to 1; +#X text 79 167 [hid_graph]; +#X obj 198 310 * 100; +#X text 143 190 input range: 0 to 1; +#X obj 103 237 route reset; +#X obj 75 380 f; +#X obj 45 380 +; +#X msg 89 348 0; +#X msg 45 348 1; +#X obj 45 464 / 100; +#X obj 45 441 trigger f f; +#X obj 21 278 trigger bang bang; +#X msg 21 303 100; +#X obj 21 322 until; +#X obj 198 333 tabread \$0_; +#X obj 45 496 tabwrite \$0_; +#X obj -7 229 loadbang; +#X connect 0 0 8 0; +#X connect 6 0 18 0; +#X connect 8 0 15 0; +#X connect 8 1 6 0; +#X connect 9 0 10 1; +#X connect 10 0 14 0; +#X connect 10 0 9 0; +#X connect 11 0 9 1; +#X connect 11 0 10 1; +#X connect 12 0 10 0; +#X connect 13 0 19 0; +#X connect 14 0 13 0; +#X connect 14 1 19 1; +#X connect 15 0 16 0; +#X connect 15 1 11 0; +#X connect 16 0 17 0; +#X connect 17 0 12 0; +#X connect 18 0 2 0; +#X connect 20 0 15 0; +#X coords 0 0 1 1 100 116 1; diff --git a/curve_log.pd b/curve_log.pd new file mode 100644 index 0000000..297f5f8 --- /dev/null +++ b/curve_log.pd @@ -0,0 +1,11 @@ +#N canvas 297 485 422 322 10; +#X obj 31 45 inlet; +#X obj 31 282 outlet; +#X text 79 45 input range: 0 to 1; +#X text 87 282 output range: 0 to 1; +#X text 9 5 [hid_log]; +#X obj 30 145 rmstodb; +#X obj 30 175 / 100; +#X connect 0 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; diff --git a/curve_power.pd b/curve_power.pd new file mode 100644 index 0000000..0332375 --- /dev/null +++ b/curve_power.pd @@ -0,0 +1,14 @@ +#N canvas 612 444 456 373 10; +#X obj 42 53 inlet; +#X obj 42 230 outlet; +#X text 5 14 input range: -1 to 1; +#X obj 43 182 pow; +#X text 98 229 output range: -1 to 1; +#X obj 138 53 inlet; +#X obj 146 106 float_argument \$1 1; +#X obj 146 84 loadbang; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 5 0 3 1; +#X connect 6 0 3 1; +#X connect 7 0 6 0; diff --git a/curve_root.pd b/curve_root.pd new file mode 100644 index 0000000..a75bdc2 --- /dev/null +++ b/curve_root.pd @@ -0,0 +1,22 @@ +#N canvas 295 229 460 377 10; +#X obj 40 32 inlet; +#X obj 40 299 outlet; +#X obj 40 94 min 1; +#X text 5 6 input range: -1 to 1; +#X obj 40 114 max -1; +#X obj 41 271 pow; +#X text 96 298 output range: -1 to 1; +#X obj 58 246 /; +#X msg 58 226 1 \$1; +#X obj 142 33 inlet; +#X obj 155 107 float_argument \$1 1; +#X obj 155 86 loadbang; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 7 0 5 1; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 11 0 10 0; diff --git a/debounce.pd b/debounce.pd new file mode 100644 index 0000000..09092c3 --- /dev/null +++ b/debounce.pd @@ -0,0 +1,28 @@ +#N canvas 132 316 478 432 10; +#X obj 38 43 inlet; +#X obj 252 108 f \$1; +#X obj 252 85 loadbang; +#X obj 226 33 inlet; +#X obj 251 132 select 0; +#X text 274 34 delay between state change; +#X obj 62 381 outlet; +#X obj 61 325 f; +#X text 298 152 set default; +#X obj 246 189 send \$0-delay; +#X obj 157 271 delay; +#X obj 187 248 receive \$0-delay; +#X text 80 31 float input; +#X text 120 378 debounced float output; +#X msg 250 152 10; +#X obj 100 103 change; +#X connect 0 0 7 1; +#X connect 0 0 15 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 3 0 9 0; +#X connect 4 0 14 0; +#X connect 4 1 9 0; +#X connect 7 0 6 0; +#X connect 10 0 7 0; +#X connect 11 0 10 1; +#X connect 14 0 9 0; diff --git a/degrees2mapping.pd b/degrees2mapping.pd new file mode 100644 index 0000000..ee9ac47 --- /dev/null +++ b/degrees2mapping.pd @@ -0,0 +1,25 @@ +#N canvas 380 212 444 356 10; +#X obj 88 30 inlet; +#X obj 89 264 outlet; +#X text 232 311 released under the GNU GPL; +#X text 15 297 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 143 264 output range: 0 to 360 \, 0 = north/top; +#X text 19 9 [deg2hid]; +#X text 129 28 input range: 0 to 360 \, 0 = east/right; +#X obj 88 170 / 360; +#X text 162 108 % is an int operation; +#X text 169 126 this saves accuracy; +#X obj 89 121 % 3.6e+07; +#X obj 89 142 / 100000; +#X obj 89 100 * 100000; +#X obj 45 210 moses 0; +#X obj 45 230 + 1; +#X connect 0 0 12 0; +#X connect 7 0 13 0; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 12 0 10 0; +#X connect 13 0 14 0; +#X connect 13 1 1 0; +#X connect 14 0 1 0; diff --git a/disjoin.pd b/disjoin.pd new file mode 100644 index 0000000..a74cf43 --- /dev/null +++ b/disjoin.pd @@ -0,0 +1,27 @@ +#N canvas 0 22 454 304 10; +#X obj 62 28 inlet; +#X obj 62 53 moses \$1; +#X obj 62 204 outlet; +#X obj 113 203 outlet; +#X obj 62 100 / \$1; +#X obj 152 27 inlet; +#X obj 113 101 - \$1; +#X obj 177 83 t b f; +#X obj 161 63 loadbang; +#X obj 113 158 / 1; +#X msg 177 105 1; +#X obj 177 129 - \$1; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 6 0; +#X connect 4 0 2 0; +#X connect 5 0 4 1; +#X connect 5 0 6 1; +#X connect 5 0 7 0; +#X connect 6 0 9 0; +#X connect 7 0 10 0; +#X connect 7 1 11 1; +#X connect 8 0 10 0; +#X connect 9 0 3 0; +#X connect 10 0 11 0; +#X connect 11 0 9 1; diff --git a/help/autoscale-help.pd b/help/autoscale-help.pd new file mode 100644 index 0000000..ae8aaf7 --- /dev/null +++ b/help/autoscale-help.pd @@ -0,0 +1,44 @@ +#N canvas 229 80 464 537 10; +#X floatatom 26 76 5 0 0 0 - - -; +#X floatatom 26 140 0 0 0 0 - - -; +#X obj 68 258 autoscale; +#X obj 2 -10 cnv 15 450 20 empty empty [autoscale] 2 11 1 18 -233017 +-66577 0; +#X text 18 23 [autoscale] scales a stream of numbers based on an output +range set as arguments \, and an input range which is set dynamically. +; +#X floatatom 68 237 5 0 0 0 - - -; +#X obj 71 281 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X text 17 441 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 234 455 released under the GNU GPL; +#X floatatom 150 140 0 0 0 0 - - -; +#X floatatom 297 140 0 0 0 0 - - -; +#X obj 213 71 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X text 17 474 $Revision: 1.1 $$Date: 2006-01-29 05:43:33 $; +#X text 18 487 $Author: eighthave $; +#X text 25 324 The [reset( message resets the stored max and min to +zero.; +#X floatatom 46 348 5 0 0 0 - - -; +#X obj 71 401 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X msg 96 346 reset; +#X obj 150 110 autoscale -0.01 0.01; +#X obj 297 110 autoscale -4095 4095; +#X obj 68 378 autoscale; +#X text 13 181 If you use [autoscale] with no arguments \, then the +output range defaults to 0-1.; +#X obj 26 110 autoscale; +#X connect 0 0 22 0; +#X connect 2 0 6 0; +#X connect 5 0 2 0; +#X connect 11 0 18 0; +#X connect 11 0 19 0; +#X connect 15 0 20 0; +#X connect 17 0 20 0; +#X connect 18 0 9 0; +#X connect 19 0 10 0; +#X connect 20 0 16 0; +#X connect 22 0 1 0; diff --git a/help/curve_exp-help.pd b/help/curve_exp-help.pd new file mode 100644 index 0000000..c37b7bc --- /dev/null +++ b/help/curve_exp-help.pd @@ -0,0 +1,57 @@ +#N canvas 567 104 476 357 10; +#X obj 5 2 cnv 15 450 20 empty empty [curve_exp] 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X text 27 300 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 244 314 released under the GNU GPL; +#X text 98 271 For more info:; +#X obj 202 269 pddp_open all_about_curve_mapping; +#X floatatom 25 123 8 0 0 0 - - -; +#X floatatom 25 184 8 0 0 0 - - -; +#X obj 28 201 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -262144 +-1 -1 0 1; +#X obj 28 103 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -261681 +-1 -1 0 1; +#N canvas 0 22 450 300 graph1 0; +#X array curve_exp 100 float 0; +#X coords 0 1 99 0 100 100 1; +#X restore 321 111 graph; +#N canvas 266 69 331 321 draw_array 0; +#X msg 57 52 bang; +#X obj 57 73 until; +#X text 88 52 start; +#X obj 57 95 f; +#X obj 86 95 + 1; +#X obj 132 97 sel 0; +#X obj 86 117 mod 100; +#X obj 57 150 t f f; +#X obj 94 177 s array_index; +#X obj 170 262 r array_index; +#X obj 57 13 loadbang; +#X obj 57 207 / 100; +#X text 99 207 [hid] output range: 0 to 1; +#X obj 56 283 tabwrite curve_exp; +#X obj 56 233 curve_exp; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 7 0; +#X connect 4 0 6 0; +#X connect 5 0 1 1; +#X connect 6 0 3 1; +#X connect 6 0 5 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 9 0 13 1; +#X connect 10 0 0 0; +#X connect 11 0 14 0; +#X connect 14 0 13 0; +#X restore 321 78 pd draw_array; +#X text 17 39 This object maps the input range to a exponential curve +\, the inverse of a logarithmic curve.; +#X obj 25 153 curve_exp; +#X connect 6 0 13 0; +#X connect 7 0 8 0; +#X connect 9 0 6 0; +#X connect 13 0 7 0; diff --git a/help/curve_graph-help.pd b/help/curve_graph-help.pd new file mode 100644 index 0000000..ee26584 --- /dev/null +++ b/help/curve_graph-help.pd @@ -0,0 +1,27 @@ +#N canvas 61 248 495 470 10; +#X obj 5 2 cnv 15 450 20 empty empty [curve_graph] 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 27 410 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 244 424 released under the GNU GPL; +#X text 98 381 For more info:; +#X obj 202 379 pddp_open all_about_curve_mapping; +#X msg 19 150 reset; +#X floatatom 95 163 5 0 0 0 - - -; +#X floatatom 94 314 5 0 0 0 - - -; +#X obj 97 331 hsl 250 15 0 1 0 0 empty empty empty 22 8 1 12 -262144 +-1 -1 0 1; +#X obj 98 143 hsl 250 15 0 1 0 0 empty empty empty 22 8 1 12 -261681 +-1 -1 0 1; +#X obj 94 187 curve_graph; +#X text 18 33 This object allows you to draw an arbitrary curve \, +which is then applied to the input range. To change the curve \, click +anywhere on the black diagonal line and start dragging.; +#X text 19 86 There are 100 points in [curve_graph] \, each one pixel +in size.; +#X connect 6 0 11 0; +#X connect 7 0 11 0; +#X connect 8 0 9 0; +#X connect 10 0 7 0; +#X connect 11 0 8 0; diff --git a/help/curve_log-help.pd b/help/curve_log-help.pd new file mode 100644 index 0000000..800816f --- /dev/null +++ b/help/curve_log-help.pd @@ -0,0 +1,57 @@ +#N canvas 127 78 476 357 10; +#X obj 5 2 cnv 15 450 20 empty empty [curve_log] 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X text 27 300 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 244 314 released under the GNU GPL; +#X text 98 271 For more info:; +#X obj 202 269 pddp_open all_about_curve_mapping; +#X floatatom 25 123 8 0 0 0 - - -; +#X floatatom 25 184 8 0 0 0 - - -; +#X obj 28 201 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -262144 +-1 -1 0 1; +#X obj 28 103 hsl 200 15 0 1 0 0 empty empty empty 22 8 1 12 -261681 +-1 -1 0 1; +#N canvas 0 22 450 300 graph1 0; +#X array curve_log 100 float 0; +#X coords 0 1 99 0 100 100 1; +#X restore 321 111 graph; +#N canvas 266 69 335 325 draw_array 0; +#X msg 57 52 bang; +#X obj 57 73 until; +#X text 88 52 start; +#X obj 57 95 f; +#X obj 86 95 + 1; +#X obj 132 97 sel 0; +#X obj 86 117 mod 100; +#X obj 57 150 t f f; +#X obj 94 177 s array_index; +#X obj 170 262 r array_index; +#X obj 57 13 loadbang; +#X obj 57 207 / 100; +#X text 99 207 [hid] output range: 0 to 1; +#X obj 56 283 tabwrite curve_log; +#X obj 56 233 curve_log; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 7 0; +#X connect 4 0 6 0; +#X connect 5 0 1 1; +#X connect 6 0 3 1; +#X connect 6 0 5 0; +#X connect 7 0 11 0; +#X connect 7 1 8 0; +#X connect 9 0 13 1; +#X connect 10 0 0 0; +#X connect 11 0 14 0; +#X connect 14 0 13 0; +#X restore 321 78 pd draw_array; +#X text 17 40 This object maps the input range to a logarithmic curve. +Humans perceive pitch and amplitude on a logarithmic scale.; +#X obj 25 153 curve_log; +#X connect 6 0 13 0; +#X connect 7 0 8 0; +#X connect 9 0 6 0; +#X connect 13 0 7 0; diff --git a/help/debounce-help.pd b/help/debounce-help.pd new file mode 100644 index 0000000..af80552 --- /dev/null +++ b/help/debounce-help.pd @@ -0,0 +1,45 @@ +#N canvas 429 170 470 540 10; +#X obj 2 2 cnv 15 450 20 empty empty [debounce] 2 11 1 18 -233017 -66577 +0; +#X msg 418 3 pddp; +#X text 234 467 released under the GNU GPL; +#X text 17 486 $Revision: 1.1 $$Date: 2006-01-29 05:43:33 $; +#X text 18 499 $Author: eighthave $; +#X text 17 453 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X obj 122 78 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 123 102 t b b; +#X obj 123 142 delay; +#X obj 63 121 bang; +#X obj 122 202 tgl 35 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X floatatom 166 203 5 0 0 0 - - -; +#X obj 122 271 tgl 35 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 123 166 random 2; +#X msg 85 78 stop; +#X obj 244 211 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 240 277 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 26 387 Right now \, it handles "floats" and "bangs". Everything +else is converted to a "bang".; +#X obj 152 122 random 1000; +#X obj 237 247 debounce 900; +#X obj 122 246 debounce 900; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 7 1 18 0; +#X connect 8 0 9 0; +#X connect 8 0 13 0; +#X connect 8 0 15 0; +#X connect 9 0 7 0; +#X connect 10 0 20 0; +#X connect 13 0 10 0; +#X connect 13 0 11 0; +#X connect 14 0 8 0; +#X connect 15 0 19 0; +#X connect 18 0 8 1; +#X connect 19 0 16 0; +#X connect 20 0 12 0; diff --git a/help/degrees2mapping-help.pd b/help/degrees2mapping-help.pd new file mode 100644 index 0000000..562b4e2 --- /dev/null +++ b/help/degrees2mapping-help.pd @@ -0,0 +1,24 @@ +#N canvas 82 386 483 323 10; +#X obj 5 2 cnv 15 450 20 empty empty [deg2hid] 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X text 254 269 released under the GNU GPL; +#X text 185 228 For more info:; +#X obj 289 226 pddp_open mapping-about; +#X text 40 254 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 300 168 related objects:; +#X obj 333 184 rad2hid; +#X floatatom 56 203 7 0 0 1 - - -; +#X obj 59 103 hsl 300 15 -720 720 0 0 empty empty degrees 6 7 1 10 +-262131 -1 -1 3100 0; +#X floatatom 82 133 5 0 0 0 - - -; +#X text 26 34 This object converts numbers from the [hid] range (0 +to 1) to radians (-pi to pi) with the 0's lining up in the same place. +; +#X obj 274 184 hid2rad; +#X obj 392 184 hid2deg; +#X obj 56 168 deg2hid; +#X connect 9 0 10 0; +#X connect 9 0 14 0; +#X connect 14 0 8 0; diff --git a/help/disjoin-help.pd b/help/disjoin-help.pd new file mode 100644 index 0000000..eb8c71f --- /dev/null +++ b/help/disjoin-help.pd @@ -0,0 +1,19 @@ +#N canvas 759 140 610 671 10; +#X obj 33 34 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 33 205 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 112 205 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 33 396 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X floatatom 134 339 5 0 0 0 - - -; +#X obj 33 175 disjoin 0.3; +#X obj 33 364 join 0.3; +#X connect 0 0 5 0; +#X connect 1 0 6 0; +#X connect 2 0 6 1; +#X connect 4 0 6 2; +#X connect 5 0 1 0; +#X connect 5 1 2 0; +#X connect 6 0 3 0; diff --git a/help/join-help.pd b/help/join-help.pd new file mode 100644 index 0000000..778cdc2 --- /dev/null +++ b/help/join-help.pd @@ -0,0 +1,19 @@ +#N canvas 972 276 508 607 10; +#X obj 82 37 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 82 208 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 161 208 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 82 399 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X floatatom 197 342 5 0 0 0 - - -; +#X obj 82 175 disjoin 0.3; +#X obj 82 368 join 0.3; +#X connect 0 0 5 0; +#X connect 1 0 6 0; +#X connect 2 0 6 1; +#X connect 4 0 6 2; +#X connect 5 0 1 0; +#X connect 5 1 2 0; +#X connect 6 0 3 0; diff --git a/help/mapping2degrees-help.pd b/help/mapping2degrees-help.pd new file mode 100644 index 0000000..b800b4f --- /dev/null +++ b/help/mapping2degrees-help.pd @@ -0,0 +1,23 @@ +#N canvas 589 387 483 323 10; +#X obj 5 2 cnv 15 450 20 empty empty [hid2deg] 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X text 254 269 released under the GNU GPL; +#X text 185 228 For more info:; +#X obj 289 226 pddp_open mapping-about; +#X text 40 254 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 300 168 related objects:; +#X obj 333 184 rad2hid; +#X obj 392 184 deg2hid; +#X floatatom 69 185 7 0 0 1 degrees - -; +#X obj 72 85 hsl 128 15 0 1 0 0 empty empty hid 6 7 1 10 -262131 -1 +-1 500 0; +#X floatatom 95 115 5 0 0 0 - - -; +#X obj 274 184 hid2rad; +#X obj 69 150 hid2deg; +#X text 26 34 This object converts numbers from the [hid] range (0 +to 1) to degrees (0 to 360) with the 0 being north.; +#X connect 10 0 11 0; +#X connect 10 0 13 0; +#X connect 13 0 9 0; diff --git a/help/mapping2radians-help.pd b/help/mapping2radians-help.pd new file mode 100644 index 0000000..2698127 --- /dev/null +++ b/help/mapping2radians-help.pd @@ -0,0 +1,24 @@ +#N canvas 633 307 471 311 10; +#X obj 5 2 cnv 15 450 20 empty empty [hid2rad] 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X text 254 269 released under the GNU GPL; +#X text 185 228 For more info:; +#X obj 289 226 pddp_open mapping-about; +#X text 40 254 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 300 168 related objects:; +#X obj 273 184 rad2hid; +#X obj 332 184 deg2hid; +#X obj 391 184 hid2deg; +#X obj 69 150 hid2rad; +#X floatatom 69 185 9 0 0 1 radians - -; +#X obj 72 85 hsl 128 15 0 1 0 0 empty empty hid 6 7 1 10 -262131 -1 +-1 0 0; +#X floatatom 95 115 5 0 0 0 - - -; +#X text 26 34 This object converts numbers from the [hid] range (0 +to 1) to radians (-pi to pi) with the 0's lining up in the same place. +; +#X connect 10 0 11 0; +#X connect 12 0 13 0; +#X connect 12 0 10 0; diff --git a/help/polar-help.pd b/help/polar-help.pd new file mode 100644 index 0000000..9f35ce6 --- /dev/null +++ b/help/polar-help.pd @@ -0,0 +1,40 @@ +#N canvas 601 232 482 455 10; +#X obj 5 2 cnv 15 450 20 empty empty [hid_polar] 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 244 411 released under the GNU GPL; +#X floatatom 100 248 5 0 0 0 - - -; +#X floatatom 100 335 7 0 0 0 radius-> - -; +#X text 124 370 For more info:; +#X obj 228 368 pddp_open mapping-about; +#X obj 100 295 hid_polar; +#X text 27 397 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X obj 101 161 hsl 128 15 0 1 0 0 empty empty x-axis 133 7 1 10 -225280 +-1 -1 0 0; +#X obj 157 103 vsl 15 128 0 1 0 0 empty empty y-axis -6 -9 1 10 -261681 +-1 -1 0 0; +#X floatatom 159 335 7 0 0 1 <-angle - -; +#X floatatom 158 248 5 0 0 0 - - -; +#X obj 157 265 t b f; +#X obj 334 335 polar-joystick; +#X text 275 273 related objects:; +#X text 273 334 example:; +#X msg 97 86 0.5; +#X text 43 86 center:; +#X text 17 29 Converts cartesian coordinates(x \, y) to polar coordinates +(radius \, angle). The angle is in radians (-pi to pi). The angle 0 +is at cartesian (1 \, 0.5) or to the right.; +#X obj 361 293 hid_spiral; +#X obj 245 293 hid2rad; +#X obj 303 293 hid2deg; +#X connect 3 0 7 0; +#X connect 7 0 4 0; +#X connect 7 1 11 0; +#X connect 9 0 3 0; +#X connect 10 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 3 0; +#X connect 13 1 7 1; +#X connect 17 0 9 0; +#X connect 17 0 10 0; diff --git a/help/radians2mapping-help.pd b/help/radians2mapping-help.pd new file mode 100644 index 0000000..9e0b6f1 --- /dev/null +++ b/help/radians2mapping-help.pd @@ -0,0 +1,24 @@ +#N canvas 168 236 533 333 10; +#X obj 5 2 cnv 15 450 20 empty empty [rad2hid] 2 11 1 18 -233017 -66577 +0; +#X msg 422 3 pddp; +#X text 254 269 released under the GNU GPL; +#X text 144 228 For more info:; +#X text 40 254 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 254 186 related objects:; +#X floatatom 69 195 5 0 0 1 hid - -; +#X obj 72 95 hsl 128 15 -3.14159 3.14159 0 0 empty empty radians 6 +7 1 10 -262131 -1 -1 0 0; +#X floatatom 95 125 9 0 0 0 - - -; +#X obj 69 160 rad2hid; +#X text 21 35 This object converts numbers from radians (-pi to pi) +to the [hid] range (0 to 1) with the 0's lining up in the same place. +; +#X obj 252 202 radians2mapping; +#X obj 140 202 degrees2mapping; +#X obj 365 202 mapping2degrees; +#X obj 248 226 pddp_open mapping-about; +#X connect 7 0 8 0; +#X connect 7 0 9 0; +#X connect 9 0 6 0; diff --git a/help/reverse-help.pd b/help/reverse-help.pd new file mode 100644 index 0000000..6dc8f92 --- /dev/null +++ b/help/reverse-help.pd @@ -0,0 +1,21 @@ +#N canvas 550 202 473 316 10; +#X obj 5 2 cnv 15 450 20 empty empty [reverse] 2 11 1 18 -233017 +-66577 0; +#X msg 422 3 pddp; +#X text 27 270 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 244 284 released under the GNU GPL; +#X floatatom 153 90 5 0 0 0 - - -; +#X floatatom 153 166 5 0 0 0 - - -; +#X obj 156 71 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 156 183 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X text 27 43 Inverts the stream of numbers.; +#X text 98 233 For more info:; +#X obj 202 231 pddp_open mapping-about; +#X obj 153 126 reverse; +#X connect 4 0 11 0; +#X connect 5 0 7 0; +#X connect 6 0 4 0; +#X connect 11 0 5 0; diff --git a/help/segment-help.pd b/help/segment-help.pd new file mode 100644 index 0000000..588860c --- /dev/null +++ b/help/segment-help.pd @@ -0,0 +1,33 @@ +#N canvas 15 380 668 314 10; +#X obj 62 198 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 11010 1; +#X obj 195 198 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 97 1; +#X obj 328 198 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 21 1; +#X obj 461 198 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 8322 1; +#X obj 62 28 hsl 527 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 11400 1; +#X msg 189 88 2; +#X msg 250 87 6; +#X msg 219 87 4; +#X floatatom 60 222 5 0 0 0 - - -; +#X floatatom 196 220 5 0 0 0 - - -; +#X floatatom 328 222 5 0 0 0 - - -; +#X floatatom 459 220 5 0 0 0 - - -; +#X floatatom 46 51 5 0 0 0 - - -; +#X obj 154 123 segment 4; +#X connect 0 0 8 0; +#X connect 1 0 9 0; +#X connect 2 0 10 0; +#X connect 3 0 11 0; +#X connect 4 0 12 0; +#X connect 4 0 13 0; +#X connect 5 0 13 1; +#X connect 6 0 13 1; +#X connect 7 0 13 1; +#X connect 13 0 0 0; +#X connect 13 1 1 0; +#X connect 13 2 2 0; +#X connect 13 3 3 0; @@ -0,0 +1,25 @@ +#N canvas 492 503 452 397 10; +#X obj 32 24 inlet; +#X obj 78 25 inlet; +#X obj 125 25 inlet; +#X obj 32 215 outlet; +#X obj 125 71 t b f; +#X obj 142 48 loadbang; +#X msg 125 93 1; +#X obj 125 117 - \$1; +#X obj 78 180 + \$1; +#X obj 32 119 * \$1; +#X obj 78 153 *; +#X connect 0 0 9 0; +#X connect 1 0 10 0; +#X connect 2 0 4 0; +#X connect 2 0 8 1; +#X connect 2 0 9 1; +#X connect 4 0 6 0; +#X connect 4 1 7 1; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 10 1; +#X connect 8 0 3 0; +#X connect 9 0 3 0; +#X connect 10 0 8 0; diff --git a/mapping2degrees.pd b/mapping2degrees.pd new file mode 100644 index 0000000..af40bca --- /dev/null +++ b/mapping2degrees.pd @@ -0,0 +1,31 @@ +#N canvas 163 40 444 356 10; +#X obj 88 30 inlet; +#X obj 89 264 outlet; +#X obj 88 56 min 1; +#X obj 88 74 max 0; +#X text 133 63 its a [hid] object \, so limit input range; +#X text 232 311 released under the GNU GPL; +#X text 15 297 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 19 9 [hid2deg]; +#X text 129 28 input range: 0 to 1 \, 0 = east/right; +#X text 143 264 output range: 0 to 360 \, 0 = north/top; +#X obj 88 100 * 360; +#X text 162 189 % is an int operation; +#X text 169 207 this saves accuracy; +#X obj 88 148 abs; +#X obj 88 123 - 450; +#X text 131 122 <- rotate zero to north; +#X text 130 148 <- change direction of rotation; +#X obj 89 202 % 3.6e+07; +#X obj 89 223 / 100000; +#X obj 89 181 * 100000; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 10 0; +#X connect 10 0 14 0; +#X connect 13 0 19 0; +#X connect 14 0 13 0; +#X connect 17 0 18 0; +#X connect 18 0 1 0; +#X connect 19 0 17 0; diff --git a/mapping2radians.pd b/mapping2radians.pd new file mode 100644 index 0000000..b2c3f19 --- /dev/null +++ b/mapping2radians.pd @@ -0,0 +1,22 @@ +#N canvas 287 246 432 344 10; +#X obj 88 30 inlet; +#X obj 89 264 outlet; +#X text 19 9 [hid2rad]; +#X obj 89 198 * 6.28318; +#X obj 88 101 moses 0.5; +#X obj 88 56 min 1; +#X obj 88 74 max 0; +#X obj 147 133 - 1; +#X text 133 63 its a [hid] object \, so limit input range; +#X text 129 28 input range: 0 to 1; +#X text 143 264 output range: -pi to pi; +#X text 232 311 released under the GNU GPL; +#X text 15 297 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X connect 0 0 5 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 4 1 7 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 3 0; diff --git a/pd/autoscale.pd b/pd/autoscale.pd new file mode 100644 index 0000000..ddd295e --- /dev/null +++ b/pd/autoscale.pd @@ -0,0 +1,87 @@ +#N canvas 206 226 777 546 10; +#X obj 45 30 inlet; +#X obj 175 453 outlet; +#X obj 235 268 f; +#X text 262 268 min; +#X text 360 269 max; +#X obj 454 167 f \$1; +#X obj 652 167 f \$2; +#X obj 235 245 moses 0; +#X obj 320 245 moses 0; +#X obj 175 102 trigger float float float bang bang; +#X obj 175 390 expr (($f1 - $f2) * (($f5 - $f4) / ($f3 - $f2))) + $f4 +; +#X obj 326 205 oneshot; +#X obj 364 226 f; +#X obj 320 178 t f b f; +#X obj 241 205 oneshot; +#X obj 279 226 f; +#X obj 235 178 t f b f; +#X obj 384 269 + 1e-09; +#X obj 478 213 ==; +#X obj 478 233 sel 1; +#X obj 545 77 loadbang; +#X obj 478 299 print [autoscale]; +#X floatatom 472 189 5 0 0 0 - - -; +#X obj 545 100 t b b; +#X obj 478 256 oneshot; +#X text 2 476 (C) Copyright 2004 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 219 491 released under the GNU GPL; +#X text 417 475 $Revision: 1.1 $$Date: 2006-01-29 05:43:33 $; +#X text 417 488 $Author: eighthave $; +#X obj 45 62 route reset; +#X obj 45 81 bang; +#X msg 45 129 0; +#X msg 114 102 clear; +#X text 172 47 these [oneshot] bits are just here to get the max/min +tracking started; +#X text 8 3 [autoscale]; +#X msg 478 278 using default range (0-1); +#X obj 454 329 expr if ($f1 == $f2 \, 0 \, $f1) \; if ($f1 == $f2 \, +1 \, $f2); +#X connect 0 0 29 0; +#X connect 2 0 7 1; +#X connect 2 0 10 1; +#X connect 5 0 18 0; +#X connect 5 0 22 0; +#X connect 5 0 36 0; +#X connect 6 0 18 1; +#X connect 6 0 36 1; +#X connect 7 0 2 0; +#X connect 8 1 17 0; +#X connect 9 0 10 0; +#X connect 9 1 16 0; +#X connect 9 2 13 0; +#X connect 9 3 5 0; +#X connect 9 4 6 0; +#X connect 10 0 1 0; +#X connect 11 0 12 0; +#X connect 12 0 8 1; +#X connect 13 0 8 0; +#X connect 13 1 11 0; +#X connect 13 2 12 1; +#X connect 14 0 15 0; +#X connect 15 0 7 1; +#X connect 16 0 7 0; +#X connect 16 1 14 0; +#X connect 16 2 15 1; +#X connect 17 0 8 1; +#X connect 17 0 10 2; +#X connect 18 0 19 0; +#X connect 19 0 24 0; +#X connect 20 0 23 0; +#X connect 23 0 5 0; +#X connect 23 1 6 0; +#X connect 24 0 35 0; +#X connect 29 0 30 0; +#X connect 29 1 9 0; +#X connect 30 0 31 0; +#X connect 30 0 32 0; +#X connect 31 0 2 0; +#X connect 31 0 12 0; +#X connect 32 0 14 0; +#X connect 32 0 11 0; +#X connect 35 0 21 0; +#X connect 36 0 10 3; +#X connect 36 1 10 4; diff --git a/pd/curve_exp.pd b/pd/curve_exp.pd new file mode 100644 index 0000000..b7ca7a4 --- /dev/null +++ b/pd/curve_exp.pd @@ -0,0 +1,11 @@ +#N canvas 225 325 499 325 10; +#X obj 72 38 inlet; +#X obj 72 258 outlet; +#X text 120 38 input range: 0 to 1; +#X text 128 258 output range: 0 to 1; +#X text 7 9 [hid_exp]; +#X obj 73 142 dbtorms; +#X obj 73 120 * 100; +#X connect 0 0 6 0; +#X connect 5 0 1 0; +#X connect 6 0 5 0; diff --git a/pd/curve_graph.pd b/pd/curve_graph.pd new file mode 100644 index 0000000..22b46a6 --- /dev/null +++ b/pd/curve_graph.pd @@ -0,0 +1,45 @@ +#N canvas 606 208 100 116 10; +#X obj 103 188 inlet; +#N canvas 0 22 466 316 graph5 0; +#X array \$0_ 100 float 2; +#X coords 0 1 100 0 100 100 1; +#X restore 0 16 graph; +#X obj 198 378 outlet; +#X text 238 311 gives a range of 0-100; +#X text 245 379 output range 0 to 1; +#X text 79 167 [hid_graph]; +#X obj 198 310 * 100; +#X text 143 190 input range: 0 to 1; +#X obj 103 237 route reset; +#X obj 75 380 f; +#X obj 45 380 +; +#X msg 89 348 0; +#X msg 45 348 1; +#X obj 45 464 / 100; +#X obj 45 441 trigger f f; +#X obj 21 278 trigger bang bang; +#X msg 21 303 100; +#X obj 21 322 until; +#X obj 198 333 tabread \$0_; +#X obj 45 496 tabwrite \$0_; +#X obj -7 229 loadbang; +#X connect 0 0 8 0; +#X connect 6 0 18 0; +#X connect 8 0 15 0; +#X connect 8 1 6 0; +#X connect 9 0 10 1; +#X connect 10 0 14 0; +#X connect 10 0 9 0; +#X connect 11 0 9 1; +#X connect 11 0 10 1; +#X connect 12 0 10 0; +#X connect 13 0 19 0; +#X connect 14 0 13 0; +#X connect 14 1 19 1; +#X connect 15 0 16 0; +#X connect 15 1 11 0; +#X connect 16 0 17 0; +#X connect 17 0 12 0; +#X connect 18 0 2 0; +#X connect 20 0 15 0; +#X coords 0 0 1 1 100 116 1; diff --git a/pd/curve_log.pd b/pd/curve_log.pd new file mode 100644 index 0000000..297f5f8 --- /dev/null +++ b/pd/curve_log.pd @@ -0,0 +1,11 @@ +#N canvas 297 485 422 322 10; +#X obj 31 45 inlet; +#X obj 31 282 outlet; +#X text 79 45 input range: 0 to 1; +#X text 87 282 output range: 0 to 1; +#X text 9 5 [hid_log]; +#X obj 30 145 rmstodb; +#X obj 30 175 / 100; +#X connect 0 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; diff --git a/pd/curve_power.pd b/pd/curve_power.pd new file mode 100644 index 0000000..0332375 --- /dev/null +++ b/pd/curve_power.pd @@ -0,0 +1,14 @@ +#N canvas 612 444 456 373 10; +#X obj 42 53 inlet; +#X obj 42 230 outlet; +#X text 5 14 input range: -1 to 1; +#X obj 43 182 pow; +#X text 98 229 output range: -1 to 1; +#X obj 138 53 inlet; +#X obj 146 106 float_argument \$1 1; +#X obj 146 84 loadbang; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 5 0 3 1; +#X connect 6 0 3 1; +#X connect 7 0 6 0; diff --git a/pd/curve_root.pd b/pd/curve_root.pd new file mode 100644 index 0000000..a75bdc2 --- /dev/null +++ b/pd/curve_root.pd @@ -0,0 +1,22 @@ +#N canvas 295 229 460 377 10; +#X obj 40 32 inlet; +#X obj 40 299 outlet; +#X obj 40 94 min 1; +#X text 5 6 input range: -1 to 1; +#X obj 40 114 max -1; +#X obj 41 271 pow; +#X text 96 298 output range: -1 to 1; +#X obj 58 246 /; +#X msg 58 226 1 \$1; +#X obj 142 33 inlet; +#X obj 155 107 float_argument \$1 1; +#X obj 155 86 loadbang; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 7 0 5 1; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 11 0 10 0; diff --git a/pd/debounce.pd b/pd/debounce.pd new file mode 100644 index 0000000..09092c3 --- /dev/null +++ b/pd/debounce.pd @@ -0,0 +1,28 @@ +#N canvas 132 316 478 432 10; +#X obj 38 43 inlet; +#X obj 252 108 f \$1; +#X obj 252 85 loadbang; +#X obj 226 33 inlet; +#X obj 251 132 select 0; +#X text 274 34 delay between state change; +#X obj 62 381 outlet; +#X obj 61 325 f; +#X text 298 152 set default; +#X obj 246 189 send \$0-delay; +#X obj 157 271 delay; +#X obj 187 248 receive \$0-delay; +#X text 80 31 float input; +#X text 120 378 debounced float output; +#X msg 250 152 10; +#X obj 100 103 change; +#X connect 0 0 7 1; +#X connect 0 0 15 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 3 0 9 0; +#X connect 4 0 14 0; +#X connect 4 1 9 0; +#X connect 7 0 6 0; +#X connect 10 0 7 0; +#X connect 11 0 10 1; +#X connect 14 0 9 0; diff --git a/pd/degrees2mapping.pd b/pd/degrees2mapping.pd new file mode 100644 index 0000000..ee9ac47 --- /dev/null +++ b/pd/degrees2mapping.pd @@ -0,0 +1,25 @@ +#N canvas 380 212 444 356 10; +#X obj 88 30 inlet; +#X obj 89 264 outlet; +#X text 232 311 released under the GNU GPL; +#X text 15 297 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 143 264 output range: 0 to 360 \, 0 = north/top; +#X text 19 9 [deg2hid]; +#X text 129 28 input range: 0 to 360 \, 0 = east/right; +#X obj 88 170 / 360; +#X text 162 108 % is an int operation; +#X text 169 126 this saves accuracy; +#X obj 89 121 % 3.6e+07; +#X obj 89 142 / 100000; +#X obj 89 100 * 100000; +#X obj 45 210 moses 0; +#X obj 45 230 + 1; +#X connect 0 0 12 0; +#X connect 7 0 13 0; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 12 0 10 0; +#X connect 13 0 14 0; +#X connect 13 1 1 0; +#X connect 14 0 1 0; diff --git a/pd/disjoin.pd b/pd/disjoin.pd new file mode 100644 index 0000000..a74cf43 --- /dev/null +++ b/pd/disjoin.pd @@ -0,0 +1,27 @@ +#N canvas 0 22 454 304 10; +#X obj 62 28 inlet; +#X obj 62 53 moses \$1; +#X obj 62 204 outlet; +#X obj 113 203 outlet; +#X obj 62 100 / \$1; +#X obj 152 27 inlet; +#X obj 113 101 - \$1; +#X obj 177 83 t b f; +#X obj 161 63 loadbang; +#X obj 113 158 / 1; +#X msg 177 105 1; +#X obj 177 129 - \$1; +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 6 0; +#X connect 4 0 2 0; +#X connect 5 0 4 1; +#X connect 5 0 6 1; +#X connect 5 0 7 0; +#X connect 6 0 9 0; +#X connect 7 0 10 0; +#X connect 7 1 11 1; +#X connect 8 0 10 0; +#X connect 9 0 3 0; +#X connect 10 0 11 0; +#X connect 11 0 9 1; diff --git a/pd/join.pd b/pd/join.pd new file mode 100644 index 0000000..79c8b80 --- /dev/null +++ b/pd/join.pd @@ -0,0 +1,25 @@ +#N canvas 492 503 452 397 10; +#X obj 32 24 inlet; +#X obj 78 25 inlet; +#X obj 125 25 inlet; +#X obj 32 215 outlet; +#X obj 125 71 t b f; +#X obj 142 48 loadbang; +#X msg 125 93 1; +#X obj 125 117 - \$1; +#X obj 78 180 + \$1; +#X obj 32 119 * \$1; +#X obj 78 153 *; +#X connect 0 0 9 0; +#X connect 1 0 10 0; +#X connect 2 0 4 0; +#X connect 2 0 8 1; +#X connect 2 0 9 1; +#X connect 4 0 6 0; +#X connect 4 1 7 1; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X connect 7 0 10 1; +#X connect 8 0 3 0; +#X connect 9 0 3 0; +#X connect 10 0 8 0; diff --git a/pd/mapping2degrees.pd b/pd/mapping2degrees.pd new file mode 100644 index 0000000..af40bca --- /dev/null +++ b/pd/mapping2degrees.pd @@ -0,0 +1,31 @@ +#N canvas 163 40 444 356 10; +#X obj 88 30 inlet; +#X obj 89 264 outlet; +#X obj 88 56 min 1; +#X obj 88 74 max 0; +#X text 133 63 its a [hid] object \, so limit input range; +#X text 232 311 released under the GNU GPL; +#X text 15 297 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 19 9 [hid2deg]; +#X text 129 28 input range: 0 to 1 \, 0 = east/right; +#X text 143 264 output range: 0 to 360 \, 0 = north/top; +#X obj 88 100 * 360; +#X text 162 189 % is an int operation; +#X text 169 207 this saves accuracy; +#X obj 88 148 abs; +#X obj 88 123 - 450; +#X text 131 122 <- rotate zero to north; +#X text 130 148 <- change direction of rotation; +#X obj 89 202 % 3.6e+07; +#X obj 89 223 / 100000; +#X obj 89 181 * 100000; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 10 0; +#X connect 10 0 14 0; +#X connect 13 0 19 0; +#X connect 14 0 13 0; +#X connect 17 0 18 0; +#X connect 18 0 1 0; +#X connect 19 0 17 0; diff --git a/pd/mapping2radians.pd b/pd/mapping2radians.pd new file mode 100644 index 0000000..b2c3f19 --- /dev/null +++ b/pd/mapping2radians.pd @@ -0,0 +1,22 @@ +#N canvas 287 246 432 344 10; +#X obj 88 30 inlet; +#X obj 89 264 outlet; +#X text 19 9 [hid2rad]; +#X obj 89 198 * 6.28318; +#X obj 88 101 moses 0.5; +#X obj 88 56 min 1; +#X obj 88 74 max 0; +#X obj 147 133 - 1; +#X text 133 63 its a [hid] object \, so limit input range; +#X text 129 28 input range: 0 to 1; +#X text 143 264 output range: -pi to pi; +#X text 232 311 released under the GNU GPL; +#X text 15 297 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X connect 0 0 5 0; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 4 1 7 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 3 0; diff --git a/pd/polar.pd b/pd/polar.pd new file mode 100644 index 0000000..a982061 --- /dev/null +++ b/pd/polar.pd @@ -0,0 +1,31 @@ +#N canvas 189 157 476 419 10; +#X obj 30 58 inlet; +#X obj 25 313 outlet; +#X text 73 313 output range: 0 to 1; +#X text 72 57 input range: 0 to 1; +#X text 11 5 [hid_polar]; +#X obj 232 312 outlet; +#X obj 224 56 inlet; +#X text 264 57 input range: 0 to 1; +#X text 29 29 x-axis value; +#X text 221 26 y-axis value; +#X obj 252 140 - 1; +#X obj 252 120 * 2; +#X obj 29 140 - 1; +#X obj 29 120 * 2; +#X text 61 125 convert range to -1 to 1; +#X text 280 312 output range: 0 to 1; +#X text 245 371 released under the GNU GPL; +#X text 28 357 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 23 331 radius; +#X text 230 332 angle; +#X obj 88 218 vector; +#X connect 0 0 13 0; +#X connect 6 0 11 0; +#X connect 10 0 20 1; +#X connect 11 0 10 0; +#X connect 12 0 20 0; +#X connect 13 0 12 0; +#X connect 20 0 1 0; +#X connect 20 1 5 0; diff --git a/pd/radians2mapping.pd b/pd/radians2mapping.pd new file mode 100644 index 0000000..39debb1 --- /dev/null +++ b/pd/radians2mapping.pd @@ -0,0 +1,26 @@ +#N canvas 258 110 429 400 10; +#X obj 42 36 inlet; +#X obj 140 297 outlet; +#X text 19 9 [rad2hid]; +#X obj 141 234 % 628318; +#X obj 127 167 moses 0; +#X obj 141 255 / 628318; +#X obj 42 96 * 100000; +#X obj 41 167 % 628318; +#X obj 42 136 moses -314159; +#X obj 85 200 + 628318; +#X text 10 66 % is an int operation \, we want floats \, so convert +to large integers; +#X text 225 351 released under the GNU GPL; +#X text 8 337 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X connect 0 0 6 0; +#X connect 3 0 5 0; +#X connect 4 0 9 0; +#X connect 4 1 3 0; +#X connect 5 0 1 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 8 1 4 0; +#X connect 9 0 3 0; diff --git a/pd/reverse.pd b/pd/reverse.pd new file mode 100644 index 0000000..53f6969 --- /dev/null +++ b/pd/reverse.pd @@ -0,0 +1,13 @@ +#N canvas 360 364 385 311 10; +#X obj 70 32 inlet; +#X obj 84 249 outlet; +#X text 140 249 output range: 0 to 1; +#X text 118 32 input range: 0 to 1; +#X obj 84 142 -; +#X msg 70 122 1; +#X obj 70 103 t b f; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 6 1 4 1; diff --git a/pd/vector.pd b/pd/vector.pd new file mode 100644 index 0000000..528bc46 --- /dev/null +++ b/pd/vector.pd @@ -0,0 +1,31 @@ +#N canvas 711 171 488 431 10; +#X obj 30 75 inlet; +#X obj 25 300 outlet; +#X text 73 300 output range: 0 to 1; +#X obj 232 299 outlet; +#X obj 164 73 inlet; +#X text 11 31 x-axis value; +#X text 167 30 y-axis value; +#X obj 25 269 / 1.41421; +#X text 92 269 (sqrt 2); +#X text 280 299 output range: 0 to 1; +#X text 245 371 released under the GNU GPL; +#X text 28 357 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 9 48 input range: -1 to 1; +#X text 168 48 input range: -1 to 1; +#X text 230 319 direction; +#X text 23 318 magnatude; +#X obj 153 197 zexy/cart2pol; +#X obj 231 267 radians2mapping; +#X obj 29 159 float; +#X obj 76 127 trigger bang float; +#X connect 0 0 18 0; +#X connect 4 0 19 0; +#X connect 7 0 1 0; +#X connect 16 0 7 0; +#X connect 16 1 17 0; +#X connect 17 0 3 0; +#X connect 18 0 16 0; +#X connect 19 0 18 0; +#X connect 19 1 16 1; diff --git a/polar.pd b/polar.pd new file mode 100644 index 0000000..a982061 --- /dev/null +++ b/polar.pd @@ -0,0 +1,31 @@ +#N canvas 189 157 476 419 10; +#X obj 30 58 inlet; +#X obj 25 313 outlet; +#X text 73 313 output range: 0 to 1; +#X text 72 57 input range: 0 to 1; +#X text 11 5 [hid_polar]; +#X obj 232 312 outlet; +#X obj 224 56 inlet; +#X text 264 57 input range: 0 to 1; +#X text 29 29 x-axis value; +#X text 221 26 y-axis value; +#X obj 252 140 - 1; +#X obj 252 120 * 2; +#X obj 29 140 - 1; +#X obj 29 120 * 2; +#X text 61 125 convert range to -1 to 1; +#X text 280 312 output range: 0 to 1; +#X text 245 371 released under the GNU GPL; +#X text 28 357 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 23 331 radius; +#X text 230 332 angle; +#X obj 88 218 vector; +#X connect 0 0 13 0; +#X connect 6 0 11 0; +#X connect 10 0 20 1; +#X connect 11 0 10 0; +#X connect 12 0 20 0; +#X connect 13 0 12 0; +#X connect 20 0 1 0; +#X connect 20 1 5 0; diff --git a/radians2mapping.pd b/radians2mapping.pd new file mode 100644 index 0000000..39debb1 --- /dev/null +++ b/radians2mapping.pd @@ -0,0 +1,26 @@ +#N canvas 258 110 429 400 10; +#X obj 42 36 inlet; +#X obj 140 297 outlet; +#X text 19 9 [rad2hid]; +#X obj 141 234 % 628318; +#X obj 127 167 moses 0; +#X obj 141 255 / 628318; +#X obj 42 96 * 100000; +#X obj 41 167 % 628318; +#X obj 42 136 moses -314159; +#X obj 85 200 + 628318; +#X text 10 66 % is an int operation \, we want floats \, so convert +to large integers; +#X text 225 351 released under the GNU GPL; +#X text 8 337 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X connect 0 0 6 0; +#X connect 3 0 5 0; +#X connect 4 0 9 0; +#X connect 4 1 3 0; +#X connect 5 0 1 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 8 1 4 0; +#X connect 9 0 3 0; diff --git a/reverse.pd b/reverse.pd new file mode 100644 index 0000000..53f6969 --- /dev/null +++ b/reverse.pd @@ -0,0 +1,13 @@ +#N canvas 360 364 385 311 10; +#X obj 70 32 inlet; +#X obj 84 249 outlet; +#X text 140 249 output range: 0 to 1; +#X text 118 32 input range: 0 to 1; +#X obj 84 142 -; +#X msg 70 122 1; +#X obj 70 103 t b f; +#X connect 0 0 6 0; +#X connect 4 0 1 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 6 1 4 1; diff --git a/vector.pd b/vector.pd new file mode 100644 index 0000000..528bc46 --- /dev/null +++ b/vector.pd @@ -0,0 +1,31 @@ +#N canvas 711 171 488 431 10; +#X obj 30 75 inlet; +#X obj 25 300 outlet; +#X text 73 300 output range: 0 to 1; +#X obj 232 299 outlet; +#X obj 164 73 inlet; +#X text 11 31 x-axis value; +#X text 167 30 y-axis value; +#X obj 25 269 / 1.41421; +#X text 92 269 (sqrt 2); +#X text 280 299 output range: 0 to 1; +#X text 245 371 released under the GNU GPL; +#X text 28 357 (C) Copyright 2005 Hans-Christoph Steiner <hans@at.or.at> +; +#X text 9 48 input range: -1 to 1; +#X text 168 48 input range: -1 to 1; +#X text 230 319 direction; +#X text 23 318 magnatude; +#X obj 153 197 zexy/cart2pol; +#X obj 231 267 radians2mapping; +#X obj 29 159 float; +#X obj 76 127 trigger bang float; +#X connect 0 0 18 0; +#X connect 4 0 19 0; +#X connect 7 0 1 0; +#X connect 16 0 7 0; +#X connect 16 1 17 0; +#X connect 17 0 3 0; +#X connect 18 0 16 0; +#X connect 19 0 18 0; +#X connect 19 1 16 1; |