aboutsummaryrefslogtreecommitdiff
path: root/sfruit
diff options
context:
space:
mode:
Diffstat (limited to 'sfruit')
-rw-r--r--sfruit/OSCout.pd14
-rw-r--r--sfruit/beat2fracx.pd15
-rw-r--r--sfruit/castsymbol.pd11
-rw-r--r--sfruit/changeargs.pd14
-rw-r--r--sfruit/color.rgbset.pd19
-rw-r--r--sfruit/countseq.pd1
-rw-r--r--sfruit/learnOSC.pd24
-rw-r--r--sfruit/list-mapx.pd31
-rw-r--r--sfruit/list-union-merge-help.pd15
-rw-r--r--sfruit/list-union-merge.pd5
-rw-r--r--sfruit/midi.random-smooth.pd17
-rw-r--r--sfruit/quantize-help.pd11
-rw-r--r--sfruit/quantize.pd42
-rw-r--r--sfruit/receivemany.pd21
-rw-r--r--sfruit/setabng.pd30
-rw-r--r--sfruit/templater-help.pd43
-rw-r--r--sfruit/templater.pd94
17 files changed, 374 insertions, 33 deletions
diff --git a/sfruit/OSCout.pd b/sfruit/OSCout.pd
new file mode 100644
index 0000000..b056738
--- /dev/null
+++ b/sfruit/OSCout.pd
@@ -0,0 +1,14 @@
+#N canvas 0 22 367 215 10;
+#X obj 52 133 udpsend;
+#X obj 52 103 packOSC;
+#X obj 124 75 loadbang;
+#X obj 124 96 list append connect \$1 \$2;
+#X obj 52 61 r OSCOUT;
+#X obj 78 175 print;
+#X obj 124 116 list trim;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 1 0;
+#X connect 6 0 0 0;
diff --git a/sfruit/beat2fracx.pd b/sfruit/beat2fracx.pd
new file mode 100644
index 0000000..40b66ce
--- /dev/null
+++ b/sfruit/beat2fracx.pd
@@ -0,0 +1,15 @@
+#N canvas 0 22 226 251 10;
+#X obj 43 46 list;
+#X obj 43 79 symbol2list x;
+#X obj 43 104 list split 1;
+#X obj 77 129 beat2frac;
+#X obj 43 167 *;
+#X obj 43 21 inlet;
+#X obj 43 194 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 4 1;
+#X connect 4 0 6 0;
+#X connect 5 0 0 0;
diff --git a/sfruit/castsymbol.pd b/sfruit/castsymbol.pd
new file mode 100644
index 0000000..429b367
--- /dev/null
+++ b/sfruit/castsymbol.pd
@@ -0,0 +1,11 @@
+#N canvas 660 453 201 199 10;
+#X obj 36 29 inlet;
+#X obj 66 80 list prepend set;
+#X obj 36 56 t b a;
+#X msg 36 108;
+#X obj 36 138 outlet;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 2 1 1 0;
+#X connect 3 0 4 0;
diff --git a/sfruit/changeargs.pd b/sfruit/changeargs.pd
new file mode 100644
index 0000000..36bdf5e
--- /dev/null
+++ b/sfruit/changeargs.pd
@@ -0,0 +1,14 @@
+#N canvas 438 397 450 300 10;
+#X obj 122 126 dollarg;
+#X msg 122 202;
+#X obj 139 176 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 122 103 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 122 227 saveargs;
+#X obj 122 149 prepent set;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 5 0 1 0;
diff --git a/sfruit/color.rgbset.pd b/sfruit/color.rgbset.pd
index a93382f..bb2c878 100644
--- a/sfruit/color.rgbset.pd
+++ b/sfruit/color.rgbset.pd
@@ -1,4 +1,4 @@
-#N canvas 185 89 559 602 10;
+#N canvas 226 22 559 602 10;
#X obj 30 173 cnv 15 18 15 empty \$0dispcol1 empty 20 12 0 14 -128992
-262144 0;
#X obj 218 73 * -65536;
@@ -27,8 +27,8 @@
#X obj 70 106 vsl 15 60 0 255 0 0 \$0blue \$0blueR empty 0 -8 0 8 -64
-1 -1 2938 1;
#X obj 279 526 list trim;
-#X obj 52 90 hradio 10 1 0 3 \$0layer \$0layerr back 0 -4 0 8 -1 -262144
--1 0;
+#X obj 52 90 hradio 10 1 0 3 \$0layer \$0layerr label 0 -4 0 8 -1 -262144
+-1 2;
#X obj 361 224 r \$0layer;
#X obj 218 47 int;
#X obj 281 47 int;
@@ -36,7 +36,7 @@
#X obj 218 21 r \$0red;
#X obj 281 21 r \$0green;
#X obj 351 21 r \$0blue;
-#X obj 30 85 bng 15 250 50 0 \$0nullS \$0nullR empty 0 -6 0 8 -260033
+#X obj 41 96 bng 8 250 50 0 \$0nullS \$0nullR empty 0 -6 0 8 -260033
-1 -1;
#X obj 35 288 r \$0layer;
#X obj 35 313 sel 0 1 2;
@@ -91,6 +91,12 @@
#X restore 81 536 pd init;
#X obj 30 26 inlet;
#X obj 30 51 unpack f f f;
+#X obj 133 150 colorpanel;
+#X obj 133 171 list-map;
+#X obj 187 171 * 255;
+#X obj 32 82 bng 12 250 50 0 \$0.colorpanel.s \$0.colorpanel.r C 3
+7 0 8 -212800 -1 -1;
+#X obj 133 126 r \$0.colorpanel.s;
#X connect 1 0 7 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
@@ -153,4 +159,9 @@
#X connect 55 0 20 0;
#X connect 55 1 21 0;
#X connect 55 2 22 0;
+#X connect 56 0 57 0;
+#X connect 57 0 55 0;
+#X connect 57 1 58 0;
+#X connect 58 0 57 1;
+#X connect 60 0 56 0;
#X coords 0 -1 1 1 56 109 2 30 80;
diff --git a/sfruit/countseq.pd b/sfruit/countseq.pd
index 4ec6208..b9a0ad1 100644
--- a/sfruit/countseq.pd
+++ b/sfruit/countseq.pd
@@ -1,5 +1,4 @@
#N canvas 974 303 373 390 10;
-
#X obj 26 159 f;
#X obj 81 83 sel restart;
#X msg 81 108 0;
diff --git a/sfruit/learnOSC.pd b/sfruit/learnOSC.pd
index 2271fea..7a85cb6 100644
--- a/sfruit/learnOSC.pd
+++ b/sfruit/learnOSC.pd
@@ -1,20 +1,22 @@
-#N canvas 145 92 239 311 10;
+#N canvas 42 170 239 311 10;
#X obj 72 131 list split 1;
#X obj 72 181 t b a;
#X msg 129 155 0;
-#X obj 25 218 sdeeprouteOSC;
#X obj 25 247 outlet;
#X obj 105 87 inlet learn?;
#X obj 144 249 outlet;
#X obj 72 155 spigot;
#X obj 25 58 r OSCIN;
-#X connect 0 0 7 0;
+#X obj 144 183 inlet;
+#X obj 25 218 sdeeprouteOSC \$1;
+#X connect 0 0 6 0;
#X connect 1 0 2 0;
-#X connect 1 1 3 1;
-#X connect 1 1 6 0;
-#X connect 2 0 7 1;
-#X connect 3 0 4 0;
-#X connect 5 0 7 1;
-#X connect 7 0 1 0;
-#X connect 8 0 0 0;
-#X connect 8 0 3 0;
+#X connect 1 1 5 0;
+#X connect 1 1 9 1;
+#X connect 2 0 6 1;
+#X connect 4 0 6 1;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 1;
+#X connect 9 0 3 0;
diff --git a/sfruit/list-mapx.pd b/sfruit/list-mapx.pd
new file mode 100644
index 0000000..f500998
--- /dev/null
+++ b/sfruit/list-mapx.pd
@@ -0,0 +1,31 @@
+#N canvas 470 232 489 423 10;
+#X obj 86 33 inlet;
+#X obj 275 52 inlet;
+#X obj 151 352 outlet;
+#X obj 170 248 outlet;
+#X obj 151 317 list;
+#X obj 275 215 list prepend;
+#X obj 354 185 t a;
+#X obj 151 155 t b a a b;
+#X obj 86 58 route bang;
+#X obj 86 83 b;
+#X obj 151 84 t b a;
+#X obj 151 124 list;
+#X obj 170 215 list-dripx \$1;
+#X connect 0 0 8 0;
+#X connect 1 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 6 0;
+#X connect 5 0 4 1;
+#X connect 6 0 5 1;
+#X connect 7 0 4 0;
+#X connect 7 1 12 0;
+#X connect 7 2 4 1;
+#X connect 7 3 5 1;
+#X connect 8 0 9 0;
+#X connect 8 1 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 1 11 1;
+#X connect 11 0 7 0;
+#X connect 12 0 3 0;
diff --git a/sfruit/list-union-merge-help.pd b/sfruit/list-union-merge-help.pd
new file mode 100644
index 0000000..5b3557a
--- /dev/null
+++ b/sfruit/list-union-merge-help.pd
@@ -0,0 +1,15 @@
+#N canvas 734 402 450 300 10;
+#X obj 104 120 list-union-merge;
+#X msg 197 95 /a /b /c;
+#X msg 104 94 /1 /2 /3;
+#X obj 104 144 prepent set;
+#X text 11 31 for each value in the right inlet \, append each value
+in the left inlet and merge into one symbol. Used for multiplexing
+large numbers of OSC-style addresses.;
+#X msg 104 169;
+#X text 234 265 2008 Luke Iannini;
+#X text 15 8 [list-union-merge];
+#X connect 0 0 3 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 0;
+#X connect 3 0 5 0;
diff --git a/sfruit/list-union-merge.pd b/sfruit/list-union-merge.pd
index c11a7ce..5218193 100644
--- a/sfruit/list-union-merge.pd
+++ b/sfruit/list-union-merge.pd
@@ -9,6 +9,7 @@
#X obj 138 33 inlet;
#X obj 52 32 inlet;
#X obj 52 339 outlet;
+#X obj -5 90 route bang;
#X connect 0 0 9 0;
#X connect 0 1 3 0;
#X connect 1 0 2 0;
@@ -20,4 +21,6 @@
#X connect 5 0 2 1;
#X connect 6 0 0 1;
#X connect 7 0 1 1;
-#X connect 8 0 0 0;
+#X connect 8 0 10 0;
+#X connect 10 0 9 0;
+#X connect 10 1 0 0;
diff --git a/sfruit/midi.random-smooth.pd b/sfruit/midi.random-smooth.pd
new file mode 100644
index 0000000..fbf2c1b
--- /dev/null
+++ b/sfruit/midi.random-smooth.pd
@@ -0,0 +1,17 @@
+#N canvas 1001 348 198 230 10;
+#X obj 68 98 / 999999;
+#X obj 68 76 random 999999;
+#X obj 41 167 line 50 5;
+#X msg 41 145 \$1 50;
+#X obj 41 124 +;
+#X obj 41 51 t a b;
+#X obj 41 19 inlet;
+#X obj 41 189 outlet;
+#X connect 0 0 4 1;
+#X connect 1 0 0 0;
+#X connect 2 0 7 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 1 1 0;
+#X connect 6 0 5 0;
diff --git a/sfruit/quantize-help.pd b/sfruit/quantize-help.pd
new file mode 100644
index 0000000..68ce93f
--- /dev/null
+++ b/sfruit/quantize-help.pd
@@ -0,0 +1,11 @@
+#N canvas 496 468 450 300 10;
+#X text 272 256 2008 Luke Iannini;
+#X floatatom 115 107 5 0 0 0 - - -;
+#X floatatom 115 188 5 0 0 0 - - -;
+#X obj 115 145 quantize 16;
+#X text 22 20 [quantize] rounds a number to the next multiple of its
+argument;
+#X msg 193 145 0.333;
+#X connect 1 0 3 0;
+#X connect 3 0 2 0;
+#X connect 5 0 3 1;
diff --git a/sfruit/quantize.pd b/sfruit/quantize.pd
new file mode 100644
index 0000000..d0c8eab
--- /dev/null
+++ b/sfruit/quantize.pd
@@ -0,0 +1,42 @@
+#N canvas 194 246 374 297 10;
+#X obj 160 162 / 2;
+#X obj 129 192 >;
+#X obj 47 209 +;
+#X obj 47 236 *;
+#X obj 197 192 t a;
+#X obj 47 109 t a a;
+#X obj 122 162 fmod;
+#X obj 47 162 /;
+#X obj 47 185 int;
+#X obj 126 110 t a a a a;
+#X obj 126 39 inlet;
+#X obj 47 39 inlet;
+#X obj 47 262 outlet;
+#X obj 204 22 loadbang;
+#X obj 204 49 f \$1;
+#X obj 204 70 sel 0;
+#X msg 204 93 1;
+#X text 193 149 if remainder is > 1/2 \,;
+#X text 194 163 quantize to next snappoint;
+#X text 182 157 <;
+#X connect 0 0 1 1;
+#X connect 1 0 2 1;
+#X connect 2 0 3 0;
+#X connect 3 0 12 0;
+#X connect 4 0 3 1;
+#X connect 5 0 7 0;
+#X connect 5 1 6 0;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 2 0;
+#X connect 9 0 7 1;
+#X connect 9 1 6 1;
+#X connect 9 2 0 0;
+#X connect 9 3 4 0;
+#X connect 10 0 9 0;
+#X connect 11 0 5 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 15 1 9 0;
+#X connect 16 0 9 0;
diff --git a/sfruit/receivemany.pd b/sfruit/receivemany.pd
new file mode 100644
index 0000000..179d78e
--- /dev/null
+++ b/sfruit/receivemany.pd
@@ -0,0 +1,21 @@
+#N canvas 37 448 222 329 10;
+#X obj 42 34 inlet;
+#X msg 74 189 clear;
+#X obj 42 63 t a b;
+#X obj 42 88 list-enumerate;
+#X obj 42 115 list-dripx 2;
+#X msg 42 154 add \$1 \$2;
+#X obj 42 235 list split 1;
+#X obj 86 285 outlet;
+#X obj 42 212 receive2list;
+#X obj 42 285 outlet;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 2 0 3 0;
+#X connect 2 1 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 6 1 7 0;
+#X connect 8 0 6 0;
diff --git a/sfruit/setabng.pd b/sfruit/setabng.pd
index 80c3c23..0969724 100644
--- a/sfruit/setabng.pd
+++ b/sfruit/setabng.pd
@@ -1,22 +1,20 @@
-#N canvas 766 282 203 271 10;
+#N canvas 766 282 224 325 10;
#X obj 44 35 inlet;
-#X obj 44 199 spigot;
-#X msg 44 154 1;
-#X msg 83 154 0;
-#X obj 44 107 t b b b;
-#X obj 95 107 t b;
+#X obj 44 229 spigot;
+#X msg 44 184 1;
+#X msg 83 184 0;
+#X obj 44 137 t b b b;
+#X obj 44 263 outlet;
+#X obj 132 196 inlet;
+#X obj 131 172 outlet;
#X obj 44 70 route set;
-#X obj 44 233 outlet;
-#X obj 132 166 inlet;
-#X obj 131 142 outlet;
-#X connect 0 0 6 0;
-#X connect 1 0 7 0;
+#X connect 0 0 8 0;
+#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 2 0;
-#X connect 4 1 9 0;
+#X connect 4 1 7 0;
#X connect 4 2 3 0;
-#X connect 5 0 9 0;
-#X connect 6 0 4 0;
-#X connect 6 1 5 0;
-#X connect 8 0 1 0;
+#X connect 6 0 1 0;
+#X connect 8 0 4 0;
+#X connect 8 1 7 0;
diff --git a/sfruit/templater-help.pd b/sfruit/templater-help.pd
new file mode 100644
index 0000000..9b85a01
--- /dev/null
+++ b/sfruit/templater-help.pd
@@ -0,0 +1,43 @@
+#N canvas 657 235 658 370 10;
+#X obj 17 329 sendcanvas;
+#X msg 17 251 obj 10 10 templater modcount \, loadbang;
+#X text 270 69 arguments:;
+#X text 284 88 my_template_name - this will be expanded to "my_template_name-template.pd"
+and searched for in your Pd path.;
+#X text 282 140 absolute/relative - by default \, templater will start
+building the objects in the template file 20 pixels South of the point
+where you instantiated [templater]. Give "1" (or anything) as the second
+argument for templater to instead create the objects exactly as they
+are defined in the template file \, with no offset.;
+#X text 522 320 2008 Luke Iannini;
+#X text 522 335 proyekto.net;
+#X msg 17 281 obj 10 10 templater tmetro \, loadbang;
+#X text 282 253 for the moment \, one must manually delete the [templater]
+object immediately after spawning it.;
+#X text 89 229 try me!;
+#X text 40 301 (delete existing to try another);
+#N canvas 514 43 411 356 creating-templates 0;
+#X obj 10 35 metro 250;
+#X obj 10 10 tgl 20 0 empty empty empty 17 7 0 10 -200676 -1 -1 0 1
+;
+#X obj 30 58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X text 29 287 As an aside \, an easy way to edit templates is to simply
+spawn them as [modcount-template] or similar - they're just Pd patches
+in your Pd path.;
+#X text 25 140 To make a template \, simply create a patch and save
+it as <myname>-template.pd somewhere in your Pd path.;
+#X text 26 178 The top-left object should be in the upper-left corner
+of the canvas if you plan to use the relative positioning feature of
+[templater].;
+#X text 28 226 Or \, position objects just as you'd like them to appear
+if you plan to use the absolute mode of [templater]. The example above
+shows the placement of objects within the "modcount" template.;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X restore 301 323 pd creating-templates;
+#X text 283 291 subpatches are not yet supported;
+#X text 266 32 [templater] - create and connect a set of pd objects
+in the current patch based on a template file.;
+#X connect 1 0 0 0;
+#X connect 7 0 0 0;
diff --git a/sfruit/templater.pd b/sfruit/templater.pd
new file mode 100644
index 0000000..3fb5a91
--- /dev/null
+++ b/sfruit/templater.pd
@@ -0,0 +1,94 @@
+#N canvas 804 104 455 638 10;
+#X obj 103 318 textfile;
+#X obj 103 366 route #X;
+#X obj 103 387 route connect;
+#X obj 50 271 until;
+#X obj 50 145 t b b;
+#X obj 50 46 loadbang;
+#X obj 103 435 unpack f f f f;
+#X obj 103 519 pack f f f f;
+#X obj 103 581 sendcanvas 1;
+#X obj 208 443 r \$0.index-offset;
+#X obj 149 479 +;
+#X obj 103 479 +;
+#X msg 103 551 connect \$1 \$2 \$3 \$4;
+#X obj 69 98 canvasindex;
+#X obj 132 125 s \$0.index-offset;
+#N canvas 342 115 467 373 offset-coords 0;
+#X obj 47 3 inlet;
+#X obj 46 334 outlet;
+#X obj 47 78 list split 1;
+#X obj 96 113 list split 2;
+#X obj 110 256 list append;
+#X obj 47 282 list append;
+#X obj 194 181 +;
+#X obj 194 152 unpack f f;
+#X obj 209 94 unpack f f;
+#X obj 251 182 +;
+#X obj 194 211 pack f f;
+#X obj 208 62 inlet;
+#X obj 46 309 list trim;
+#X obj 266 122 + 20;
+#X text 301 123 spawn under [templater];
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 3 0;
+#X connect 3 0 7 0;
+#X connect 3 1 4 1;
+#X connect 4 0 5 1;
+#X connect 5 0 12 0;
+#X connect 6 0 10 0;
+#X connect 7 0 6 0;
+#X connect 7 1 9 0;
+#X connect 8 0 6 1;
+#X connect 8 1 13 0;
+#X connect 9 0 10 1;
+#X connect 10 0 4 0;
+#X connect 11 0 8 0;
+#X connect 12 0 1 0;
+#X connect 13 0 9 1;
+#X restore 199 387 pd offset-coords;
+#X obj 199 409 sendcanvas 1;
+#X obj 292 362 canvasposition;
+#X obj 50 74 t b b b;
+#X obj 113 75 s \$0.get-position;
+#X obj 292 292 r \$0.get-position;
+#X obj 102 174 list append \$1;
+#X obj 102 198 route float;
+#X msg 103 235 read \$1-template.pd \, rewind;
+#X obj 292 339 sel 0;
+#X text 304 16 *optional;
+#X obj 292 316 list append \$2;
+#X text 86 16 [templater templatename absolute?*];
+#X text 286 602 2008 Luke Iannini;
+#X connect 0 0 1 0;
+#X connect 0 1 3 1;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 2 1 15 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 4 1 21 0;
+#X connect 5 0 18 0;
+#X connect 6 0 11 0;
+#X connect 6 1 7 1;
+#X connect 6 2 10 0;
+#X connect 6 3 7 3;
+#X connect 7 0 12 0;
+#X connect 9 0 11 1;
+#X connect 9 0 10 1;
+#X connect 10 0 7 2;
+#X connect 11 0 7 0;
+#X connect 12 0 8 0;
+#X connect 13 1 14 0;
+#X connect 15 0 16 0;
+#X connect 17 0 15 1;
+#X connect 18 0 4 0;
+#X connect 18 1 13 0;
+#X connect 18 2 19 0;
+#X connect 20 0 26 0;
+#X connect 21 0 22 0;
+#X connect 22 1 23 0;
+#X connect 23 0 0 0;
+#X connect 24 0 17 0;
+#X connect 26 0 24 0;