From 8083144fbaca0a3511ed7706e81244ca4382859a Mon Sep 17 00:00:00 2001 From: Luke Iannini Date: Wed, 25 Mar 2009 00:18:02 +0000 Subject: swap-any and pd~.abstraction svn path=/trunk/abstractions/sfruit/; revision=10901 --- sfruit/pd~.abstraction-help.pd | 48 ++++++ sfruit/pd~.abstraction.pd | 338 +++++++++++++++++++++++++++++++++++++++++ sfruit/pd~.subprocess.pd | 35 +++++ sfruit/pd~.triple-ringmod.pd | 33 ++++ sfruit/swap-any-help.pd | 3 + sfruit/swap-any.pd | 12 ++ 6 files changed, 469 insertions(+) create mode 100644 sfruit/pd~.abstraction-help.pd create mode 100644 sfruit/pd~.abstraction.pd create mode 100644 sfruit/pd~.subprocess.pd create mode 100644 sfruit/pd~.triple-ringmod.pd create mode 100644 sfruit/swap-any-help.pd create mode 100644 sfruit/swap-any.pd diff --git a/sfruit/pd~.abstraction-help.pd b/sfruit/pd~.abstraction-help.pd new file mode 100644 index 0000000..b730488 --- /dev/null +++ b/sfruit/pd~.abstraction-help.pd @@ -0,0 +1,48 @@ +#N canvas 760 30 409 562 10; +#X obj 107 202 pd~.abstraction pd~.triple-ringmod 440; +#X obj 259 122 osc~ 1000; +#X obj 251 335 dac~; +#X obj 259 62 osc~ 0.25; +#X obj 259 82 *~ 500; +#X obj 259 102 +~ 1000; +#X msg 125 173 pd dsp \$1; +#X floatatom 107 66 5 0 0 0 ringmod-freq - -; +#X obj 207 258 *~ 0; +#X obj 308 258 *~ 0; +#X obj 83 303 tgl 15 0 \$0.on.s \$0.on.r On 17 7 0 10 -204786 -1 -1 +0 1; +#X obj 125 153 r \$0.on.s; +#X obj 329 230 r \$0.on.s; +#X text 49 272 Turn it on here; +#X obj 308 301 *~ 0.1; +#X obj 207 300 *~ 0.1; +#X msg 107 119 INLET \$1; +#X text 32 380 pd~.abstraction tries to make using pd~ more like using +abstractions in Pd. You can make use of any abstraction with up to +9 arguments.; +#X text 31 477 The only limitation is the abstraction must have 1 inlet/inlet~ +and 2 outlet/outlet~s \, but you should have no trouble modifying it +if you have different needs.; +#X text 287 536 2009 Luke Iannini; +#X text 17 9 [pd~.abstraction] - call like [pd~.abstraction myabstraction +arg1 arg2...arg9] (all args optional); +#X text 31 429 Messages prepended with INLET will go to the inlet of +your abstraction. Messages sent to the outlet of your abstraction will +appear at the outlet of [pd~.abstraction].; +#X connect 0 1 8 0; +#X connect 0 2 9 0; +#X connect 1 0 0 2; +#X connect 1 0 0 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 7 0 16 0; +#X connect 8 0 15 0; +#X connect 9 0 14 0; +#X connect 11 0 6 0; +#X connect 12 0 8 1; +#X connect 12 0 9 1; +#X connect 14 0 2 1; +#X connect 15 0 2 0; +#X connect 16 0 0 0; diff --git a/sfruit/pd~.abstraction.pd b/sfruit/pd~.abstraction.pd new file mode 100644 index 0000000..ad8960e --- /dev/null +++ b/sfruit/pd~.abstraction.pd @@ -0,0 +1,338 @@ +#N canvas 868 288 351 414 10; +#X obj 39 324 pd~; +#N canvas 209 160 485 630 gather-args 0; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 173 228 list append \$1; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X msg 238 108 1; +#X obj 128 118 symbol \$1-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X connect 0 0 7 0; +#X connect 1 1 6 0; +#X connect 2 0 5 0; +#X connect 2 1 4 0; +#X connect 3 0 1 1; +#X connect 4 0 3 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 10 0 2 0; +#X restore 216 89 pd ioTestArgument; +#X obj 153 111 list append; +#X obj 153 39 t b b; +#X obj 180 63 s \$0.check-arg; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X obj 128 118 symbol \$2-test; +#X msg 238 108 2; +#X obj 173 228 list append \$2; +#X connect 0 1 3 0; +#X connect 1 0 8 0; +#X connect 1 1 9 0; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X restore 216 139 pd ioTestArgument; +#X obj 153 161 list append; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X msg 238 108 3; +#X obj 128 118 symbol \$3-test; +#X obj 173 228 list append \$3; +#X connect 0 1 3 0; +#X connect 1 0 9 0; +#X connect 1 1 8 0; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 2 0; +#X connect 9 0 0 0; +#X connect 10 0 4 0; +#X restore 216 189 pd ioTestArgument; +#X obj 153 211 list append; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X obj 173 228 list append \$4; +#X obj 128 118 symbol \$4-test; +#X msg 238 108 4; +#X connect 0 1 3 0; +#X connect 1 0 9 0; +#X connect 1 1 10 0; +#X connect 2 0 0 1; +#X connect 3 0 8 0; +#X connect 7 0 1 0; +#X connect 8 0 4 0; +#X connect 9 0 0 0; +#X connect 10 0 2 0; +#X restore 216 239 pd ioTestArgument; +#X obj 153 261 list append; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X obj 128 118 symbol \$5-test; +#X msg 238 108 5; +#X obj 173 228 list append \$5; +#X connect 0 1 3 0; +#X connect 1 0 8 0; +#X connect 1 1 9 0; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X restore 216 289 pd ioTestArgument; +#X obj 153 311 list append; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X obj 128 118 symbol \$6-test; +#X msg 238 108 6; +#X obj 173 228 list append \$6; +#X connect 0 1 3 0; +#X connect 1 0 8 0; +#X connect 1 1 9 0; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X restore 216 339 pd ioTestArgument; +#X obj 153 361 list append; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X obj 128 118 symbol \$7-test; +#X msg 238 108 7; +#X obj 173 228 list append \$7; +#X connect 0 1 3 0; +#X connect 1 0 8 0; +#X connect 1 1 9 0; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X restore 216 389 pd ioTestArgument; +#X obj 153 411 list append; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X obj 128 118 symbol \$8-test; +#X msg 238 108 8; +#X obj 173 228 list append \$8; +#X connect 0 1 3 0; +#X connect 1 0 8 0; +#X connect 1 1 9 0; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X restore 216 439 pd ioTestArgument; +#X obj 153 461 list append; +#N canvas 0 22 450 300 ioTestArgument 0; +#X obj 128 168 select s; +#X obj 128 78 t b b; +#X obj 238 138 makefilename $%d-test; +#X obj 173 198 b; +#X obj 173 258 outlet; +#X text 19 181 no arg given ->; +#X text 197 180 <- there is \$1; +#X obj 128 18 r \$0.check-arg; +#X obj 128 118 symbol \$9-test; +#X msg 238 108 9; +#X obj 173 228 list append \$9; +#X connect 0 1 3 0; +#X connect 1 0 8 0; +#X connect 1 1 9 0; +#X connect 2 0 0 1; +#X connect 3 0 10 0; +#X connect 7 0 1 0; +#X connect 8 0 0 0; +#X connect 9 0 2 0; +#X connect 10 0 4 0; +#X restore 216 489 pd ioTestArgument; +#X obj 153 511 list append; +#X obj 153 533 outlet; +#X obj 153 14 inlet; +#X connect 0 0 1 1; +#X connect 1 0 5 0; +#X connect 2 0 1 0; +#X connect 2 1 3 0; +#X connect 4 0 5 1; +#X connect 5 0 7 0; +#X connect 6 0 7 1; +#X connect 7 0 9 0; +#X connect 8 0 9 1; +#X connect 9 0 11 0; +#X connect 10 0 11 1; +#X connect 11 0 13 0; +#X connect 12 0 13 1; +#X connect 13 0 15 0; +#X connect 14 0 15 1; +#X connect 15 0 17 0; +#X connect 16 0 17 1; +#X connect 17 0 19 0; +#X connect 18 0 19 1; +#X connect 19 0 20 0; +#X connect 21 0 2 0; +#X restore 39 57 pd gather-args; +#N canvas 0 22 621 363 list-l2s 0; +#X msg 327 196 set %s; +#X obj 235 244 t a; +#X obj 118 252 makefilename %s; +#X obj 96 62 t b a b; +#X obj 96 283 symbol; +#X msg 142 22 a b c d 1 2; +#X obj 118 158 route symbol float; +#X obj 118 186 symbol; +#X obj 178 190 makefilename %d; +#X obj 96 21 inlet; +#X obj 96 313 outlet; +#X obj 395 192 makefilename 1%s%%s; +#X obj 395 165 symbol \$1; +#X msg 405 123 bang; +#X obj 395 89 loadbang; +#X msg 395 228 set set \, adddollsym \$1; +#X msg 235 265 set \$1 %s; +#N canvas 0 22 533 407 drip 0; +#X obj 64 206 list split 1; +#X obj 64 123 until; +#X obj 64 181 list append; +#X obj 194 206 bang; +#X text 146 90 First store list \, then start the loop; +#X text 163 118 "until" bangs its output until told to stop by a "bang" +to its right inlet.; +#X text 182 160 Store the remaining list.; +#X text 239 205 third outlet of "split" tells us to stop.; +#X obj 64 243 outlet; +#X obj 64 57 inlet; +#X text 237 44 From list-help.pd; +#X obj 143 243 outlet; +#X obj 64 86 t b a; +#X connect 0 0 8 0; +#X connect 0 1 2 1; +#X connect 0 2 3 0; +#X connect 0 2 11 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 0 1 1; +#X connect 9 0 12 0; +#X connect 12 0 1 0; +#X connect 12 1 2 1; +#X restore 118 123 pd drip; +#X obj 447 124 inlet; +#X text 393 309 by Frank Barknecht; +#X connect 0 0 2 0; +#X connect 1 0 16 0; +#X connect 2 0 1 0; +#X connect 2 0 4 1; +#X connect 3 0 4 0; +#X connect 3 1 17 0; +#X connect 3 2 0 0; +#X connect 4 0 10 0; +#X connect 5 0 3 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 2 0; +#X connect 8 0 2 0; +#X connect 9 0 3 0; +#X connect 11 0 15 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 14 0 12 0; +#X connect 15 0 16 0; +#X connect 16 0 2 0; +#X connect 17 0 6 0; +#X connect 18 0 12 0; +#X restore 39 153 pd list-l2s; +#X obj 102 130 makefilename %c; +#X msg 102 106 32; +#X obj 113 274 inlet~; +#X obj 69 273 inlet; +#X obj 163 274 inlet~; +#X obj 39 371 outlet; +#X obj 89 371 outlet~; +#X obj 145 371 outlet~; +#X obj 39 16 loadbang; +#X obj 39 252 list trim; +#X obj 39 229 list append pd~.subprocess.pd; +#X obj 39 206 list prepend pd~ start -send; +#X msg 39 176 "ARGS \$1"; +#X obj 39 37 t b b b; +#X msg 169 54 \; pd dsp 1; +#X connect 0 0 8 0; +#X connect 0 1 9 0; +#X connect 0 2 10 0; +#X connect 1 0 2 0; +#X connect 2 0 15 0; +#X connect 3 0 2 1; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 1; +#X connect 11 0 16 0; +#X connect 12 0 0 0; +#X connect 13 0 12 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 16 0 1 0; +#X connect 16 1 4 0; +#X connect 16 2 17 0; diff --git a/sfruit/pd~.subprocess.pd b/sfruit/pd~.subprocess.pd new file mode 100644 index 0000000..a50e930 --- /dev/null +++ b/sfruit/pd~.subprocess.pd @@ -0,0 +1,35 @@ +#N canvas 0 22 267 226 10; +#N canvas 566 22 423 241 \$0.subprocess 0; +#X obj 30 29 inlet; +#X obj 110 29 inlet~; +#X obj 180 29 inlet~; +#X obj 30 179 outlet; +#X obj 110 179 outlet~; +#X obj 180 179 outlet~; +#X restore 73 73 pd \$0.subprocess; +#X obj 132 39 adc~; +#X obj 131 111 dac~; +#N canvas 463 357 459 206 init 0; +#X obj 30 180 s pd-\$0.subprocess; +#X obj 30 25 r ARGS; +#X obj 57 141 list trim; +#X obj 57 78 list prepend obj 30 100; +#X obj 30 52 t b a; +#X msg 30 104 connect 0 0 6 0 \, connect 1 0 6 1 \, connect 2 0 6 2 +\, connect 6 0 3 0 \, connect 6 1 4 0 \, connect 6 2 5 0 \, loadbang +; +#X connect 1 0 4 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 4 1 3 0; +#X connect 5 0 0 0; +#X restore 97 182 pd init; +#X obj 73 111 stdout; +#X obj 73 39 r INLET; +#X connect 0 0 4 0; +#X connect 0 1 2 0; +#X connect 0 2 2 1; +#X connect 1 0 0 1; +#X connect 1 1 0 2; +#X connect 5 0 0 0; diff --git a/sfruit/pd~.triple-ringmod.pd b/sfruit/pd~.triple-ringmod.pd new file mode 100644 index 0000000..dc1ce19 --- /dev/null +++ b/sfruit/pd~.triple-ringmod.pd @@ -0,0 +1,33 @@ +#N canvas 740 324 394 353 10; +#X obj 19 168 osc~ 440; +#X obj 89 168 osc~ 550; +#X obj 159 168 osc~ 660; +#X obj 163 322 outlet~; +#X obj 113 322 outlet~; +#X obj 34 322 outlet; +#X obj 249 181 inlet~; +#X obj 309 181 inlet~; +#X obj 113 255 *~; +#X obj 89 114 * 1.25; +#X obj 159 114 * 1.5; +#X obj 163 255 *~; +#X obj 113 207 +~; +#X obj 20 27 inlet; +#X obj 59 27 loadbang; +#X obj 20 57 f \$1; +#X connect 0 0 12 0; +#X connect 1 0 12 0; +#X connect 2 0 12 0; +#X connect 6 0 8 1; +#X connect 7 0 11 1; +#X connect 8 0 4 0; +#X connect 9 0 1 0; +#X connect 10 0 2 0; +#X connect 11 0 3 0; +#X connect 12 0 8 0; +#X connect 12 0 11 0; +#X connect 13 0 15 0; +#X connect 14 0 15 0; +#X connect 15 0 0 0; +#X connect 15 0 9 0; +#X connect 15 0 10 0; diff --git a/sfruit/swap-any-help.pd b/sfruit/swap-any-help.pd new file mode 100644 index 0000000..8e01fab --- /dev/null +++ b/sfruit/swap-any-help.pd @@ -0,0 +1,3 @@ +#N canvas 0 22 450 300 10; +#X text 31 28 [swap-any] just like [swap] but works on any type of +atom.; diff --git a/sfruit/swap-any.pd b/sfruit/swap-any.pd new file mode 100644 index 0000000..6344747 --- /dev/null +++ b/sfruit/swap-any.pd @@ -0,0 +1,12 @@ +#N canvas 1010 279 259 224 10; +#X obj 39 42 inlet; +#X obj 120 42 inlet; +#X obj 39 72 t b a; +#X obj 178 167 outlet; +#X obj 39 164 outlet; +#X obj 39 137 list append \$1; +#X connect 0 0 2 0; +#X connect 1 0 5 1; +#X connect 2 0 5 0; +#X connect 2 1 3 0; +#X connect 5 0 4 0; -- cgit v1.2.1