From 146a1e900604d6132cfd44efdc4fe4fe865e7296 Mon Sep 17 00:00:00 2001 From: Luke Iannini Date: Tue, 1 Apr 2008 10:52:21 +0000 Subject: beat2frac and list-split-at svn path=/trunk/abstractions/senderfruit/; revision=9671 --- core/beat2frac-help.pd | 34 +++++++++++++++++++ core/beat2frac.pd | 81 ++++++++++++++++++++++++++++++++++++++++++++++ core/list-split-at-help.pd | 33 +++++++++++++++++++ core/list-split-at.pd | 26 +++++++++++++++ core/s2l-explode-help.pd | 10 ++++++ core/s2l-explode.pd | 4 ++- 6 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 core/beat2frac-help.pd create mode 100644 core/beat2frac.pd create mode 100644 core/list-split-at-help.pd create mode 100644 core/list-split-at.pd create mode 100644 core/s2l-explode-help.pd diff --git a/core/beat2frac-help.pd b/core/beat2frac-help.pd new file mode 100644 index 0000000..d61d727 --- /dev/null +++ b/core/beat2frac-help.pd @@ -0,0 +1,34 @@ +#N canvas 452 388 367 355 10; +#X text 7 4 [beat2frac]; +#X text 8 27 Given a beat division \, outputs the length as a fraction +of a quarter note \, so that multiplied by 60secs/BPM gives length +in seconds of a beat of that division.; +#X msg 24 75 1/4; +#X floatatom 174 180 5 0 0 0 - - -; +#X msg 174 149 90; +#X obj 64 255 *; +#X obj 174 217 expr 60000 / $f1; +#X floatatom 64 294 8 0 0 0 ms - -; +#X msg 207 149 120; +#X msg 43 96 1/4T; +#X obj 64 146 beat2frac; +#X obj 64 234 f; +#X obj 89 234 t b a; +#X text 251 309 2008 Luke Iannini; +#X text 251 323 proyekto.net; +#X text 75 95 also accepts triplets (T or t); +#X text 211 171 Tempo; +#X text 97 116 accepts any arbitrary division; +#X msg 64 117 9/17; +#X connect 2 0 10 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 7 0; +#X connect 6 0 12 0; +#X connect 8 0 3 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 5 0; +#X connect 12 0 11 0; +#X connect 12 1 5 1; +#X connect 18 0 10 0; diff --git a/core/beat2frac.pd b/core/beat2frac.pd new file mode 100644 index 0000000..6bc2797 --- /dev/null +++ b/core/beat2frac.pd @@ -0,0 +1,81 @@ +#N canvas 594 98 330 547 10; +#X obj 95 480 * 4; +#X obj 95 503 outlet; +#X obj 27 81 s2l-explode; +#X obj 27 19 inlet; +#X obj 163 172 list-splat -1; +#X obj 27 107 list-split-at /; +#X msg 84 130 reset; +#X obj 27 189 list-l2s; +#X obj 200 198 sel T t; +#X obj 200 249 s \$0triplet?; +#X obj 163 277 list append; +#X obj 163 300 list-l2s; +#X obj 163 327 atoi; +#X obj 27 283 atoi; +#X obj 95 405 f; +#X obj 95 429 /; +#X obj 131 364 t b a; +#X msg 269 222 1; +#X obj 95 455 * 1; +#X obj 121 455 r \$0triplet?; +#X obj 27 47 t a b; +#X obj 75 48 s \$0reset; +#X obj 238 277 r \$0reset; +#X msg 200 221 0.666667; +#N canvas 933 375 193 260 trigger 1; +#X obj 115 109 == 0; +#X obj 90 109 f 0; +#X msg 105 65 0; +#X obj 95 188 spigot; +#X obj 23 189 spigot; +#X obj 46 56 t a b; +#X obj 95 216 outlet; +#X obj 23 216 outlet; +#X obj 46 27 inlet; +#X obj 105 27 inlet; +#X obj 56 163 == 0; +#X connect 0 0 1 1; +#X connect 1 0 0 0; +#X connect 1 0 10 0; +#X connect 1 0 3 1; +#X connect 2 0 1 1; +#X connect 3 0 6 0; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 5 0 3 0; +#X connect 5 1 1 0; +#X connect 8 0 5 0; +#X connect 9 0 2 0; +#X connect 10 0 4 1; +#X restore 27 155 pd trigger; +#X connect 0 0 1 0; +#X connect 2 0 5 0; +#X connect 3 0 20 0; +#X connect 4 0 10 0; +#X connect 4 1 8 0; +#X connect 5 0 24 0; +#X connect 5 1 6 0; +#X connect 6 0 24 1; +#X connect 7 0 13 0; +#X connect 8 0 23 0; +#X connect 8 1 23 0; +#X connect 8 2 17 0; +#X connect 8 2 10 1; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 16 0; +#X connect 13 0 14 1; +#X connect 14 0 15 0; +#X connect 15 0 18 0; +#X connect 16 0 14 0; +#X connect 16 1 15 1; +#X connect 17 0 9 0; +#X connect 18 0 0 0; +#X connect 19 0 18 1; +#X connect 20 0 2 0; +#X connect 20 1 21 0; +#X connect 22 0 10 1; +#X connect 23 0 9 0; +#X connect 24 0 7 0; +#X connect 24 1 4 0; diff --git a/core/list-split-at-help.pd b/core/list-split-at-help.pd new file mode 100644 index 0000000..ad3c485 --- /dev/null +++ b/core/list-split-at-help.pd @@ -0,0 +1,33 @@ +#N canvas 741 82 388 382 10; +#X obj 49 128 list-split-at /; +#X msg 161 128 symbol |; +#X msg 161 158 symbol /; +#N canvas 0 22 450 300 display 0; +#X obj 120 112 prepent add; +#X obj 120 80 inlet; +#X obj 120 164 outlet; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X restore 49 199 pd display; +#X msg -1 128 set; +#X obj 49 100 t a b; +#X obj 136 203 bng 15 250 50 0 empty empty done 17 7 0 10 -262144 -4034 +-1; +#X text 8 330 note: due to limitations of [select] \, the type of atom +sent to the right inlet must be the same as the type of the creation +argument (i.e. float>float or symbol>symbol); +#X msg 49 77 a b | c / d | e f g / h i j | k / l m | n o p; +#X text 11 12 [list-split-at] splits a list into multiple lists upon +encountering a delimiter; +#X msg 49 227; +#X text 271 289 2008 Luke Iannini; +#X text 271 303 proyekto.net; +#X connect 0 0 3 0; +#X connect 0 1 6 0; +#X connect 1 0 0 1; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 4 0 10 0; +#X connect 5 0 0 0; +#X connect 5 1 4 0; +#X connect 8 0 5 0; diff --git a/core/list-split-at.pd b/core/list-split-at.pd new file mode 100644 index 0000000..63d3fc7 --- /dev/null +++ b/core/list-split-at.pd @@ -0,0 +1,26 @@ +#N canvas 741 479 156 229 10; +#X obj 25 47 list-drip; +#X obj 50 130 list-extend; +#X obj 25 160 list; +#X obj 25 100 t b b; +#X obj 25 72 sel \$1; +#X obj 25 5 inlet; +#X obj 25 182 outlet; +#X obj 106 55 inlet; +#X obj 25 25 t a b; +#X obj 76 159 t b b; +#X obj 76 182 outlet; +#X connect 0 0 4 0; +#X connect 0 1 9 0; +#X connect 1 0 2 1; +#X connect 2 0 6 0; +#X connect 3 0 2 0; +#X connect 3 1 1 1; +#X connect 4 0 3 0; +#X connect 4 1 1 0; +#X connect 5 0 8 0; +#X connect 7 0 4 1; +#X connect 8 0 0 0; +#X connect 8 1 1 1; +#X connect 9 0 10 0; +#X connect 9 1 2 0; diff --git a/core/s2l-explode-help.pd b/core/s2l-explode-help.pd new file mode 100644 index 0000000..f038c99 --- /dev/null +++ b/core/s2l-explode-help.pd @@ -0,0 +1,10 @@ +#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/core/s2l-explode.pd b/core/s2l-explode.pd index 385d58f..82d0013 100644 --- a/core/s2l-explode.pd +++ b/core/s2l-explode.pd @@ -4,7 +4,9 @@ #X msg 109 67 symbol; #X obj 46 41 inlet; #X obj 46 125 outlet; +#X obj 46 67 list; #X connect 0 0 4 0; #X connect 1 0 2 0; #X connect 2 0 0 1; -#X connect 3 0 0 0; +#X connect 3 0 5 0; +#X connect 5 0 0 0; -- cgit v1.2.1