From 43c45ade1a89f39f5e0054d58fd47deb9d63669c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 17 Jul 2007 04:33:23 +0000 Subject: 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 --- disjoin.pd | 44 ++++++++++++++++--------- one0x2d0x3etwo.pd | 38 ++++++++++++---------- segment.pd | 96 ++++++++++++++++++++++++++++++++++++++++--------------- 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; -- cgit v1.2.1