From 981d86bf75167cd02c2ce8b6e64dd128487ceec0 Mon Sep 17 00:00:00 2001 From: Luke Iannini Date: Tue, 26 Feb 2008 02:43:28 +0000 Subject: new list-range accepts 1, 2 or 3 args 1 arg, outputs [0 ... n] with interval of 1, or -1 if n is negative 2 args, outputs [n1 ... n2] with interval of 1 or -1 if n2 is less than n1 3 args, outputs [n1 ... n2] with interval of n3 bang inlet to get the list, or input list of new args svn path=/trunk/abstractions/senderfruit/; revision=9522 --- core/list-range.pd | 218 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 157 insertions(+), 61 deletions(-) diff --git a/core/list-range.pd b/core/list-range.pd index aea32cc..584e562 100644 --- a/core/list-range.pd +++ b/core/list-range.pd @@ -1,63 +1,159 @@ -#N canvas 614 86 526 410 10; -#X obj 50 12 inlet; -#X obj 71 243 until; -#X obj 71 208 \$1; -#X obj 96 284 + 1; -#X obj 71 320 list-extend; -#X obj 50 386 outlet; -#X obj 332 274 \$3; -#X obj 293 291 div; -#X obj 293 250 -; -#X obj 308 220 \$1; -#X obj 293 195 t a b b; -#X obj 95 208 r \$0elements; -#X obj 293 324 s \$0elements; -#X obj 293 134 loadbang; -#X obj 293 162 list-onearg \$2; -#X obj 120 284 list-onearg \$3; -#X obj 71 284 f 0; -#X obj 176 162 list-onearg \$2; -#X obj 176 139 loadbang; -#X obj 108 243 f; -#X obj 176 185 b; -#X obj 134 243 b; -#X obj 176 208 \$1; -#X obj 50 166 t b b b b; -#X obj 50 351 list; -#X obj 143 267 loadbang; -#X obj 50 33 route bang; -#X obj 107 58 t a a; -#X obj 134 78 list length; -#X connect 0 0 26 0; -#X connect 1 0 16 0; -#X connect 2 0 1 0; -#X connect 3 0 16 1; -#X connect 4 0 24 1; -#X connect 6 0 7 1; -#X connect 7 0 12 0; +#N canvas 740 166 285 632 10; +#X obj 129 52 t b b b; +#X obj 129 168 list-extend; +#X obj 129 28 loadbang; +#X obj 23 37 inlet; +#N canvas 0 22 645 437 conformList 0; +#X obj 100 17 inlet; +#X obj 100 47 t a a; +#X obj 100 165 list; +#X obj 100 79 list length; +#X obj 100 105 sel 1 2 3; +#X obj 273 165 list; +#X obj 491 165 list; +#X obj 273 240 -; +#X obj 273 219 unpack f f; +#X obj 273 192 t a a; +#X obj 273 289 sel 0 1; +#X obj 273 317 list; +#X obj 363 317 list; +#X obj 273 347 list append 1; +#X obj 363 347 list append -1; +#X obj 273 263 > 0; +#X obj 100 194 t a a; +#X obj 35 298 list; +#X obj 127 298 list; +#X obj 100 243 sel 0 1; +#X obj 100 219 > 0; +#X obj 127 323 list prepend 0; +#X obj 127 349 list append 1; +#X obj 273 395 outlet; +#X text 259 57 3 elements: no change; +#X text 259 37 2 elements: count from el1 to el2; +#X text 260 8 1 element: negative \, count down from 0 positive \, +count up from zero.; +#X obj 35 348 list append -1; +#X obj 35 323 list prepend 0; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 1 1 2 1; +#X connect 1 1 5 1; +#X connect 1 1 6 1; +#X connect 2 0 16 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 1 5 0; +#X connect 4 2 6 0; +#X connect 5 0 9 0; +#X connect 6 0 23 0; +#X connect 7 0 15 0; #X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 9 0 8 0; +#X connect 9 1 11 1; +#X connect 9 1 12 1; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 11 0 13 0; +#X connect 12 0 14 0; +#X connect 13 0 23 0; +#X connect 14 0 23 0; +#X connect 15 0 10 0; +#X connect 16 0 20 0; +#X connect 16 1 18 1; +#X connect 16 1 17 1; +#X connect 17 0 28 0; +#X connect 18 0 21 0; +#X connect 19 0 17 0; +#X connect 19 1 18 0; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 27 0 23 0; +#X connect 28 0 27 0; +#X restore 23 215 pd conformList; +#X obj 50 475 until; +#X obj 23 414 f; +#X obj 65 449 unpack f f f; +#X obj 50 509 f; +#X obj 81 509 +; +#X obj 50 541 list-extend; +#X obj 23 570 list; +#X obj 23 449 t b a; +#X obj 23 596 outlet; +#X obj 23 241 t b a a b; +#N canvas 0 22 450 300 calcElementCount 0; +#X obj 107 276 outlet; +#X obj 107 21 inlet; +#X obj 107 51 unpack f f f; +#X obj 107 77 -; +#X obj 107 102 abs; +#X obj 176 102 abs; +#X obj 107 127 pack f f; +#X obj 134 175 div; +#X obj 107 175 mod; +#X obj 107 150 t a a; +#X obj 107 199 sel 0; +#X obj 107 226 f; +#X obj 145 226 f; +#X obj 145 199 b; +#X obj 145 247 + 1; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 2 2 5 0; +#X connect 3 0 4 0; +#X connect 4 0 6 0; +#X connect 5 0 6 1; +#X connect 6 0 9 0; +#X connect 7 0 11 1; +#X connect 7 0 12 1; +#X connect 8 0 10 0; +#X connect 9 0 8 0; +#X connect 9 1 7 0; +#X connect 10 0 11 0; +#X connect 10 1 13 0; +#X connect 11 0 0 0; +#X connect 12 0 14 0; +#X connect 13 0 12 0; +#X connect 14 0 0 0; +#X restore 57 283 pd calcElementCount; +#X obj 23 88 route bang; +#X obj 50 143 t b a; +#X obj 23 190 list; +#X obj 135 205 print ext; +#X obj 148 113 list-onearg \$2; +#X obj 129 143 list-onearg \$3; +#X obj 168 83 \$1; +#X connect 0 0 21 0; +#X connect 0 1 20 0; +#X connect 0 2 22 0; +#X connect 1 0 18 1; +#X connect 1 0 19 0; +#X connect 2 0 0 0; +#X connect 3 0 16 0; +#X connect 4 0 14 0; +#X connect 5 0 8 0; +#X connect 6 0 12 0; +#X connect 7 0 8 1; +#X connect 7 2 9 1; +#X connect 8 0 9 0; +#X connect 8 0 10 0; #X connect 9 0 8 1; -#X connect 10 0 8 0; -#X connect 10 1 9 0; -#X connect 10 2 6 0; -#X connect 11 0 2 1; -#X connect 13 0 14 0; -#X connect 14 0 10 0; -#X connect 15 0 3 1; -#X connect 16 0 3 0; -#X connect 16 0 4 0; -#X connect 17 0 20 0; -#X connect 18 0 17 0; -#X connect 19 0 16 1; -#X connect 20 0 22 0; -#X connect 21 0 4 1; -#X connect 22 0 19 1; -#X connect 23 0 24 0; -#X connect 23 1 2 0; -#X connect 23 2 19 0; -#X connect 23 3 21 0; -#X connect 24 0 5 0; -#X connect 25 0 15 0; -#X connect 26 0 23 0; -#X connect 26 1 27 0; -#X connect 27 1 28 0; +#X connect 10 0 11 1; +#X connect 11 0 13 0; +#X connect 12 0 11 0; +#X connect 12 1 5 0; +#X connect 14 0 6 0; +#X connect 14 1 7 0; +#X connect 14 2 15 0; +#X connect 14 3 10 1; +#X connect 15 0 6 1; +#X connect 16 0 18 0; +#X connect 16 1 17 0; +#X connect 17 0 18 0; +#X connect 17 1 18 1; +#X connect 18 0 4 0; +#X connect 20 0 1 0; +#X connect 21 0 1 0; +#X connect 22 0 1 0; -- cgit v1.2.1