aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-10-27 19:53:53 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-10-27 19:53:53 +0000
commitef03f03d1162dc5dde2ae7179a51f6b3f95926e7 (patch)
tree2bdd229d9cd5bf30df56081a1e1f371257427096
starting lib of poly objects, with working sketch of [voicepoly], an improved nqpoly4svn2git-root
svn path=/trunk/externals/manypoly/; revision=14243
-rw-r--r--test.wavbin0 -> 645168 bytes
-rw-r--r--voicepoly-help.pd16
-rw-r--r--voicepoly.pd202
-rw-r--r--voicepolywrap.pd34
-rw-r--r--voicetest.pd39
5 files changed, 291 insertions, 0 deletions
diff --git a/test.wav b/test.wav
new file mode 100644
index 0000000..eac1589
--- /dev/null
+++ b/test.wav
Binary files 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;