aboutsummaryrefslogtreecommitdiff
path: root/examples/55_pmpd2d_additive.pd
blob: a8d7238ddb70ae2021bddd9a67937c42ce3a1ccf (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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
#N canvas 570 84 686 162 10;
#X declare -lib Gem;
#X obj 22 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 596 150 954 737 synthese 0;
#X msg -35 254 \$1 50;
#X obj -35 276 line~;
#X obj -75 280 *~;
#X msg 60 254 \$1 50;
#X obj 60 276 line~;
#X obj 20 280 *~;
#X msg 153 256 \$1 50;
#X obj 153 278 line~;
#X obj 113 282 *~;
#X msg 245 254 \$1 50;
#X obj 245 276 line~;
#X obj 205 280 *~;
#X obj 62 328 dac~;
#X msg 346 257 \$1 50;
#X obj 346 279 line~;
#X obj 306 283 *~;
#X msg 441 257 \$1 50;
#X obj 441 279 line~;
#X obj 401 283 *~;
#X msg 534 259 \$1 50;
#X obj 534 281 line~;
#X obj 494 285 *~;
#X msg 626 257 \$1 50;
#X obj 626 279 line~;
#X obj 586 283 *~;
#X obj 443 331 dac~;
#X obj -77 224 osc~ 55;
#X obj 19 224 osc~ 110;
#X obj 204 225 osc~ 222;
#X obj -13 158 unpack f f;
#X obj 176 164 unpack f f;
#X obj 362 161 unpack f f;
#X obj 553 168 unpack f f;
#X msg -45 458 \$1 50;
#X obj -45 480 line~;
#X obj -85 484 *~;
#X msg 50 458 \$1 50;
#X obj 50 480 line~;
#X obj 10 484 *~;
#X msg 143 460 \$1 50;
#X obj 143 482 line~;
#X obj 103 486 *~;
#X msg 235 458 \$1 50;
#X obj 235 480 line~;
#X obj 195 484 *~;
#X obj 52 532 dac~;
#X msg 336 461 \$1 50;
#X obj 336 483 line~;
#X obj 296 487 *~;
#X msg 431 461 \$1 50;
#X obj 431 483 line~;
#X obj 391 487 *~;
#X msg 524 463 \$1 50;
#X obj 524 485 line~;
#X obj 484 489 *~;
#X msg 616 461 \$1 50;
#X obj 616 483 line~;
#X obj 576 487 *~;
#X obj 433 535 dac~;
#X obj 483 433 osc~ 1113;
#X obj 575 431 osc~ 2229;
#X obj -15 373 unpack f f;
#X obj 166 368 unpack f f;
#X obj 352 365 unpack f f;
#X obj 543 372 unpack f f;
#X obj 112 226 osc~ 165;
#X obj 305 227 osc~ 267;
#X obj 400 227 osc~ 311;
#X obj 268 74 route 1 5 9 13 17 21 25 29;
#X obj 493 229 osc~ 366;
#X obj 585 227 osc~ 421;
#X obj -87 428 osc~ 444;
#X obj 9 428 osc~ 554;
#X obj 102 430 osc~ 664;
#X obj 194 428 osc~ 776;
#X obj 295 431 osc~ 888;
#X obj 390 431 osc~ 1000;
#X obj -75 398 / 20;
#X obj 52 404 / 20;
#X obj 144 406 / 20;
#X obj 240 404 / 50;
#X obj 307 401 / 50;
#X obj 434 407 / 50;
#X obj 524 409 / 100;
#X obj 621 407 / 100;
#X obj 631 203 / 100;
#X obj 532 206 / 100;
#X obj 444 204 / 50;
#X obj 317 197 / 50;
#X obj 250 200 / 50;
#X obj 153 202 / 20;
#X obj 61 201 / 20;
#X obj -64 194 / 20;
#X obj 268 49 route massesSpeedsNo;
#X obj 268 27 r \$0-pmpdout;
#X connect 0 0 1 0;
#X connect 1 0 2 1;
#X connect 2 0 12 0;
#X connect 3 0 4 0;
#X connect 4 0 5 1;
#X connect 5 0 12 0;
#X connect 5 0 12 1;
#X connect 6 0 7 0;
#X connect 7 0 8 1;
#X connect 8 0 12 0;
#X connect 8 0 12 1;
#X connect 9 0 10 0;
#X connect 10 0 11 1;
#X connect 11 0 12 1;
#X connect 13 0 14 0;
#X connect 14 0 15 1;
#X connect 15 0 25 0;
#X connect 16 0 17 0;
#X connect 17 0 18 1;
#X connect 18 0 25 0;
#X connect 18 0 25 1;
#X connect 19 0 20 0;
#X connect 20 0 21 1;
#X connect 21 0 25 0;
#X connect 21 0 25 1;
#X connect 22 0 23 0;
#X connect 23 0 24 1;
#X connect 24 0 25 1;
#X connect 26 0 2 0;
#X connect 27 0 5 0;
#X connect 28 0 11 0;
#X connect 29 0 92 0;
#X connect 29 1 91 0;
#X connect 30 0 90 0;
#X connect 30 1 89 0;
#X connect 31 0 88 0;
#X connect 31 1 87 0;
#X connect 32 0 86 0;
#X connect 32 1 85 0;
#X connect 33 0 34 0;
#X connect 34 0 35 1;
#X connect 35 0 45 0;
#X connect 36 0 37 0;
#X connect 37 0 38 1;
#X connect 38 0 45 0;
#X connect 38 0 45 1;
#X connect 39 0 40 0;
#X connect 40 0 41 1;
#X connect 41 0 45 0;
#X connect 41 0 45 1;
#X connect 42 0 43 0;
#X connect 43 0 44 1;
#X connect 44 0 45 1;
#X connect 46 0 47 0;
#X connect 47 0 48 1;
#X connect 48 0 58 0;
#X connect 49 0 50 0;
#X connect 50 0 51 1;
#X connect 51 0 58 0;
#X connect 51 0 58 1;
#X connect 52 0 53 0;
#X connect 53 0 54 1;
#X connect 54 0 58 0;
#X connect 54 0 58 1;
#X connect 55 0 56 0;
#X connect 56 0 57 1;
#X connect 57 0 58 1;
#X connect 59 0 54 0;
#X connect 60 0 57 0;
#X connect 61 0 77 0;
#X connect 61 1 78 0;
#X connect 62 0 79 0;
#X connect 62 1 80 0;
#X connect 63 0 81 0;
#X connect 63 1 82 0;
#X connect 64 0 83 0;
#X connect 64 1 84 0;
#X connect 65 0 8 0;
#X connect 66 0 15 0;
#X connect 67 0 18 0;
#X connect 68 0 29 0;
#X connect 68 1 30 0;
#X connect 68 2 31 0;
#X connect 68 3 32 0;
#X connect 68 4 61 0;
#X connect 68 5 62 0;
#X connect 68 6 63 0;
#X connect 68 7 64 0;
#X connect 69 0 21 0;
#X connect 70 0 24 0;
#X connect 71 0 35 0;
#X connect 72 0 38 0;
#X connect 73 0 41 0;
#X connect 74 0 44 0;
#X connect 75 0 48 0;
#X connect 76 0 51 0;
#X connect 77 0 33 0;
#X connect 78 0 36 0;
#X connect 79 0 39 0;
#X connect 80 0 42 0;
#X connect 81 0 46 0;
#X connect 82 0 49 0;
#X connect 83 0 52 0;
#X connect 84 0 55 0;
#X connect 85 0 22 0;
#X connect 86 0 19 0;
#X connect 87 0 16 0;
#X connect 88 0 13 0;
#X connect 89 0 9 0;
#X connect 90 0 6 0;
#X connect 91 0 3 0;
#X connect 92 0 0 0;
#X connect 93 0 68 0;
#X connect 94 0 93 0;
#X restore 23 107 pd synthese;
#X text 40 16 Reset;
#N canvas 0 22 450 300 structure_creation 0;
#X msg 195 86 reset;
#X obj 52 15 loadbang;
#X msg 156 145 Xmax 100 \, Xmin 0 \, Ymax 100 \, Ymin 0;
#X text 238 112 Random positions and masses;
#N canvas 557 309 487 357 masses 0;
#X msg 245 215 mass mob 1 \$1 \$2 \$3;
#X obj 417 165 random 100;
#X msg 417 145 seed 1;
#X obj 342 165 random 100;
#X obj 239 146 random 100;
#X msg 342 144 seed 2;
#X msg 239 126 seed 3;
#X obj 239 166 + 100;
#X obj 245 194 pack f f f;
#X obj 42 14 inlet;
#X obj 246 283 outlet;
#X obj 268 47 loadbang;
#X text 284 101 M;
#X text 356 106 X;
#X text 437 106 Y;
#X obj 223 68 t b b;
#X obj 42 45 until;
#X obj 42 78 f;
#X obj 72 78 + 1;
#X obj 72 100 mod 30;
#X obj 90 45 sel 0;
#X connect 0 0 10 0;
#X connect 1 0 8 2;
#X connect 2 0 1 0;
#X connect 3 0 8 1;
#X connect 4 0 7 0;
#X connect 5 0 3 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 9 0 16 0;
#X connect 11 0 6 0;
#X connect 11 0 5 0;
#X connect 11 0 2 0;
#X connect 15 0 4 0;
#X connect 15 1 3 0;
#X connect 15 1 1 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 0 15 0;
#X connect 18 0 19 0;
#X connect 19 0 17 1;
#X connect 19 0 20 0;
#X connect 20 0 16 1;
#X restore 175 113 pd masses;
#N canvas 0 22 450 300 links 0;
#X obj 136 72 t b;
#X obj 136 116 + 1;
#X obj 130 191 f;
#X obj 92 171 t f b;
#X obj 91 211 pack f f;
#X msg 91 233 link souple \$1 \$2 10 0.5;
#X obj 136 23 inlet;
#X obj 91 260 outlet;
#X obj 136 48 until;
#X obj 202 112 sel 0;
#X obj 184 154 mod 29;
#X obj 136 93 f 0;
#X connect 0 0 11 0;
#X connect 1 0 10 0;
#X connect 1 0 2 1;
#X connect 2 0 4 1;
#X connect 3 0 4 0;
#X connect 3 1 2 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 6 0 8 0;
#X connect 8 0 0 0;
#X connect 9 0 8 1;
#X connect 10 0 9 0;
#X connect 10 0 11 1;
#X connect 11 0 1 0;
#X connect 11 0 3 0;
#X restore 137 176 pd links;
#X obj 137 62 t b b b b;
#X obj 137 15 inlet;
#X obj 137 211 s \$0-pmpdin;
#X connect 0 0 8 0;
#X connect 1 0 6 0;
#X connect 2 0 8 0;
#X connect 4 0 8 0;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 6 1 2 0;
#X connect 6 2 4 0;
#X connect 6 3 0 0;
#X connect 7 0 6 0;
#X restore 22 39 pd structure_creation;
#N canvas 0 22 763 327 gem_stuff 0;
#X msg 137 179 0 \, destroy;
#X obj 118 200 gemwin;
#X obj 118 104 inlet;
#X obj 118 129 sel 1 0;
#X msg 118 156 reset \, create \, 1;
#X obj 274 105 gemhead;
#N canvas 311 224 413 534 gemmouse2 0;
#X obj 114 29 gemmouse;
#X obj 96 266 outlet;
#X obj 114 83 - 0;
#X obj 165 97 + 100;
#X obj 114 60 / 5;
#X obj 165 74 / -5;
#X obj 32 81 t b;
#X obj 32 37 inlet;
#X obj 96 177 f;
#X obj 96 206 pack 0 0 0;
#X connect 0 0 4 0;
#X connect 0 1 5 0;
#X connect 0 2 9 2;
#X connect 2 0 8 1;
#X connect 3 0 9 1;
#X connect 4 0 2 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 1 0;
#X restore 274 127 pd gemmouse2;
#X msg 274 150 grabMass \$1 \$2 \$3;
#N canvas 643 123 617 602 massrender 0;
#X obj 127 22 inlet;
#X obj 62 267 translateXYZ;
#X obj 166 123 / 12.5;
#X obj 166 146 - 4;
#X obj 231 124 / 12.5;
#X obj 231 147 - 4;
#X obj 62 241 separator;
#X obj 127 57 unpack f f f;
#X msg 128 194 \$1;
#X obj 62 219 colorRGB 1 1 1;
#X obj 128 174 / 29;
#X obj 127 85 t b f;
#X obj 62 135 gemhead 45;
#X obj 62 63 loadbang;
#X msg 62 93 0;
#X obj 62 314 circle 0.1;
#X connect 0 0 7 0;
#X connect 1 0 15 0;
#X connect 2 0 3 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 5 0 1 2;
#X connect 6 0 1 0;
#X connect 7 0 11 0;
#X connect 7 1 2 0;
#X connect 7 2 4 0;
#X connect 8 0 9 2;
#X connect 8 0 9 3;
#X connect 9 0 6 0;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 11 1 10 0;
#X connect 12 0 9 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X restore 502 153 pd massrender;
#N canvas 284 227 595 566 linkrender 0;
#X obj 261 87 inlet;
#X obj 261 179 / 12.5;
#X obj 261 202 - 4;
#X obj 315 180 / 12.5;
#X obj 315 203 - 4;
#X obj 189 288 separator;
#X obj 261 226 t b f;
#X obj 189 331 curve 2;
#X obj 375 183 / 12.5;
#X obj 375 206 - 4;
#X obj 429 184 / 12.5;
#X obj 429 207 - 4;
#X obj 291 256 pack f f;
#X msg 291 279 \$1 \$2 0;
#X obj 375 255 pack f f;
#X msg 375 278 \$1 \$2 0;
#X obj 261 131 unpack f f f f f;
#X obj 189 310 colorRGB 1 1 1;
#X obj 189 262 gemhead 45;
#X obj 189 180 loadbang;
#X msg 189 229 0;
#X connect 0 0 16 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 4 0;
#X connect 4 0 12 1;
#X connect 5 0 17 0;
#X connect 6 0 18 0;
#X connect 6 1 12 0;
#X connect 8 0 9 0;
#X connect 9 0 14 0;
#X connect 10 0 11 0;
#X connect 11 0 14 1;
#X connect 12 0 13 0;
#X connect 13 0 7 1;
#X connect 14 0 15 0;
#X connect 15 0 7 2;
#X connect 16 1 1 0;
#X connect 16 2 3 0;
#X connect 16 3 8 0;
#X connect 16 4 10 0;
#X connect 17 0 7 0;
#X connect 18 0 5 0;
#X connect 19 0 20 0;
#X connect 20 0 18 0;
#X restore 432 174 pd linkrender;
#X obj 273 174 s \$0-pmpdin;
#X obj 432 101 r \$0-pmpdout;
#X obj 432 124 route linksPosNo massesPos;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 11 0 12 0;
#X connect 12 0 9 0;
#X connect 12 1 8 0;
#X restore 23 86 pd gem_stuff;
#X obj 23 64 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X text 43 63 gem on/off;
#X text 196 54 1 Create window;
#X text 196 74 2 Set dsp on;
#N canvas 0 22 834 442 compute 0;
#X obj 52 69 gemhead;
#X obj 67 163 r \$0-pmpdin;
#X obj 52 216 s \$0-pmpdout;
#X obj 52 192 pmpd2d;
#X msg 50 95 bang \, get massesPos \, get linksPos \, get massesSpeeds
1 \, get massesSpeeds 5 \, get massesSpeeds 9 \, get massesSpeeds 13
\, get massesSpeeds 17 \, get massesSpeeds 21 \, get massesSpeeds 25
\, get massesSpeeds 29;
#X connect 0 0 4 0;
#X connect 1 0 3 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X restore 23 129 pd compute;
#X text 196 94 Drag red masses for bass and white ones for high tones...
;
#X text 196 17 Additive synthesis example;
#X obj 198 122 declare -lib Gem;
#X connect 0 0 3 0;
#X connect 5 0 4 0;