From ef03f03d1162dc5dde2ae7179a51f6b3f95926e7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 27 Oct 2010 19:53:53 +0000 Subject: starting lib of poly objects, with working sketch of [voicepoly], an improved nqpoly4 svn path=/trunk/externals/manypoly/; revision=14243 --- test.wav | Bin 0 -> 645168 bytes voicepoly-help.pd | 16 +++++ voicepoly.pd | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ voicepolywrap.pd | 34 +++++++++ voicetest.pd | 39 +++++++++++ 5 files changed, 291 insertions(+) create mode 100644 test.wav create mode 100644 voicepoly-help.pd create mode 100644 voicepoly.pd create mode 100644 voicepolywrap.pd create mode 100644 voicetest.pd diff --git a/test.wav b/test.wav new file mode 100644 index 0000000..eac1589 Binary files /dev/null and b/test.wav differ diff --git a/voicepoly-help.pd b/voicepoly-help.pd new file mode 100644 index 0000000..84055c9 --- /dev/null +++ b/voicepoly-help.pd @@ -0,0 +1,16 @@ +#N canvas 522 304 450 300 10; +#X obj 97 97 voicepoly 5 voicetest; +#X obj 109 178 dac~; +#X obj 225 58 hsl 128 15 0 10 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 7500 1; +#X floatatom 237 80 5 0 0 0 - - -; +#X msg 96 48 bang; +#X obj 305 22 pddp/dsp; +#X obj 220 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X connect 0 0 1 0; +#X connect 0 1 1 1; +#X connect 0 2 6 0; +#X connect 2 0 0 1; +#X connect 2 0 3 0; +#X connect 4 0 0 0; diff --git a/voicepoly.pd b/voicepoly.pd new file mode 100644 index 0000000..ba7276d --- /dev/null +++ b/voicepoly.pd @@ -0,0 +1,202 @@ +#N canvas 630 256 761 526 10; +#X obj 26 8 inlet; +#X obj 256 209 outlet; +#X obj 175 388 until; +#X obj 136 333 moses 1; +#X obj 213 415 + 1; +#N canvas 748 380 472 324 init 0; +#X obj 142 101 makefilename pd-%s; +#X msg 149 56 bang; +#X text 99 265 This will clear the subpatch and create fake "in/outlets" +as senders and receivers.; +#X obj 38 154 send \$0-subname; +#X obj 142 125 pack symbol \$0; +#X obj 142 30 bang; +#X obj 142 7 inlet; +#X obj 142 77 symbol \$0-voicepoly; +#X msg 142 166 \; \$1 clear \; \$1 obj 10 10 receive \$2-in1 \; \$1 +obj 400 10 receive \$2-in2 \; \$1 obj 10 560 throw~ \$2-audioL \; \$1 +obj 380 560 throw~ \$2-audioR \; \$1 obj 500 560 send \$2-voicemsg +\;; +#X connect 0 0 3 0; +#X connect 0 0 4 0; +#X connect 1 0 7 0; +#X connect 4 0 8 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 0 0; +#X restore 225 332 pd init; +#N canvas 810 447 610 407 finish 0; +#X obj 373 197 list prepend; +#X obj 77 180 until; +#X obj 127 206 + 1; +#X obj 77 279 list prepend; +#X msg 77 313 \; \$1 connect 1 0 \$2 1 \;; +#X text 210 158 first 3 objects are xlets; +#X obj 38 26 inlet; +#X obj 38 62 moses 1; +#X obj 156 250 receive \$0-subname; +#X obj 442 173 receive \$0-subname; +#X obj 77 206 float 3; +#X obj 77 157 trigger anything bang; +#X obj 77 93 trigger anything anything; +#X text 15 363 Connect all wrapper object's right inlet to [receive +\$0-in2]; +#X text 360 282 Connect final object to [send \$0-out]; +#X msg 200 177 5; +#X msg 373 227 \; \$1 connect 0 0 5 0 \; \$1 connect \$2 0 4 0 \;; +#X obj 373 159 + 4; +#X connect 0 0 16 0; +#X connect 1 0 10 0; +#X connect 2 0 10 1; +#X connect 3 0 4 0; +#X connect 6 0 7 0; +#X connect 7 1 12 0; +#X connect 8 0 3 1; +#X connect 9 0 0 1; +#X connect 10 0 2 0; +#X connect 10 0 3 0; +#X connect 11 0 1 0; +#X connect 11 1 15 0; +#X connect 12 0 11 0; +#X connect 12 1 17 0; +#X connect 15 0 10 1; +#X connect 17 0 0 0; +#X restore 48 331 pd finish; +#X obj 48 251 initbang; +#X obj 175 415 float; +#X obj 175 360 trigger anything bang; +#X msg 216 388 0; +#X obj 26 67 send \$0-in1; +#X obj 100 8 inlet; +#X obj 100 67 send \$0-in2; +#X obj 48 281 float \$1; +#X obj 26 208 outlet~; +#N canvas 177 52 366 386 communications 0; +#X obj 29 10 inlet; +#X obj 224 59 symbol \$2; +#N canvas 0 22 535 282 last-two 0; +#X obj 40 92 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 265 27 first reset (b) \, then set new length (f).; +#X text 198 112 Right outlet is responsible to first fill the list +; +#X text 199 128 Left outlet then only lets the smaller list pass.; +#X obj 67 100 list; +#X obj 67 66 inlet; +#X obj 67 219 outlet; +#X obj 67 145 list split 2; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 7 0 4 1; +#X connect 7 0 6 0; +#X connect 7 2 4 1; +#X restore 29 242 pd last-two; +#X obj 29 288 list prepend; +#X obj 44 135 list append \$3 \$4 \$5 \$6; +#X obj 290 59 float \$1; +#X obj 150 84 receive \$0-subname; +#X obj 98 267 receive \$0-subname; +#X obj 44 111 pack float float symbol symbol float; +#X obj 97 67 * 19; +#X obj 97 89 + 30; +#X obj 29 221 + 5; +#X msg 29 316 \; \$1 connect \$3 0 \$2 0 \;; +#X obj 29 37 trigger anything anything anything bang bang; +#X msg 44 162 \; \$3 obj 150 \$2 voicepolywrap \$4 \$1 \$5 \$6 \$7 +\$8 \$9 \;; +#X connect 0 0 13 0; +#X connect 1 0 8 3; +#X connect 2 0 3 0; +#X connect 3 0 12 0; +#X connect 4 0 14 0; +#X connect 5 0 8 4; +#X connect 6 0 8 2; +#X connect 7 0 3 1; +#X connect 8 0 4 0; +#X connect 9 0 10 0; +#X connect 10 0 8 1; +#X connect 11 0 2 0; +#X connect 13 0 11 0; +#X connect 13 1 8 0; +#X connect 13 2 9 0; +#X connect 13 3 1 0; +#X connect 13 4 5 0; +#X restore 175 482 pd communications connections; +#N canvas 875 553 450 300 connect 0; +#X obj 89 17 inlet; +#X obj 89 102 + 5; +#X obj 211 78 symbol; +#X obj 244 56 receive \$0-subname; +#X obj 87 136 pack float symbol; +#X obj 88 57 trigger anything bang; +#X msg 89 182 \; \$2 connect \$1 1 2 0 \; \$2 connect \$1 2 3 0; +#X connect 0 0 5 0; +#X connect 1 0 4 0; +#X connect 2 0 4 1; +#X connect 3 0 2 1; +#X connect 4 0 6 0; +#X connect 5 0 1 0; +#X connect 5 1 2 0; +#X restore 185 453 pd connect user outlets; +#X text 122 97 <-- open this subpatch to see the instances; +#X obj 48 310 trigger anything anything bang; +#N canvas 100 24 601 588 \$0-voicepoly 0; +#X obj 10 10 receive 1014-in1; +#X obj 400 10 receive 1014-in2; +#X obj 10 560 throw~ 1014-audio; +#X obj 380 560 send 1014-message; +#X obj 500 560 send 1014-nqp; +#X obj 150 30 voicepolywrap itest 0 5 0 0 0 0; +#X obj 150 49 voicepolywrap itest 1 5 0 0 0 0; +#X obj 150 68 voicepolywrap itest 2 5 0 0 0 0; +#X obj 150 87 voicepolywrap itest 3 5 0 0 0 0; +#X obj 150 106 voicepolywrap itest 4 5 0 0 0 0; +#X connect 0 0 5 0; +#X connect 1 0 5 1; +#X connect 1 0 6 1; +#X connect 1 0 7 1; +#X connect 1 0 8 1; +#X connect 1 0 9 1; +#X connect 5 0 6 0; +#X connect 5 1 2 0; +#X connect 5 2 3 0; +#X connect 6 0 7 0; +#X connect 6 1 2 0; +#X connect 6 2 3 0; +#X connect 7 0 8 0; +#X connect 7 1 2 0; +#X connect 7 2 3 0; +#X connect 8 0 9 0; +#X connect 8 1 2 0; +#X connect 8 2 3 0; +#X connect 9 0 4 0; +#X connect 9 1 2 0; +#X connect 9 2 3 0; +#X restore 26 96 pd \$0-voicepoly; +#X obj 136 209 outlet~; +#X obj 26 124 catch~ \$0-audioL; +#X obj 136 124 catch~ \$0-audioR; +#X obj 256 124 receive \$0-voicemsg; +#X obj 24 260 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X connect 0 0 11 0; +#X connect 2 0 8 0; +#X connect 3 1 9 0; +#X connect 4 0 8 1; +#X connect 7 0 14 0; +#X connect 8 0 4 0; +#X connect 8 0 16 0; +#X connect 8 0 17 0; +#X connect 9 0 2 0; +#X connect 9 1 10 0; +#X connect 10 0 8 1; +#X connect 12 0 13 0; +#X connect 14 0 19 0; +#X connect 19 0 6 0; +#X connect 19 1 3 0; +#X connect 19 2 5 0; +#X connect 22 0 15 0; +#X connect 23 0 21 0; +#X connect 24 0 1 0; +#X connect 25 0 14 0; diff --git a/voicepolywrap.pd b/voicepolywrap.pd new file mode 100644 index 0000000..c9a0c95 --- /dev/null +++ b/voicepolywrap.pd @@ -0,0 +1,34 @@ +#N canvas 366 494 452 327 10; +#X obj 45 26 inlet; +#X obj 45 177 spigot; +#X obj 192 274 spigot; +#X obj 25 249 \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9; +#X obj 22 301 outlet; +#X obj 260 23 inlet; +#X msg 67 124 0 1; +#X msg 105 125 1 0; +#X text 252 156 this object is used by nqpoly5; +#X text 12 5 nqpwrap5 - pix.test.at; +#X obj 45 64 trigger anything anything; +#X obj 25 226 trigger anything bang; +#X obj 105 100 loadbang; +#X obj 78 155 unpack float float; +#X obj 85 301 outlet~; +#X text 213 298 strange ordering to make dynamic patching esaier; +#X obj 161 301 outlet~; +#X connect 0 0 10 0; +#X connect 1 0 11 0; +#X connect 2 0 4 0; +#X connect 3 0 14 0; +#X connect 3 1 16 0; +#X connect 3 2 7 0; +#X connect 5 0 3 1; +#X connect 6 0 13 0; +#X connect 7 0 13 0; +#X connect 10 0 1 0; +#X connect 10 1 2 0; +#X connect 11 0 3 0; +#X connect 11 1 6 0; +#X connect 12 0 7 0; +#X connect 13 0 1 1; +#X connect 13 1 2 1; diff --git a/voicetest.pd b/voicetest.pd new file mode 100644 index 0000000..d189cef --- /dev/null +++ b/voicetest.pd @@ -0,0 +1,39 @@ +#N canvas 210 166 495 383 10; +#X obj 115 24 inlet; +#X obj 122 353 outlet~; +#X obj 305 24 inlet; +#X obj 202 353 outlet~; +#X obj 250 169 osc~; +#X obj 122 227 *~; +#X obj 202 227 *~; +#X obj 122 170 tabplay~ \$0-sample; +#X obj 323 88 table \$0-sample; +#X obj 171 103 print \$1; +#X obj 51 141 loadbang; +#X msg 61 162 1; +#X obj 137 205 -~; +#X obj -12 322 soundfiler; +#X obj -12 272 symbol \$0-sample; +#X msg -12 297 read -resize test.wav \$1; +#X msg -36 217 bang; +#X msg 143 145 bang; +#X obj 310 352 outlet; +#X text 357 352 bang when done; +#X connect 0 0 7 0; +#X connect 2 0 9 0; +#X connect 2 0 4 0; +#X connect 4 0 12 1; +#X connect 4 0 6 1; +#X connect 5 0 1 0; +#X connect 6 0 3 0; +#X connect 7 0 5 0; +#X connect 7 0 6 0; +#X connect 7 1 18 0; +#X connect 10 0 11 0; +#X connect 10 0 14 0; +#X connect 11 0 12 0; +#X connect 12 0 5 1; +#X connect 14 0 15 0; +#X connect 15 0 13 0; +#X connect 16 0 14 0; +#X connect 17 0 7 0; -- cgit v1.2.1