aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Iannini <lukeiannini@users.sourceforge.net>2008-07-25 09:22:20 +0000
committerLuke Iannini <lukeiannini@users.sourceforge.net>2008-07-25 09:22:20 +0000
commit9544b3c4cb5e805d21b823cabd12204c377261a3 (patch)
tree5781c473834939302618a87678730418207b47f8
parent7d3d21431ff710a5dd84c8198f7018862595d2e2 (diff)
greatly improved dealing with scaled input while still accepting arbitrary OSC messages
svn path=/trunk/abstractions/senderfruit/; revision=10219
-rw-r--r--memento-p/commun-c-constrain.pd96
-rw-r--r--memento-p/commun-c-scale-help.pd44
-rw-r--r--memento-p/commun-c-scale.pd57
3 files changed, 97 insertions, 100 deletions
diff --git a/memento-p/commun-c-constrain.pd b/memento-p/commun-c-constrain.pd
index 27a1329..77064eb 100644
--- a/memento-p/commun-c-constrain.pd
+++ b/memento-p/commun-c-constrain.pd
@@ -1,7 +1,6 @@
#N canvas 286 32 505 662 10;
#X obj 12 11 inlet;
#X obj 108 585 outlet;
-#X text 5 93 RRADICAL_MEMENTO is also in originator;
#X obj 108 538 list;
#X obj 132 318 expr_scale 0 1 \$3 \$4;
#X obj 289 318 expr_scale 0 1 \$3 \$4;
@@ -24,17 +23,12 @@ be when scaled fully;
#X obj 162 279 t b a;
#X obj 108 415 r \$0round?;
#X obj 45 459 t a;
-#X text 186 548 Read \$1-OSC (== \$0-OSC) \, filter by argument \$2
-;
-#X obj 45 188 deeprouteOSC \$2-normalized;
-#X obj 187 521 deeprouteOSC \$2;
-#X obj 187 497 r \$1-RRADICAL-OSC;
-#X obj 45 165 r \$1-RRADICAL-OSC;
+#X text 6 128 Read \$1-OSC (== \$0-OSC) \, filter by argument \$2;
+#X obj 45 145 r \$1-RRADICAL-OSC;
#X obj 12 42 prepent \$2;
#X obj 12 69 s \$1-RRADICAL-MEMENTO;
#X obj 108 513 route \$2;
#X obj 108 489 r \$1-in;
-#X text 191 538 ^;
#N canvas 0 22 221 199 handleArgs 0;
#X obj 26 26 loadbang;
#X msg 26 127 1;
@@ -49,22 +43,22 @@ be when scaled fully;
#X connect 2 1 5 0;
#X connect 4 0 2 0;
#X connect 6 0 4 0;
-#X restore 297 108 pd handleArgs;
+#X restore 317 108 pd handleArgs;
#N canvas 0 22 390 211 listParams 0;
#X obj 31 79 spigot 1;
#X msg 161 62 0;
#X obj 161 39 r \$0hide?;
#X obj 31 49 r \$1/listParams;
#X obj 31 136 s \$1/returnParams;
-#X obj 31 106 list append \$2-normalized;
#X text 16 161 listParams is used by Controctopus \, so we return a
special address for 0-1 data input only;
-#X connect 0 0 5 0;
+#X obj 31 106 list append \$2;
+#X connect 0 0 6 0;
#X connect 1 0 0 1;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
-#X connect 5 0 4 0;
-#X restore 297 133 pd listParams;
+#X connect 6 0 4 0;
+#X restore 317 133 pd listParams;
#N canvas 0 22 352 303 receiveConstraints 0;
#X obj 80 156 unpack f f;
#X obj 80 200 s \$0constrainLow;
@@ -97,7 +91,7 @@ special address for 0-1 data input only;
#X connect 11 0 7 0;
#X connect 12 0 10 0;
#X connect 14 0 6 0;
-#X restore 297 157 pd receiveConstraints;
+#X restore 317 157 pd receiveConstraints;
#N canvas 323 119 442 277 constraintsFeedback 0;
#X obj 19 35 inlet;
#X obj 19 63 t a a b;
@@ -150,42 +144,48 @@ selector \, you can return the names);
#X connect 8 1 4 1;
#X connect 9 0 10 0;
#X connect 10 0 7 0;
-#X restore 297 181 pd receiveMultiplier;
+#X restore 317 181 pd receiveMultiplier;
#X obj 81 391 r \$0multiplier;
#X obj 45 408 *;
#X obj 108 562 route bang;
-#X connect 0 0 28 0;
-#X connect 3 0 40 0;
-#X connect 4 0 6 0;
-#X connect 4 0 9 3;
-#X connect 5 0 6 1;
-#X connect 5 0 9 4;
-#X connect 6 0 36 0;
-#X connect 7 0 22 0;
-#X connect 7 1 8 0;
-#X connect 8 0 22 0;
-#X connect 9 0 39 0;
+#X obj 45 168 deeprouteOSC \$2;
+#X obj 45 190 route float;
+#X obj 118 190 s \$0bypass;
+#X obj 166 516 r \$0bypass;
+#X text 43 85 RRADICAL-MEMENTO is also in originator;
+#X connect 0 0 24 0;
+#X connect 2 0 35 0;
+#X connect 3 0 5 0;
+#X connect 3 0 8 3;
+#X connect 4 0 5 1;
+#X connect 4 0 8 4;
+#X connect 5 0 31 0;
+#X connect 6 0 21 0;
+#X connect 6 1 7 0;
+#X connect 7 0 21 0;
+#X connect 8 0 34 0;
+#X connect 9 0 12 0;
#X connect 10 0 13 0;
-#X connect 11 0 14 0;
-#X connect 15 0 20 0;
-#X connect 16 0 19 0;
+#X connect 14 0 19 0;
+#X connect 15 0 18 0;
+#X connect 16 0 3 0;
#X connect 17 0 4 0;
-#X connect 18 0 5 0;
-#X connect 19 0 5 0;
-#X connect 19 1 5 4;
-#X connect 19 1 4 4;
-#X connect 20 0 4 0;
-#X connect 20 1 5 3;
-#X connect 20 1 4 3;
-#X connect 21 0 7 1;
-#X connect 22 0 3 0;
-#X connect 24 0 9 0;
-#X connect 25 0 3 0;
-#X connect 26 0 25 0;
-#X connect 27 0 24 0;
-#X connect 28 0 29 0;
-#X connect 30 0 3 0;
-#X connect 31 0 30 0;
-#X connect 38 0 39 1;
-#X connect 39 0 7 0;
-#X connect 40 1 1 0;
+#X connect 18 0 4 0;
+#X connect 18 1 4 4;
+#X connect 18 1 3 4;
+#X connect 19 0 3 0;
+#X connect 19 1 4 3;
+#X connect 19 1 3 3;
+#X connect 20 0 6 1;
+#X connect 21 0 2 0;
+#X connect 23 0 36 0;
+#X connect 24 0 25 0;
+#X connect 26 0 2 0;
+#X connect 27 0 26 0;
+#X connect 33 0 34 1;
+#X connect 34 0 6 0;
+#X connect 35 1 1 0;
+#X connect 36 0 37 0;
+#X connect 37 0 8 0;
+#X connect 37 1 38 0;
+#X connect 39 0 2 0;
diff --git a/memento-p/commun-c-scale-help.pd b/memento-p/commun-c-scale-help.pd
index f181f47..5d6d666 100644
--- a/memento-p/commun-c-scale-help.pd
+++ b/memento-p/commun-c-scale-help.pd
@@ -1,36 +1,34 @@
#N canvas 731 31 478 597 10;
-#X text 130 258 Inlet 2 changes the lower scaling bound;
-#X text 228 288 Inlet 3 changes the upper scaling bound;
-#X floatatom 131 273 5 0 0 0 - - -;
-#X floatatom 232 304 5 0 0 0 - - -;
+#X text 127 258 Inlet 2 changes the lower scaling bound;
+#X text 222 288 Inlet 3 changes the upper scaling bound;
+#X floatatom 128 273 5 0 0 0 - - -;
+#X floatatom 226 304 5 0 0 0 - - -;
#X floatatom 31 253 5 0 0 0 - - -;
#X floatatom 31 363 5 0 0 0 - - -;
#X text 29 236 Inlet 1 is the standard commun input;
#X text 340 552 2008 Luke Iannini;
#X text 2 573 Originally based on [commun-scale] by Frank Barknecht
;
-#X text 13 26 Use commun-c-scale(ale) so that 0-1 values coming out
-of OSC stuff (like Controctopus) can be rescaled appropriately.;
-#X text 14 145 commun-c-scale's first and second args are swapped from
+#X text 13 145 commun-c-scale's first and second args are swapped from
commun-c (i.e. \$0 and /parametername);
-#X text 15 182 Optionally prepend a unique ID to the parameter when
-using with an abstraction that will have multiple copies;
-#X obj 31 327 commun-c-scale \$0 \$3/parameter 5 37;
-#X text 13 109 Don't use this for communs that are meant to store symbolic
-or list data (use regular commun-c for that).;
-#X text 34 404 * Argument 5 and 6 can be "round" and/or "hide" (the
-order doesn't matter).;
-#X text 34 434 * "hide" hides the parameter from Controctopus sniffing
+#X text 44 434 * "hide" hides the parameter from Controctopus sniffing
(useful to pare down the options to just the most interesting inputs).
;
-#X text 34 476 * "round" rounds up from 0.5 increments so that an integer
+#X text 44 476 * "round" rounds up from 0.5 increments so that an integer
is always output (useful for communs connected to v/hdials and toggles).
;
-#X text 14 62 0-1 data should be directed to /paramatername-normalized.
-The address /parametername still exists and will output arbitrary data.
-;
#X text 328 537 made more confusing by;
-#X connect 2 0 12 1;
-#X connect 3 0 12 2;
-#X connect 4 0 12 0;
-#X connect 12 0 5 0;
+#X obj 31 327 commun-c-scale \$0 /parameter 5 37;
+#X text 13 76 commun-c-scale distinguishes between floats and other
+messages \, so you can send other messages to its OSC address and they'll
+be delivered without the scaling getting in the way.;
+#X text 13 16 commun-c-scale will scale OSC inputs from 0-1 to a range
+you specify. This way \, all of your parameters have a standardized
+interface \, where 0-1 can mean 20-20000hz for a filter or 0-100 for
+a volume control.;
+#X text 34 404 * Argument 5 and 6 can be "round" and/or "hide" (the
+order doesn't matter):;
+#X connect 2 0 13 1;
+#X connect 3 0 13 2;
+#X connect 4 0 13 0;
+#X connect 13 0 5 0;
diff --git a/memento-p/commun-c-scale.pd b/memento-p/commun-c-scale.pd
index f3ed13d..071f9a5 100644
--- a/memento-p/commun-c-scale.pd
+++ b/memento-p/commun-c-scale.pd
@@ -1,7 +1,6 @@
#N canvas 286 32 505 662 10;
#X obj 12 11 inlet;
#X obj 108 585 outlet;
-#X text 5 93 RRADICAL_MEMENTO is also in originator;
#X obj 108 538 list;
#X obj 45 437 demultiplex;
#X obj 108 459 round;
@@ -14,17 +13,13 @@
#X obj 162 282 r \$0boundHighFull;
#X obj 108 415 r \$0round?;
#X obj 45 459 t a;
-#X text 186 548 Read \$1-OSC (== \$0-OSC) \, filter by argument \$2
+#X text 10 147 Read \$1-OSC (== \$0-OSC) \, filter by argument \$2
;
-#X obj 45 188 deeprouteOSC \$2-normalized;
-#X obj 187 521 deeprouteOSC \$2;
-#X obj 187 497 r \$1-RRADICAL-OSC;
#X obj 45 165 r \$1-RRADICAL-OSC;
#X obj 12 42 prepent \$2;
#X obj 12 69 s \$1-RRADICAL-MEMENTO;
#X obj 108 513 route \$2;
#X obj 108 489 r \$1-in;
-#X text 191 538 ^;
#N canvas 0 22 221 199 handleArgs 0;
#X obj 26 26 loadbang;
#X msg 26 127 1;
@@ -40,15 +35,13 @@
#X connect 4 0 2 0;
#X connect 6 0 4 0;
#X restore 348 118 pd handleArgs;
-#N canvas 0 22 390 211 listParams 0;
+#N canvas 0 22 339 177 listParams 0;
#X obj 31 79 spigot 1;
#X msg 161 62 0;
#X obj 161 39 r \$0hide?;
#X obj 31 49 r \$1/listParams;
#X obj 31 136 s \$1/returnParams;
-#X obj 31 106 list append \$2-normalized;
-#X text 16 161 listParams is used by Controctopus \, so we return a
-special address for 0-1 data input only;
+#X obj 31 106 list append \$2;
#X connect 0 0 5 0;
#X connect 1 0 0 1;
#X connect 2 0 1 0;
@@ -58,23 +51,29 @@ special address for 0-1 data input only;
#X text 63 610 Use to constrain input to a smaller subset of the full
range. Input as relative to 0-1.;
#X obj 108 562 route bang;
-#X connect 0 0 20 0;
-#X connect 3 0 28 0;
-#X connect 4 0 14 0;
-#X connect 4 1 5 0;
-#X connect 5 0 14 0;
-#X connect 6 0 4 0;
+#X obj 45 220 route float;
+#X obj 118 220 s \$0bypass;
+#X obj 45 188 deeprouteOSC \$2;
+#X obj 167 516 r \$0bypass;
+#X text 42 85 RRADICAL-MEMENTO is also in originator;
+#X connect 0 0 16 0;
+#X connect 2 0 23 0;
+#X connect 3 0 13 0;
+#X connect 3 1 4 0;
+#X connect 4 0 13 0;
+#X connect 5 0 3 0;
+#X connect 6 0 8 0;
#X connect 7 0 9 0;
-#X connect 8 0 10 0;
-#X connect 11 0 6 3;
-#X connect 12 0 6 4;
-#X connect 13 0 4 1;
-#X connect 14 0 3 0;
-#X connect 16 0 6 0;
-#X connect 17 0 3 0;
-#X connect 18 0 17 0;
-#X connect 19 0 16 0;
-#X connect 20 0 21 0;
-#X connect 22 0 3 0;
-#X connect 23 0 22 0;
-#X connect 28 1 1 0;
+#X connect 10 0 5 3;
+#X connect 11 0 5 4;
+#X connect 12 0 3 1;
+#X connect 13 0 2 0;
+#X connect 15 0 26 0;
+#X connect 16 0 17 0;
+#X connect 18 0 2 0;
+#X connect 19 0 18 0;
+#X connect 23 1 1 0;
+#X connect 24 0 5 0;
+#X connect 24 1 25 0;
+#X connect 26 0 24 0;
+#X connect 27 0 2 0;