aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Iannini <lukeiannini@users.sourceforge.net>2008-04-01 10:52:21 +0000
committerLuke Iannini <lukeiannini@users.sourceforge.net>2008-04-01 10:52:21 +0000
commit146a1e900604d6132cfd44efdc4fe4fe865e7296 (patch)
tree85325ac3e690772d47cd9238a8eff9bdc43bbc96
parent8e8ac2b010a57a375768cd80e812dae0c9bfb0b5 (diff)
beat2frac and list-split-at
svn path=/trunk/abstractions/senderfruit/; revision=9671
-rw-r--r--core/beat2frac-help.pd34
-rw-r--r--core/beat2frac.pd81
-rw-r--r--core/list-split-at-help.pd33
-rw-r--r--core/list-split-at.pd26
-rw-r--r--core/s2l-explode-help.pd10
-rw-r--r--core/s2l-explode.pd4
6 files changed, 187 insertions, 1 deletions
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;