From c695eba0ee35b56ce492e38accb40c35ad669448 Mon Sep 17 00:00:00 2001 From: Luke Iannini Date: Sun, 7 Jun 2009 17:47:28 +0000 Subject: line-seq for [line]s that don't skip numbers on their way to their destination (integers only), and renamed some stuff svn path=/trunk/abstractions/sfruit/; revision=11696 --- controctopus/cc-learner.pd | 40 ++++++++++--- pdsvn/pdsvndir.pd | 2 +- sfruit/anysoundfiler.pd | 126 ++++++++++++++++++++-------------------- sfruit/beat2frac.pd | 2 +- sfruit/btn.pd | 2 +- sfruit/countseq.pd | 2 +- sfruit/dialog.yes-no.pd | 2 +- sfruit/line-seq-help.pd | 39 +++++++++++++ sfruit/line-seq.pd | 78 +++++++++++++++++++++++++ sfruit/list-decorate-help.pd | 47 +++++++++++++++ sfruit/list-decorate.pd | 16 +++++ sfruit/list-proc-insert-help.pd | 47 --------------- sfruit/list-proc-insert.pd | 16 ----- sfruit/list-range-help.pd | 29 +++++++++ sfruit/s2l-explode-help.pd | 10 ---- sfruit/s2l-explode.pd | 14 ----- sfruit/s2l-shorten.pd | 36 ------------ sfruit/storebang.pd | 2 +- sfruit/symbol-s2l-help.pd | 10 ++++ sfruit/symbol-s2l.pd | 14 +++++ sfruit/symbol-shorten.pd | 32 ++++++++++ 21 files changed, 367 insertions(+), 199 deletions(-) create mode 100644 sfruit/line-seq-help.pd create mode 100644 sfruit/line-seq.pd create mode 100644 sfruit/list-decorate-help.pd create mode 100644 sfruit/list-decorate.pd delete mode 100644 sfruit/list-proc-insert-help.pd delete mode 100644 sfruit/list-proc-insert.pd delete mode 100644 sfruit/s2l-explode-help.pd delete mode 100644 sfruit/s2l-explode.pd delete mode 100644 sfruit/s2l-shorten.pd create mode 100644 sfruit/symbol-s2l-help.pd create mode 100644 sfruit/symbol-s2l.pd create mode 100644 sfruit/symbol-shorten.pd diff --git a/controctopus/cc-learner.pd b/controctopus/cc-learner.pd index 0ae986f..ad4b9ae 100644 --- a/controctopus/cc-learner.pd +++ b/controctopus/cc-learner.pd @@ -1,4 +1,4 @@ -#N canvas 1271 444 629 668 10; +#N canvas 63 47 629 668 10; #X obj 60 46 nbx 3 14 0 127 0 1 \$0.cc.s \$0.cc.r CC 42 8 0 11 -194624 -1 -1 1 256; #X obj 63 64 bng 13 250 50 0 \$0.learn-on \$0.nullR empty 0 -6 0 8 @@ -116,7 +116,7 @@ Dev 32 8 0 11 -110565 -1 -1 1 256; #X connect 6 1 5 0; #X connect 8 0 3 0; #X restore 348 156 pd parse-channel; -#N canvas 833 52 478 437 midi-sensory 0; +#N canvas 115 84 464 470 midi-sensory 1; #X obj 73 159 spigot; #X obj 73 100 r \$0.data; #X obj 106 134 r MMMAP_SENSING?; @@ -128,11 +128,21 @@ Dev 32 8 0 11 -110565 -1 -1 1 256; #X obj 139 181 s MMMAP_SENSING?; #X obj 73 231 s \$1.sensed; #X obj 77 288 r MMMAP_SENSING?; -#X obj 137 372 s \$1\$2/GUIR; -#X msg 137 348 color \$1 -1 -1; -#X obj 77 313 list-idx-list 0 15; +#X obj 137 422 s \$1\$2/GUIR; +#X msg 137 398 color \$1 -1 -1; #X obj 198 288 r \$1\$2.assigning?; -#X obj 198 313 list-idx-list 0 19; +#X obj 334 315 sel 0 1; +#X msg 334 340 0; +#X obj 334 268 r \$1\$2.connections; +#X obj 197 308 sel 1; +#X obj 334 291 f; +#X msg 197 331 19; +#X obj 224 331 t b; +#X obj 77 311 sel 1; +#X obj 104 334 t b; +#X msg 77 334 15; +#X msg 362 340 15; +#X msg 389 340 14; #X connect 0 0 6 0; #X connect 1 0 0 0; #X connect 2 0 0 1; @@ -140,11 +150,25 @@ Dev 32 8 0 11 -110565 -1 -1 1 256; #X connect 6 0 5 0; #X connect 6 1 7 0; #X connect 7 0 8 0; -#X connect 10 0 13 0; +#X connect 10 0 21 0; #X connect 12 0 11 0; -#X connect 13 0 12 0; +#X connect 13 0 17 0; #X connect 14 0 15 0; +#X connect 14 1 24 0; +#X connect 14 2 25 0; #X connect 15 0 12 0; +#X connect 16 0 18 0; +#X connect 17 0 19 0; +#X connect 17 1 20 0; +#X connect 18 0 14 0; +#X connect 19 0 12 0; +#X connect 20 0 18 0; +#X connect 21 0 23 0; +#X connect 21 1 22 0; +#X connect 22 0 18 0; +#X connect 23 0 12 0; +#X connect 24 0 12 0; +#X connect 25 0 12 0; #X restore 485 392 pd midi-sensory; #X text 195 15 [cc-learner /unit /control]; #X obj 32 329 s \$0.device-number.all; diff --git a/pdsvn/pdsvndir.pd b/pdsvn/pdsvndir.pd index 4115f37..31400e6 100644 --- a/pdsvn/pdsvndir.pd +++ b/pdsvn/pdsvndir.pd @@ -719,7 +719,7 @@ for "project" beaming (pdsvn-dir); #X obj 28 122 t a b a; #X obj 78 122 s \$0process; #X obj 505 43 r \$0process; -#X obj 505 73 s2l-explode; +#X obj 505 73 symbol-explode; #X obj 584 116 list length; #X obj 203 77 s \$0listStatusReset; #X obj 112 145 r \$0listStatusReset; diff --git a/sfruit/anysoundfiler.pd b/sfruit/anysoundfiler.pd index d9fd96c..3a652dc 100644 --- a/sfruit/anysoundfiler.pd +++ b/sfruit/anysoundfiler.pd @@ -5,7 +5,6 @@ #X msg 68 299 open \$1; #X msg 530 542 0; #X msg 407 441 1; -#X obj 407 485 print starting; #X obj 373 340 select 1; #X msg 390 514 play; #X obj 373 240 route ready bang samplerate length; @@ -76,7 +75,6 @@ #X obj 731 327 r \$0-srate; #X obj 733 363 r \$0-length_in_secs; #X obj 68 387 readanysf~ 2 24 64; -#X msg 313 84 set 64 1 64 \, 0; #X text 320 59 <--- upsampled by factor of 64 \, then switched off ; #X obj 143 138 t a b; @@ -87,64 +85,68 @@ #X obj 724 460 r \$0-resize?; #X obj 691 483 spigot; #X obj 579 409 print stopping; -#X connect 0 0 18 0; -#X connect 1 0 55 0; -#X connect 3 0 54 0; -#X connect 4 0 47 0; -#X connect 5 0 36 0; -#X connect 7 0 12 0; -#X connect 8 0 38 0; -#X connect 9 0 7 0; -#X connect 9 1 39 0; -#X connect 9 2 50 0; -#X connect 9 3 51 0; -#X connect 10 0 25 0; -#X connect 10 0 26 0; -#X connect 11 0 49 0; -#X connect 12 0 35 0; -#X connect 12 1 8 0; -#X connect 12 2 5 0; -#X connect 12 3 46 0; -#X connect 13 0 11 0; -#X connect 14 0 13 0; -#X connect 14 1 16 0; -#X connect 16 0 11 1; -#X connect 17 0 15 0; -#X connect 18 0 19 0; -#X connect 19 0 58 0; -#X connect 19 1 57 0; -#X connect 20 0 3 0; -#X connect 20 1 21 0; -#X connect 20 2 22 0; -#X connect 23 0 24 0; +#X obj 415 419 print starting; +#X msg 313 84 set 64 1 32 \, 0; +#X connect 0 0 17 0; +#X connect 1 0 64 0; +#X connect 3 0 53 0; +#X connect 4 0 46 0; +#X connect 5 0 35 0; +#X connect 6 0 11 0; +#X connect 7 0 37 0; +#X connect 8 0 6 0; +#X connect 8 1 38 0; +#X connect 8 2 49 0; +#X connect 8 3 50 0; +#X connect 9 0 24 0; +#X connect 9 0 25 0; +#X connect 10 0 48 0; +#X connect 11 0 34 0; +#X connect 11 1 7 0; +#X connect 11 2 5 0; +#X connect 11 2 63 0; +#X connect 11 3 45 0; +#X connect 12 0 10 0; +#X connect 13 0 12 0; +#X connect 13 1 15 0; +#X connect 15 0 10 1; +#X connect 16 0 14 0; +#X connect 17 0 18 0; +#X connect 18 0 56 0; +#X connect 18 1 55 0; +#X connect 19 0 3 0; +#X connect 19 1 20 0; +#X connect 19 2 21 0; +#X connect 22 0 23 0; +#X connect 26 0 24 1; #X connect 27 0 25 1; -#X connect 28 0 26 1; -#X connect 29 0 23 0; -#X connect 30 0 32 0; -#X connect 31 0 30 0; -#X connect 33 0 48 0; -#X connect 34 0 32 0; -#X connect 34 0 24 0; -#X connect 37 0 54 0; -#X connect 39 0 4 0; -#X connect 39 1 17 0; -#X connect 39 2 33 0; -#X connect 41 0 40 0; -#X connect 44 0 9 0; -#X connect 45 0 14 0; -#X connect 49 0 17 1; -#X connect 49 0 63 0; -#X connect 52 0 13 1; -#X connect 53 0 16 1; -#X connect 54 0 24 0; -#X connect 54 1 32 0; -#X connect 54 2 43 0; -#X connect 55 0 42 0; -#X connect 57 0 20 0; -#X connect 57 1 60 0; -#X connect 58 0 20 0; -#X connect 58 1 59 0; -#X connect 59 0 61 0; -#X connect 60 0 61 0; -#X connect 62 0 63 1; -#X connect 63 0 10 0; +#X connect 28 0 22 0; +#X connect 29 0 31 0; +#X connect 30 0 29 0; +#X connect 32 0 47 0; +#X connect 33 0 31 0; +#X connect 33 0 23 0; +#X connect 36 0 53 0; +#X connect 38 0 4 0; +#X connect 38 1 16 0; +#X connect 38 2 32 0; +#X connect 38 2 62 0; +#X connect 40 0 39 0; +#X connect 43 0 8 0; +#X connect 44 0 13 0; +#X connect 48 0 16 1; +#X connect 48 0 61 0; +#X connect 51 0 12 1; +#X connect 52 0 15 1; +#X connect 53 0 23 0; +#X connect 53 1 31 0; +#X connect 53 2 42 0; +#X connect 55 0 19 0; +#X connect 55 1 58 0; +#X connect 56 0 19 0; +#X connect 56 1 57 0; +#X connect 57 0 59 0; +#X connect 58 0 59 0; +#X connect 60 0 61 1; +#X connect 61 0 9 0; +#X connect 64 0 41 0; diff --git a/sfruit/beat2frac.pd b/sfruit/beat2frac.pd index 2d285df..75900d3 100644 --- a/sfruit/beat2frac.pd +++ b/sfruit/beat2frac.pd @@ -2,7 +2,7 @@ #X obj 95 480 * 4; #X obj 95 503 outlet; -#X obj 27 81 s2l-explode; +#X obj 27 81 symbol-explode; #X obj 27 19 inlet; #X obj 163 172 list-splat -1; #X obj 27 107 list-split-at /; diff --git a/sfruit/btn.pd b/sfruit/btn.pd index e7de219..86e4e1d 100644 --- a/sfruit/btn.pd +++ b/sfruit/btn.pd @@ -7,7 +7,7 @@ -66577 0; #X text -118 -45 subtract difference add half to text xoffset; #X text -117 -67 div result + 2 \, then add 1 extra radio; -#X obj -61 38 s2l-explode; +#X obj -61 38 symbol-explode; #X msg -61 -2 boobies; #X obj -61 17 t a a; #X obj 65 17 s \$0canvas; diff --git a/sfruit/countseq.pd b/sfruit/countseq.pd index 17482b6..fb9dcc4 100644 --- a/sfruit/countseq.pd +++ b/sfruit/countseq.pd @@ -26,7 +26,7 @@ #X obj 307 288 outlet; #X obj 84 249 outlet; #X obj 307 252 list-map; -#X obj 384 233 s2l-explode; +#X obj 384 233 symbol-explode; #X obj 384 253 list split 1; #X obj 418 274 list-l2s; #X obj 418 295 atoi; diff --git a/sfruit/dialog.yes-no.pd b/sfruit/dialog.yes-no.pd index 40f59da..3985e56 100644 --- a/sfruit/dialog.yes-no.pd +++ b/sfruit/dialog.yes-no.pd @@ -16,7 +16,7 @@ #X msg 103 233 vis 0; #X obj 33 252 outlet; #X obj 344 40 loadbang; -#X obj 344 87 s2l-explode; +#X obj 344 87 symbol-explode; #X obj 344 113 list split 30; #X obj 344 223 list-l2s; #X obj 381 144 list-l2s; diff --git a/sfruit/line-seq-help.pd b/sfruit/line-seq-help.pd new file mode 100644 index 0000000..de217ff --- /dev/null +++ b/sfruit/line-seq-help.pd @@ -0,0 +1,39 @@ +#N canvas 393 102 571 427 10; +#X text 125 212 arg1 initializes lag time; +#X text 40 23 line-seq: like [line] but outputs integers and never +ever skips a number on the way to its destination.; +#X obj 42 80 hsl 128 15 0 500 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X msg 58 132 150; +#X msg 68 152 275; +#X text 100 150 and then this to see that all 125 numbers in between +are output; +#X obj 39 212 line-seq 250; +#X floatatom 119 192 5 0 0 0 - - -; +#X text 153 192 change lag time; +#X obj 59 107 bng 15 250 50 0 \$0-reset-s \$0-reset-r empty 17 7 0 +10 -262144 -1 -1; +#X text 88 130 then click this; +#X text 76 105 reset the counter; +#X obj 42 400 hsl 128 15 0 500 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X obj 86 314 f; +#X obj 116 314 + 1; +#X obj 101 270 r \$0-reset-s; +#X msg 101 292 0; +#X floatatom 86 336 5 0 0 0 - - -; +#X obj 59 257 t b; +#X floatatom 56 378 5 0 0 0 - - -; +#X connect 2 0 6 0; +#X connect 3 0 6 0; +#X connect 4 0 6 0; +#X connect 6 0 12 0; +#X connect 6 0 18 0; +#X connect 6 0 19 0; +#X connect 7 0 6 1; +#X connect 13 0 14 0; +#X connect 13 0 17 0; +#X connect 14 0 13 1; +#X connect 15 0 16 0; +#X connect 16 0 13 0; +#X connect 18 0 13 0; diff --git a/sfruit/line-seq.pd b/sfruit/line-seq.pd new file mode 100644 index 0000000..89178f0 --- /dev/null +++ b/sfruit/line-seq.pd @@ -0,0 +1,78 @@ +#N canvas 634 348 586 334 10; +#X obj 77 113 line 0 1; +#X obj 77 133 int; +#X obj 77 199 list prepend; +#X text 182 218 by taking the difference of the pair here and using +a dripslow driven by a delay running at (linegrainrate/difference) +smoothness can be maintained.; +#X obj 238 37 inlet; +#X obj 77 37 inlet; +#X obj 77 290 outlet; +#X obj 77 89 list append 50; +#X text 182 281 replace with list-range>list-drip for a probably less +taxing "instantaneous" range between grains; +#X obj 77 254 t a a; +#X text 182 104 rethinking: is line actually necessary? might be able +to build the whole thing with [del] and avoid duplicate numbers. for +now: added a [change] object in [pd smooth-range]; +#X obj 77 153 change; +#N canvas 0 22 589 383 smooth_range 0; +#X obj 170 152 unpack f f; +#X obj 95 253 del; +#X obj 170 174 expr $f3 / abs($f1 - $f2); +#X msg 317 152 1; +#X msg 317 131 line grain rate; +#X obj 317 110 loadbang; +#X obj 128 253 list-dripslow; +#X obj 128 283 t b a; +#X obj 128 227 t b a; +#X obj 128 121 t a a; +#X obj 128 203 list-range; +#X obj 128 65 inlet; +#X obj 155 334 outlet; +#X obj 155 309 change; +#N canvas 155 478 450 300 extend_range_for_list-range 0; +#X obj 119 63 t a a; +#X obj 119 29 inlet; +#X obj 146 97 <; +#X obj 146 122 expr ($f1 * 2) - 1; +#X obj 119 177 list-add; +#X msg 146 152 0 \$1; +#X obj 119 222 outlet; +#X connect 0 0 4 0; +#X connect 0 1 2 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 4 1; +#X restore 128 92 pd extend_range_for_list-range; +#X connect 0 0 2 0; +#X connect 0 1 2 1; +#X connect 1 0 6 0; +#X connect 2 0 1 1; +#X connect 3 0 2 2; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 7 1 13 0; +#X connect 8 0 6 0; +#X connect 8 1 6 1; +#X connect 9 0 10 0; +#X connect 9 1 0 0; +#X connect 10 0 8 0; +#X connect 11 0 14 0; +#X connect 13 0 12 0; +#X connect 14 0 9 0; +#X restore 77 228 pd smooth_range; +#X connect 0 0 1 0; +#X connect 1 0 11 0; +#X connect 2 0 12 0; +#X connect 4 0 7 1; +#X connect 5 0 7 0; +#X connect 7 0 0 0; +#X connect 9 0 2 1; +#X connect 9 1 6 0; +#X connect 11 0 2 0; +#X connect 12 0 9 0; diff --git a/sfruit/list-decorate-help.pd b/sfruit/list-decorate-help.pd new file mode 100644 index 0000000..726d5af --- /dev/null +++ b/sfruit/list-decorate-help.pd @@ -0,0 +1,47 @@ +#N canvas 246 385 587 311 10; + + + +#X obj 58 181 list-decorate; +#X msg 58 96 a b c d e f g; +#X obj 182 181 list-len; +#X obj 104 130 hradio 15 1 0 8 empty empty POS_(zero-based) 0 -6 0 +8 -262144 -1 -1 0; +#X floatatom 104 155 5 0 0 0 - - -; +#X obj 58 216 print NEW_LIST; +#X text 9 65 Argument: default POS; +#X text 8 45 POS is zerobased. Negative POS will count from the end. +; +#X text 10 268 based on list-insert by frank barknecht; +#X text 429 268 2008 Luke Iannini; +#X text 235 122 POS defaults to 0 \, meaning it will prepend the result +to the original list.; +#N canvas 0 22 322 281 how_to_append 0; +#X obj 58 181 list-decorate; +#X msg 58 66 a b c d e f g; +#X obj 58 97 t a a; +#X obj 58 216 print NEW_LIST2; +#X obj 85 134 list-len; +#X obj 183 189 f; +#X obj 213 189 + 1; +#X obj 183 168 t b; +#X connect 0 0 3 0; +#X connect 0 1 7 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 2 1 4 0; +#X connect 4 0 0 1; +#X connect 5 0 0 2; +#X connect 5 0 6 0; +#X connect 6 0 5 1; +#X connect 7 0 5 0; +#X restore 310 185 pd how_to_append; +#X text 7 6 list-decorate: call user-defined process on incoming +list and insert result into original list at position POS.; +#X obj 416 30 import-disabled list-abs; +#X connect 0 0 5 0; +#X connect 0 1 2 0; +#X connect 1 0 0 0; +#X connect 2 0 0 2; +#X connect 3 0 4 0; +#X connect 4 0 0 1; diff --git a/sfruit/list-decorate.pd b/sfruit/list-decorate.pd new file mode 100644 index 0000000..c2eb628 --- /dev/null +++ b/sfruit/list-decorate.pd @@ -0,0 +1,16 @@ +#N canvas 433 22 275 240 10; + +#X obj 35 34 inlet; +#X obj 75 34 inlet; +#X obj 35 147 list-insert \$1; +#X obj 35 62 t a a; +#X obj 176 175 outlet; +#X obj 178 39 inlet; +#X obj 35 174 outlet; +#X obj 167 92 import-disabled list-abs; +#X connect 0 0 3 0; +#X connect 1 0 2 1; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 1 2 2; +#X connect 5 0 2 0; diff --git a/sfruit/list-proc-insert-help.pd b/sfruit/list-proc-insert-help.pd deleted file mode 100644 index e6f49e7..0000000 --- a/sfruit/list-proc-insert-help.pd +++ /dev/null @@ -1,47 +0,0 @@ -#N canvas 246 385 587 311 10; - - - -#X obj 58 181 list-proc-insert; -#X msg 58 96 a b c d e f g; -#X obj 182 181 list-len; -#X obj 104 130 hradio 15 1 0 8 empty empty POS_(zero-based) 0 -6 0 -8 -262144 -1 -1 0; -#X floatatom 104 155 5 0 0 0 - - -; -#X obj 58 216 print NEW_LIST; -#X text 9 65 Argument: default POS; -#X text 8 45 POS is zerobased. Negative POS will count from the end. -; -#X text 10 268 based on list-insert by frank barknecht; -#X text 429 268 2008 Luke Iannini; -#X text 235 122 POS defaults to 0 \, meaning it will prepend the result -to the original list.; -#N canvas 0 22 322 281 how_to_append 0; -#X obj 58 181 list-proc-insert; -#X msg 58 66 a b c d e f g; -#X obj 58 97 t a a; -#X obj 58 216 print NEW_LIST2; -#X obj 85 134 list-len; -#X obj 183 189 f; -#X obj 213 189 + 1; -#X obj 183 168 t b; -#X connect 0 0 3 0; -#X connect 0 1 7 0; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 2 1 4 0; -#X connect 4 0 0 1; -#X connect 5 0 0 2; -#X connect 5 0 6 0; -#X connect 6 0 5 1; -#X connect 7 0 5 0; -#X restore 310 185 pd how_to_append; -#X text 7 6 list-proc-insert: call user-defined process on incoming -list and insert result into original list at position POS.; -#X obj 416 30 import-disabled list-abs; -#X connect 0 0 5 0; -#X connect 0 1 2 0; -#X connect 1 0 0 0; -#X connect 2 0 0 2; -#X connect 3 0 4 0; -#X connect 4 0 0 1; diff --git a/sfruit/list-proc-insert.pd b/sfruit/list-proc-insert.pd deleted file mode 100644 index c2eb628..0000000 --- a/sfruit/list-proc-insert.pd +++ /dev/null @@ -1,16 +0,0 @@ -#N canvas 433 22 275 240 10; - -#X obj 35 34 inlet; -#X obj 75 34 inlet; -#X obj 35 147 list-insert \$1; -#X obj 35 62 t a a; -#X obj 176 175 outlet; -#X obj 178 39 inlet; -#X obj 35 174 outlet; -#X obj 167 92 import-disabled list-abs; -#X connect 0 0 3 0; -#X connect 1 0 2 1; -#X connect 2 0 6 0; -#X connect 3 0 4 0; -#X connect 3 1 2 2; -#X connect 5 0 2 0; diff --git a/sfruit/list-range-help.pd b/sfruit/list-range-help.pd index 987a2e0..5e5ecd4 100644 --- a/sfruit/list-range-help.pd +++ b/sfruit/list-range-help.pd @@ -37,6 +37,35 @@ is less than n2 \, or interval -1 if n2 is less than n1; #X msg 496 353; #X msg 346 388; #X msg 206 428; +#N canvas 823 429 453 357 getting_the_full_range 0; +#X obj 169 155 t a a; +#X obj 169 121 inlet; +#X obj 196 189 <; +#X obj 196 214 expr ($f1 * 2) - 1; +#X obj 169 269 list-add; +#X msg 196 244 0 \$1; +#X obj 169 314 outlet; +#X msg 213 122 5 10; +#X msg 250 122 10 -7; +#X text 51 12 You may find it annoying that list-range stops just short +of the destination - I'm copying Python's implementation and trusting +they've got a good reason for that (maybe I even know it but I haven't +had my coffee). In any case \, here's a little patch to "fix" that +annoyance if it hits you (place it just before [list-range]).; +#X obj 242 294 prepent set; +#X msg 242 316; +#X connect 0 0 4 0; +#X connect 0 1 2 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 4 0 10 0; +#X connect 5 0 4 1; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 10 0 11 0; +#X restore 471 23 pd getting_the_full_range; #X connect 0 0 27 0; #X connect 1 0 22 0; #X connect 5 0 31 0; diff --git a/sfruit/s2l-explode-help.pd b/sfruit/s2l-explode-help.pd deleted file mode 100644 index f038c99..0000000 --- a/sfruit/s2l-explode-help.pd +++ /dev/null @@ -1,10 +0,0 @@ -#N canvas 854 366 442 210 10; -#X obj 44 81 s2l-explode; -#X text 2 6 [s2l-explode] splits a symbol into individual characters -; -#X msg 44 52 Supercalifragilisticexpialidocious; -#X obj 44 107 prepent set; -#X msg 44 142; -#X connect 0 0 3 0; -#X connect 2 0 0 0; -#X connect 3 0 4 0; diff --git a/sfruit/s2l-explode.pd b/sfruit/s2l-explode.pd deleted file mode 100644 index 6c5e02b..0000000 --- a/sfruit/s2l-explode.pd +++ /dev/null @@ -1,14 +0,0 @@ -#N canvas 583 307 229 180 10; - -#X obj 46 92 symbol2list; -#X obj 109 41 loadbang; -#X msg 109 67 symbol; -#X obj 46 41 inlet; -#X obj 46 125 outlet; -#X obj 46 67 list; -#X obj 119 128 import-disabled zexy; -#X connect 0 0 4 0; -#X connect 1 0 2 0; -#X connect 2 0 0 1; -#X connect 3 0 5 0; -#X connect 5 0 0 0; diff --git a/sfruit/s2l-shorten.pd b/sfruit/s2l-shorten.pd deleted file mode 100644 index cdddad6..0000000 --- a/sfruit/s2l-shorten.pd +++ /dev/null @@ -1,36 +0,0 @@ -#N canvas 0 25 331 384 10; - -#X obj 41 42 inlet; -#X obj 41 64 s2l-explode; -#X obj 41 85 list split \$1; -#X obj 74 247 list append; -#X obj 74 270 list-l2s; -#X obj 74 296 outlet; -#X obj 137 199 loadbang; -#X obj 137 220 list-onearg \$2 >; -#X obj 41 137 list length; -#X obj 41 201 list; -#X obj 74 201 list; -#X obj 41 107 t a a; -#X obj 41 180 t b; -#X obj 74 181 t b; -#X obj 41 158 sel \$1; -#X obj 186 68 import-disabled list-abs; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 11 0; -#X connect 2 2 4 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 6 0 7 0; -#X connect 7 0 3 1; -#X connect 8 0 14 0; -#X connect 9 0 4 0; -#X connect 10 0 3 0; -#X connect 11 0 8 0; -#X connect 11 1 10 1; -#X connect 11 1 9 1; -#X connect 12 0 9 0; -#X connect 13 0 10 0; -#X connect 14 0 12 0; -#X connect 14 1 13 0; diff --git a/sfruit/storebang.pd b/sfruit/storebang.pd index 9a31cd2..a7a3537 100644 --- a/sfruit/storebang.pd +++ b/sfruit/storebang.pd @@ -16,7 +16,7 @@ #X text 225 261 letter width; #X obj 189 261 * 4.5; #X obj 189 184 list2symbol; -#X obj 189 211 s2l-explode; +#X obj 189 211 symbol-explode; #X obj 329 170 import-disabled zexy; #X connect 0 0 1 0; #X connect 3 0 0 0; diff --git a/sfruit/symbol-s2l-help.pd b/sfruit/symbol-s2l-help.pd new file mode 100644 index 0000000..feebd91 --- /dev/null +++ b/sfruit/symbol-s2l-help.pd @@ -0,0 +1,10 @@ +#N canvas 854 366 442 210 10; +#X obj 44 81 symbol-explode; +#X text 2 6 [symbol-explode] splits a symbol into individual characters +; +#X msg 44 52 Supercalifragilisticexpialidocious; +#X obj 44 107 prepent set; +#X msg 44 142; +#X connect 0 0 3 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; diff --git a/sfruit/symbol-s2l.pd b/sfruit/symbol-s2l.pd new file mode 100644 index 0000000..6c5e02b --- /dev/null +++ b/sfruit/symbol-s2l.pd @@ -0,0 +1,14 @@ +#N canvas 583 307 229 180 10; + +#X obj 46 92 symbol2list; +#X obj 109 41 loadbang; +#X msg 109 67 symbol; +#X obj 46 41 inlet; +#X obj 46 125 outlet; +#X obj 46 67 list; +#X obj 119 128 import-disabled zexy; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 3 0 5 0; +#X connect 5 0 0 0; diff --git a/sfruit/symbol-shorten.pd b/sfruit/symbol-shorten.pd new file mode 100644 index 0000000..00a7890 --- /dev/null +++ b/sfruit/symbol-shorten.pd @@ -0,0 +1,32 @@ +#N canvas 484 22 472 341 10; +#X obj 41 42 inlet; +#X obj 41 64 symbol-explode; +#X obj 131 219 list append; +#X obj 131 282 list-l2s; +#X obj 131 308 outlet; +#X obj 214 198 loadbang; +#X obj 214 219 list-onearg \$2 >; +#X obj 187 37 import-disabled list-abs; +#X obj 41 90 list-decorate; +#X obj 239 120 loadbang; +#X obj 131 171 list split; +#X obj 239 143 expr \$1 -1; +#X obj 154 81 list length; +#X obj 154 103 <= 20; +#X obj 41 115 route 1 0; +#X connect 0 0 1 0; +#X connect 1 0 8 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 6 0; +#X connect 6 0 2 1; +#X connect 8 0 14 0; +#X connect 8 1 12 0; +#X connect 9 0 11 0; +#X connect 10 0 2 0; +#X connect 10 2 3 0; +#X connect 11 0 10 1; +#X connect 12 0 13 0; +#X connect 13 0 8 2; +#X connect 14 0 3 0; +#X connect 14 1 10 0; -- cgit v1.2.1