aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2007-07-17 04:33:23 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2007-07-17 04:33:23 +0000
commit43c45ade1a89f39f5e0054d58fd47deb9d63669c (patch)
tree94e78e2dfc946c3070c78f914be9494eac4f7799
parentb83346e0998faf641f494d66c6d6f8018aa80c57 (diff)
All three of these objects split a single range into multiple ranges. I added
code to all three that automatically sets each output subranges to the proper values even if the input value skipped over a given output subrange. For example, if the input value skipped from the first subrange to the last subrange, then the subranges in between should all be set to 1 as if the input stream passed smoothly thru all of the subranges. svn path=/trunk/externals/mapping/; revision=8100
-rw-r--r--disjoin.pd44
-rw-r--r--one0x2d0x3etwo.pd38
-rw-r--r--segment.pd96
3 files changed, 121 insertions, 57 deletions
diff --git a/disjoin.pd b/disjoin.pd
index d082559..f3a4883 100644
--- a/disjoin.pd
+++ b/disjoin.pd
@@ -1,18 +1,22 @@
-#N canvas 359 161 477 319 10;
-#X obj 62 28 inlet;
-#X obj 62 244 outlet;
-#X obj 113 243 outlet;
-#X obj 113 198 / 1;
-#X msg 167 145 1;
-#X obj 157 20 inlet;
-#X obj 199 20 loadbang;
-#X obj 167 169 -;
-#X obj 113 141 -;
-#X obj 62 140 /;
-#X obj 62 83 moses;
-#X obj 167 123 trigger bang float;
-#X obj 162 48 float_argument \$1 0.5;
-#X text 166 69 default to splitting down the middle (0.5);
+#N canvas 564 172 573 359 10;
+#X obj 176 17 inlet;
+#X obj 166 331 outlet;
+#X obj 217 330 outlet;
+#X obj 217 265 / 1;
+#X msg 391 182 1;
+#X obj 271 17 inlet;
+#X obj 313 17 loadbang;
+#X obj 391 206 -;
+#X obj 217 243 -;
+#X obj 166 242 /;
+#X obj 176 80 moses;
+#X obj 391 160 trigger bang float;
+#X obj 276 45 float_argument \$1 0.5;
+#X text 280 66 default to splitting down the middle (0.5);
+#X obj 276 159 purepd/once;
+#X obj 276 185 float;
+#X obj 76 159 purepd/once;
+#X obj 76 185 float;
#X connect 0 0 10 0;
#X connect 3 0 2 0;
#X connect 4 0 7 0;
@@ -22,10 +26,20 @@
#X connect 8 0 3 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
+#X connect 10 0 14 0;
+#X connect 10 0 16 1;
#X connect 10 1 8 0;
+#X connect 10 1 14 1;
+#X connect 10 1 16 0;
#X connect 11 0 4 0;
#X connect 11 1 7 1;
#X connect 12 0 8 1;
#X connect 12 0 9 1;
#X connect 12 0 10 1;
#X connect 12 0 11 0;
+#X connect 12 0 15 1;
+#X connect 12 0 17 1;
+#X connect 14 0 15 0;
+#X connect 15 0 8 0;
+#X connect 16 0 17 0;
+#X connect 17 0 9 0;
diff --git a/one0x2d0x3etwo.pd b/one0x2d0x3etwo.pd
index 24cc1da..7a9ffbe 100644
--- a/one0x2d0x3etwo.pd
+++ b/one0x2d0x3etwo.pd
@@ -1,26 +1,30 @@
-#N canvas 616 92 482 348 10;
-#X obj 131 38 inlet;
-#X obj 131 253 outlet;
-#X obj 233 252 outlet;
-#X obj 233 194 /;
-#X obj 245 28 inlet;
-#X obj 261 51 loadbang;
-#X obj 246 77 purepd/float_argument \$1 0.5;
-#X obj 246 98 clip 0 1;
-#X msg 247 137 1 \$1;
-#X obj 249 165 -;
-#X obj 160 124 max;
-#X obj 160 154 -;
+#N canvas 844 571 510 376 10;
+#X obj 31 38 inlet;
+#X obj 31 313 outlet;
+#X obj 283 312 outlet;
+#X obj 283 254 /;
+#X obj 295 28 inlet;
+#X obj 311 51 loadbang;
+#X obj 296 77 purepd/float_argument \$1 0.5;
+#X obj 296 98 clip 0 1;
+#X obj 237 212 -;
+#X obj 298 204 mapping/reverse;
+#X obj 210 124 moses;
+#X obj 152 212 purepd/once;
+#X msg 152 251 0;
#X connect 0 0 1 0;
#X connect 0 0 10 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
-#X connect 7 0 8 0;
+#X connect 7 0 8 1;
+#X connect 7 0 9 0;
#X connect 7 0 10 1;
-#X connect 7 0 11 1;
-#X connect 8 0 9 0;
+#X connect 8 0 3 0;
#X connect 9 0 3 1;
#X connect 10 0 11 0;
-#X connect 11 0 3 0;
+#X connect 10 1 8 0;
+#X connect 10 1 11 1;
+#X connect 11 0 12 0;
+#X connect 12 0 2 0;
diff --git a/segment.pd b/segment.pd
index a09c8ff..92c4e08 100644
--- a/segment.pd
+++ b/segment.pd
@@ -1,25 +1,71 @@
-#N canvas 310 147 544 471 10;
-#X obj 21 15 inlet;
-#X obj 57 430 outlet;
-#X obj 172 80 purepd/float_argument \$1 1;
-#X obj 172 14 inlet;
-#X obj 205 43 loadbang;
-#X obj 58 162 *;
-#X obj 58 296 pack float float;
-#X obj 58 188 trigger bang float float;
-#X obj 58 277 float;
-#X obj 221 213 int;
-#X obj 165 276 -;
-#X connect 0 0 5 0;
-#X connect 2 0 5 1;
-#X connect 3 0 2 0;
-#X connect 4 0 2 0;
-#X connect 5 0 7 0;
-#X connect 6 0 1 0;
-#X connect 7 0 8 0;
-#X connect 7 1 10 0;
-#X connect 7 2 9 0;
-#X connect 8 0 6 0;
-#X connect 9 0 10 1;
-#X connect 9 0 8 1;
-#X connect 10 0 6 1;
+#N canvas 252 375 511 415 10;
+#X obj 94 24 inlet;
+#X obj 182 353 outlet;
+#X obj 245 23 inlet;
+#X obj 278 52 loadbang;
+#X obj 94 151 *;
+#X obj 94 305 pack float float;
+#X obj 94 177 trigger bang float float;
+#X obj 94 246 float;
+#X obj 235 199 int;
+#X obj 201 245 -;
+#X obj 245 89 purepd/float_argument \$1 2;
+#N canvas 222 41 308 537 reset 0;
+#X obj 89 12 inlet;
+#X obj 98 489 outlet;
+#X obj 89 68 change;
+#X obj 119 156 float;
+#X obj 98 417 pack float float;
+#X obj 187 201 -;
+#X obj 187 235 moses;
+#X msg 216 378 0;
+#X msg 187 378 1;
+#X obj 46 327 float;
+#X obj 86 327 +;
+#X msg 114 298 1;
+#X msg 145 298 -1;
+#X obj 46 287 until;
+#X obj 46 266 abs;
+#X obj 89 93 trigger bang float bang float;
+#X obj 46 244 float;
+#X connect 0 0 2 0;
+#X connect 2 0 15 0;
+#X connect 3 0 5 0;
+#X connect 3 0 9 1;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 5 0 16 1;
+#X connect 6 0 8 0;
+#X connect 6 0 11 0;
+#X connect 6 1 7 0;
+#X connect 6 1 12 0;
+#X connect 7 0 4 1;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 9 0 4 0;
+#X connect 10 0 9 1;
+#X connect 11 0 10 1;
+#X connect 12 0 10 1;
+#X connect 13 0 9 0;
+#X connect 14 0 13 0;
+#X connect 15 0 16 0;
+#X connect 15 1 3 1;
+#X connect 15 2 3 0;
+#X connect 15 3 5 1;
+#X connect 16 0 14 0;
+#X restore 279 270 pd reset previous segments;
+#X connect 0 0 4 0;
+#X connect 2 0 10 0;
+#X connect 3 0 10 0;
+#X connect 4 0 6 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 6 1 9 0;
+#X connect 6 2 8 0;
+#X connect 7 0 5 0;
+#X connect 8 0 9 1;
+#X connect 8 0 7 1;
+#X connect 8 0 11 0;
+#X connect 9 0 5 1;
+#X connect 10 0 4 1;
+#X connect 11 0 1 0;