aboutsummaryrefslogtreecommitdiff
path: root/voicepoly.pd
blob: ba7276d6f16777b97c8367243d8f387d654b12e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
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;