-
Notifications
You must be signed in to change notification settings - Fork 1
/
lcd_multitouch-help.pd
647 lines (647 loc) · 20.3 KB
/
lcd_multitouch-help.pd
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
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
#N struct struct_paintoval float lx float ty float rx float by float width float color;
#N struct struct_lineto float lx float ty float rx float by float width float color;
#N canvas 930 194 712 721 16;
#X text 25 269 To edit shape \, ctrl+drag on it in edit mode;
#X text 27 295 To edit properties \, right-click + properties popup menu;
#X text 367 154 https://github.com/jyg/multitouch;
#X obj 2 1 cnv 15 700 40 empty empty empty 20 12 0 14 #e0c4fc #404040 0;
#X obj 2 649 cnv 15 700 50 empty empty empty 20 12 0 14 #c4fcc4 #404040 0;
#X text 0 54 ______________________________________________________________________, f 70;
#X text 338 11 pd 0.49 + iemguts + iemlib;
#X obj 41 160 route 0 1 2 ... 9;
#X obj 41 218 unpack f f;
#X obj 200 217 unpack f f;
#X obj 357 219 unpack f f;
#X floatatom 41 242 5 0 0 0 - - - 0;
#X floatatom 101 242 5 0 0 0 - - - 0;
#X floatatom 200 241 5 0 0 0 - - - 0;
#X floatatom 261 241 5 0 0 0 - - - 0;
#X floatatom 357 243 5 0 0 0 - - - 0;
#X floatatom 425 243 5 0 0 0 - - - 0;
#X obj 41 189 route add update remove pressure, f 64;
#X floatatom 513 238 5 0 0 2 pressure - - 0;
#X text 227 124 Multitouch compatible : needs;
#X obj 528 123 multitouch;
#X text 226 89 With mouse only : monotouch (no pressure output);
#X text 25 9 mob/lcd_multitouch;
#X text 7 43 Fast and responsive pressure-sensitive lcd panel + multitouch input, f 70;
#N canvas 971 81 817 319 unsupported 0;
#X obj 498 62 route 0 1 2 ... 9;
#X obj 617 119 unpack f f;
#X floatatom 617 143 5 0 0 0 - - - 0;
#X floatatom 678 143 5 0 0 0 - - - 0;
#X obj 499 28 r my_multitouch;
#X obj 500 119 unpack f f;
#X floatatom 500 143 5 0 0 0 - - - 0;
#X floatatom 561 143 5 0 0 0 - - - 0;
#X obj 43 145 r my_multitouch.cooked;
#X obj 498 91 route add update remove;
#N canvas 637 322 723 636 more_infos 0;
#X text 30 100 http://danieliglesia.com/mobmuplat/doc/index.htm;
#X text 30 78 see;
#X obj 19 178 cnv 15 630 320 empty empty empty 20 12 0 14 #c4fcc4 #404040 0;
#X text 27 212 output: on every touch and move \, these messages are sent \, each followed by three elements per touch: voice index \, x position \, y position.;
#X text 27 279 "touchesByTime" \, followed by three-elements-per-touch \, sorted by recency;
#X text 27 329 "touchesByVox" \, followed by three-elements-per-touch \, sorted by voice index;
#X text 27 379 "touchesByX" \, followed by three-elements-per-touch \, sorted by x position;
#X text 30 434 "touchesByY" \, followed by three-elements-per-touch \, sorted by y position;
#X text 30 152 citation :;
#X text 25 183 Multitouch;
#X text 16 519 /! in cooked messages \, x and y values are normalized to 0..1 range, f 68;
#X text 17 520 ___;
#X text 21 509 /;
#X text 31 16 /!\ Cooked MobMuPlat messages are generated by MobMuPlat \, but aren't implemented in tcl/tk version of xy_multi for now., f 61;
#X restore 283 145 pd more_infos;
#X text 43 53 You can use connexions or send/receive pairs, f 23;
#X text 43 189 /!\ pressure info is not provided on MobMuPlat target platform., f 63;
#X text 40 118 Getting cooked MobMuPlat messages fromGUI :;
#X text 13 1 MOBMUPLAT EXPORT IS NOT IMPLEMENTED;
#X text 37 29 --------------------------------------------------------------------------, f 75;
#X text 37 49 --------------------------------------------------------------------------, f 75;
#X text 37 69 --------------------------------------------------------------------------, f 75;
#X text 37 89 --------------------------------------------------------------------------, f 75;
#X text 37 109 --------------------------------------------------------------------------, f 75;
#X text 37 129 --------------------------------------------------------------------------, f 75;
#X text 37 149 --------------------------------------------------------------------------, f 75;
#X text 37 169 --------------------------------------------------------------------------, f 75;
#X text 37 189 --------------------------------------------------------------------------, f 75;
#X text 37 209 --------------------------------------------------------------------------, f 75;
#X text 37 229 --------------------------------------------------------------------------, f 75;
#X connect 0 0 9 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 4 0 0 0;
#X connect 5 0 6 0;
#X connect 5 1 7 0;
#X connect 9 0 5 0;
#X connect 9 1 1 0;
#X restore 216 656 pd unsupported;
#X text 20 654 MobMuPlat export;
#X obj 264 513 tgl 15 0 empty empty AUTO 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 307 499 bng 15 250 50 0 empty empty CLEAR 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 243 498 bng 15 250 50 0 empty empty CIRCLE 17 7 0 10 #fcfcfc #000000 #000000;
#N canvas 0 50 670 542 demo1 0;
#X obj 37 208 random 100;
#X obj 37 233 / 100;
#X obj 105 208 random 100;
#X obj 105 233 / 100;
#X obj 76 257 random 100;
#X obj 76 282 / 100;
#X obj 144 257 random 100;
#X obj 144 282 / 100;
#X obj 179 206 random 100;
#X obj 179 231 / 100;
#X obj 247 206 random 100;
#X obj 247 231 / 100;
#X obj 217 258 random 100;
#X obj 217 283 / 100;
#X obj 110 128 t b b b b b b b;
#X obj 189 314 list;
#X obj 37 310 pack 0 0 0 0 0 0 0;
#X obj 150 76 metro 250;
#X obj 36 364 outlet;
#X msg 36 335 frameoval \$1 \$2 \$3 \$4 \$5 \$6 \$7 0.5;
#X obj 142 36 inlet;
#X obj 39 34 inlet;
#X obj 309 39 inlet;
#X msg 298 143 clear;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 2 0 3 0;
#X connect 3 0 16 2;
#X connect 4 0 5 0;
#X connect 5 0 16 1;
#X connect 6 0 7 0;
#X connect 7 0 16 3;
#X connect 8 0 9 0;
#X connect 9 0 16 4;
#X connect 10 0 11 0;
#X connect 11 0 16 6;
#X connect 12 0 13 0;
#X connect 13 0 16 5;
#X connect 14 0 0 0;
#X connect 14 1 4 0;
#X connect 14 2 2 0;
#X connect 14 3 6 0;
#X connect 14 4 8 0;
#X connect 14 5 12 0;
#X connect 14 6 10 0;
#X connect 16 0 19 0;
#X connect 17 0 14 0;
#X connect 19 0 18 0;
#X connect 20 0 17 0;
#X connect 21 0 14 0;
#X connect 22 0 23 0;
#X connect 23 0 18 0;
#X restore 242 530 pd demo1;
#X obj 49 494 lcd_multitouch;
#A saved -show_first_touch 0;
#A saved -invisible 0;
#A saved -z_offset 0;
#A saved -xmax 1;
#A saved -ymax 1;
#A saved -xmin 0;
#A saved -ymin 0;
#A saved -name Untitled_16*;
#A saved -front_color 200 200 200;
#A saved -back_color 220 220 220;
#A saved -size 131 92;
#X obj 37 90 lcd_multitouch;
#A saved -show_first_touch 0;
#A saved -invisible 0;
#A saved -z_offset 0;
#A saved -xmax 1;
#A saved -ymax 1;
#A saved -xmin 0;
#A saved -ymin 0;
#A saved -name Untitled_19*;
#A saved -front_color 200 200 200;
#A saved -back_color 220 220 220;
#A saved -size 60 60;
#N canvas 810 58 837 963 drawing_commands 0;
#X obj 49 835 outlet;
#X msg 49 58 clear;
#X msg 49 787 penwidth 3;
#X text 173 782 penwidth + 1 float (width in pixels), f 22;
#X msg 49 198 paintoval 0.4 0.2 0.5 0.4 0.2 0.2 1 1, f 25;
#X msg 49 88 frameoval 0.6 0.5 0.7 0.9 1 0.5 0 1, f 25;
#X msg 49 308 framerect 0.1 0.1 0.9 0.9 0.5 0.3 0.1 1, f 25;
#X msg 49 418 paintrect 0.8 0.2 0.9 0.4 0.9 0.3 0.1 1, f 25;
#X msg 49 464 paintrect 0.4 0.4 0.6 0.6;
#X msg 49 681 moveto 0.5 0.5;
#X msg 49 720 lineto 0.7 0.9 1 0 0 1;
#X msg 49 746 lineto 0.2 0.4;
#X text 327 751 lineto + 2 floats (x \, y);
#X text 326 363 "framerect" + 4 floats (left x \, top y \, right x \, bottom y) - uses widget's highlight color;
#X text 324 201 "paintoval" + 8 floats (left x \, top y \, right x \, bottom y \, red \, green \, blue \, alpha);
#X text 323 91 "frameoval" + 8 floats (left x \, top y \, right x \, bottom y \, red \, green \, blue \, alpha), f 43;
#X text 323 145 "frameoval" + 4 floats (left x \, top y \, right x \, bottom y) - uses widget's highlight color;
#X text 323 257 "paintoval" + 4 floats (left x \, top y \, right x \, bottom y) - uses widget's highlight color;
#X text 323 307 "framerect" + 8 floats (left x \, top y \, right x \, bottom y \, red \, green \, blue \, alpha);
#X text 323 413 "paintrect" + 8 floats (left x \, top y \, right x \, bottom y \, red \, green \, blue \, alpha);
#X text 326 463 "paintrect" + 4 floats (left x \, top y \, right x \, bottom y) - uses widget's highlight color;
#X text 328 685 moveto + 2 floats (x \, y);
#X text 113 12 !!! alpha-rendering ignored in tcl/tk !!!;
#X text 114 12 !!! alpha-rendering ignored in tcl/tk !!!;
#N canvas 0 0 667 215 framepoly/paintpoly 0;
#X text 29 36 "framepoly" + N floats (specify N/2 points as a list of x/y pairs) - uses widget's highlight color "framepolyRGBA" + N+4 floats (specify N/2 points as a list of x/y pairs \, red \, green \, blue \, alpha) \; "paintpoly" + N floats (specify N/2 points as a list of x/y pairs) - uses widget's highlight color "paintpolyRGBA" + N+4 floats (specify N/2 points as a list of x/y pairs \, red \, green \, blue \, alpha);
#X restore 602 562 pd framepoly/paintpoly;
#X text 78 554 !! MobMuPlat "framepoly" and "paintpoly" messages aren't implemented yet in tcl/tk, f 50;
#X text 328 721 lineto + 6 floats (x \, y \, red \, green \, blue \, alpha);
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
#X connect 10 0 0 0;
#X connect 11 0 0 0;
#X restore 48 455 pd drawing_commands;
#N canvas 377 37 976 828 second_outlet 0;
#X obj 151 470 route drawing_subpatch drawing_pointer;
#X msg 670 153 paintoval 0.4 0.2 0.5 0.4 0.2 0.2 1 1, f 25;
#X msg 673 92 frameoval 0.6 0.5 0.7 0.9 1 0.5 0 1, f 25;
#X msg 668 216 framerect 0.1 0.1 0.9 0.9 0.5 0.3 0.1 1, f 25;
#X msg 665 277 paintrect 0.8 0.2 0.9 0.4 0.9 0.3 0.1 1, f 25;
#X msg 661 345 paintrect 0.4 0.4 0.6 0.6;
#X msg 658 400 moveto 0.5 0.5;
#X msg 650 446 lineto 0.2 0.4;
#X obj 380 561 pointer struct_frameoval struct_paintoval struct_framerect struct_paintrect struct_lineto;
#X obj 385 655 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 455 655 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 565 655 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 655 655 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 755 655 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 835 655 bng 15 250 50 0 empty empty other 17 7 0 10 #fcfcfc #000000 #000000;
#X msg 73 162 clear;
#X obj 140 571 pointer;
#X obj 140 649 get - lx ty rx by;
#X floatatom 100 687 5 0 0 0 - - - 0;
#X floatatom 168 688 5 0 0 0 - - - 0;
#X floatatom 241 688 5 0 0 0 - - - 0;
#X floatatom 306 688 5 0 0 0 - - - 0;
#X obj 140 610 t p p p p p;
#X obj 46 737 set - lx;
#X obj 146 737 set - ty;
#X obj 246 737 set - rx;
#X obj 354 736 set - by;
#X text 43 35 * Second outlet gives both the name of the subpatch that contains the datastructures scalars and the pointer to last appended scalar \, for editing purposes (not in MobMuPlat)., f 65;
#X obj 54 208 lcd_multitouch;
#A saved -show_first_touch 0;
#A saved -invisible 0;
#A saved -z_offset 0;
#A saved -xmax 1;
#A saved -ymax 1;
#A saved -xmin 0;
#A saved -ymin 0;
#A saved -name Untitled_20*;
#A saved -front_color 200 200 200;
#A saved -back_color 220 220 220;
#A saved -size 216 194;
#X connect 0 1 8 0;
#X connect 0 1 16 0;
#X connect 1 0 28 0;
#X connect 2 0 28 0;
#X connect 3 0 28 0;
#X connect 4 0 28 0;
#X connect 5 0 28 0;
#X connect 6 0 28 0;
#X connect 7 0 28 0;
#X connect 8 0 9 0;
#X connect 8 1 10 0;
#X connect 8 2 11 0;
#X connect 8 3 12 0;
#X connect 8 4 13 0;
#X connect 8 5 14 0;
#X connect 15 0 28 0;
#X connect 16 0 22 0;
#X connect 17 0 18 0;
#X connect 17 1 19 0;
#X connect 17 2 20 0;
#X connect 17 3 21 0;
#X connect 18 0 23 0;
#X connect 19 0 24 0;
#X connect 20 0 25 0;
#X connect 21 0 26 0;
#X connect 22 0 17 0;
#X connect 22 1 23 1;
#X connect 22 2 24 1;
#X connect 22 3 25 1;
#X connect 22 4 26 1;
#X connect 28 1 0 0;
#X restore 498 415 pd second_outlet;
#X text 10 329 * Inlet1 passes the drawing commands;
#X text 11 353 * Inlet2 passes the multitouch set and list messages;
#X text 14 384 * Outlet1 gives the multitouch interaction --->;
#X text 14 412 * Outlet2 gives access to datastructure pointers;
#N canvas 675 145 684 553 example 0;
#X text 37 16 example : draw with the mouse;
#X msg 118 57 clear;
#X obj 241 467 unpack f f;
#X floatatom 241 496 5 0 0 0 - - - 0;
#X floatatom 302 496 5 0 0 0 - - - 0;
#X obj 86 468 unpack f f;
#X floatatom 86 497 5 0 0 0 - - - 0;
#X floatatom 147 497 5 0 0 0 - - - 0;
#X obj 417 461 unpack f f;
#X floatatom 417 490 5 0 0 0 - - - 0;
#X floatatom 478 490 5 0 0 0 - - - 0;
#X text 422 435 mouseup;
#X text 92 445 mousedown;
#X text 253 445 drag;
#X obj 319 101 lcd_multitouch;
#A saved -show_first_touch 0;
#A saved -invisible 0;
#A saved -z_offset 0;
#A saved -xmax 1;
#A saved -ymax 1;
#A saved -xmin 0;
#A saved -ymin 0;
#A saved -name Untitled_23*;
#A saved -front_color 200 200 200;
#A saved -back_color 220 220 220;
#A saved -size 260 234;
#X obj 114 411 route add update remove;
#X obj 118 374 route 0;
#X obj 77 149 route 0 1 2 3;
#N canvas 0 0 597 569 draw 0;
#X obj 96 138 unpack 0 0;
#X obj 320 256 unpack 0 0;
#X obj 61 260 t f f;
#X obj 161 266 t f f;
#X obj 399 108 unpack 0 0 0 0;
#X obj 91 365 pack 0 0 0 0 0 0 0 0;
#X obj 324 395 pack 0 0 0 0 0 0;
#X obj 61 5 inlet;
#X obj 84 535 outlet;
#X msg 28 475 moveto \$1 \$2;
#X obj 61 300 - 0.02;
#X obj 138 336 + 0.02;
#X obj 146 300 - 0.02;
#X obj 218 301 + 0.02;
#X msg 235 442 paintoval \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8;
#X msg 256 475 penwidth 3 \, lineto \$1 \$2 \$3 \$4 \$5 \$6;
#X text 401 73 color;
#X obj 398 28 loadbang;
#X msg 398 57 0 0 0 1;
#X obj 44 87 t l l;
#X obj 63 50 route add update remove;
#X obj 167 184 * -1;
#X obj 162 215 + 1;
#X text 228 170 invert y axis;
#X obj -24 441 pack f f;
#X obj -42 326 unpack f f;
#X obj 35 363 * -1;
#X obj 35 392 + 1;
#X text 13 414 invert y axis;
#X obj 386 326 * -1;
#X obj 370 361 + 1;
#X connect 0 0 2 0;
#X connect 0 1 21 0;
#X connect 1 0 6 0;
#X connect 1 1 29 0;
#X connect 2 0 10 0;
#X connect 2 1 11 0;
#X connect 3 0 12 0;
#X connect 3 1 13 0;
#X connect 4 0 5 4;
#X connect 4 0 6 2;
#X connect 4 1 6 3;
#X connect 4 1 5 5;
#X connect 4 2 5 6;
#X connect 4 2 6 4;
#X connect 4 3 5 7;
#X connect 4 3 6 5;
#X connect 5 0 14 0;
#X connect 6 0 15 0;
#X connect 7 0 20 0;
#X connect 9 0 8 0;
#X connect 10 0 5 0;
#X connect 11 0 5 2;
#X connect 12 0 5 1;
#X connect 13 0 5 3;
#X connect 14 0 8 0;
#X connect 15 0 8 0;
#X connect 17 0 18 0;
#X connect 18 0 4 0;
#X connect 19 0 0 0;
#X connect 19 1 25 0;
#X connect 20 0 19 0;
#X connect 20 1 1 0;
#X connect 20 2 0 0;
#X connect 21 0 22 0;
#X connect 22 0 3 0;
#X connect 24 0 9 0;
#X connect 25 0 24 0;
#X connect 25 1 26 0;
#X connect 26 0 27 0;
#X connect 27 0 24 1;
#X connect 29 0 30 0;
#X connect 30 0 6 1;
#X restore 93 228 pd draw;
#N canvas 0 0 597 569 draw 0;
#X obj 96 138 unpack 0 0;
#X obj 320 256 unpack 0 0;
#X obj 61 260 t f f;
#X obj 161 266 t f f;
#X obj 399 108 unpack 0 0 0 0;
#X obj 91 365 pack 0 0 0 0 0 0 0 0;
#X obj 324 395 pack 0 0 0 0 0 0;
#X obj 61 5 inlet;
#X obj 84 535 outlet;
#X msg 28 475 moveto \$1 \$2;
#X obj 61 300 - 0.02;
#X obj 138 336 + 0.02;
#X obj 146 300 - 0.02;
#X obj 218 301 + 0.02;
#X msg 235 442 paintoval \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8;
#X msg 256 475 penwidth 3 \, lineto \$1 \$2 \$3 \$4 \$5 \$6;
#X text 401 73 color;
#X obj 398 28 loadbang;
#X msg 398 57 0 0 0 1;
#X obj 44 87 t l l;
#X obj 63 50 route add update remove;
#X obj 167 184 * -1;
#X obj 162 215 + 1;
#X text 228 170 invert y axis;
#X obj -24 441 pack f f;
#X obj -42 326 unpack f f;
#X obj 35 363 * -1;
#X obj 35 392 + 1;
#X text 13 414 invert y axis;
#X obj 386 326 * -1;
#X obj 370 361 + 1;
#X connect 0 0 2 0;
#X connect 0 1 21 0;
#X connect 1 0 6 0;
#X connect 1 1 29 0;
#X connect 2 0 10 0;
#X connect 2 1 11 0;
#X connect 3 0 12 0;
#X connect 3 1 13 0;
#X connect 4 0 5 4;
#X connect 4 0 6 2;
#X connect 4 1 6 3;
#X connect 4 1 5 5;
#X connect 4 2 5 6;
#X connect 4 2 6 4;
#X connect 4 3 5 7;
#X connect 4 3 6 5;
#X connect 5 0 14 0;
#X connect 6 0 15 0;
#X connect 7 0 20 0;
#X connect 9 0 8 0;
#X connect 10 0 5 0;
#X connect 11 0 5 2;
#X connect 12 0 5 1;
#X connect 13 0 5 3;
#X connect 14 0 8 0;
#X connect 15 0 8 0;
#X connect 17 0 18 0;
#X connect 18 0 4 0;
#X connect 19 0 0 0;
#X connect 19 1 25 0;
#X connect 20 0 19 0;
#X connect 20 1 1 0;
#X connect 20 2 0 0;
#X connect 21 0 22 0;
#X connect 22 0 3 0;
#X connect 24 0 9 0;
#X connect 25 0 24 0;
#X connect 25 1 26 0;
#X connect 26 0 27 0;
#X connect 27 0 24 1;
#X connect 29 0 30 0;
#X connect 30 0 6 1;
#X restore 103 258 pd draw;
#N canvas 0 0 597 569 draw 0;
#X obj 96 138 unpack 0 0;
#X obj 320 256 unpack 0 0;
#X obj 61 260 t f f;
#X obj 161 266 t f f;
#X obj 399 108 unpack 0 0 0 0;
#X obj 91 365 pack 0 0 0 0 0 0 0 0;
#X obj 324 395 pack 0 0 0 0 0 0;
#X obj 61 5 inlet;
#X obj 84 535 outlet;
#X msg 28 475 moveto \$1 \$2;
#X obj 61 300 - 0.02;
#X obj 138 336 + 0.02;
#X obj 146 300 - 0.02;
#X obj 218 301 + 0.02;
#X msg 235 442 paintoval \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8;
#X msg 256 475 penwidth 3 \, lineto \$1 \$2 \$3 \$4 \$5 \$6;
#X text 401 73 color;
#X obj 398 28 loadbang;
#X msg 398 57 0 0 0 1;
#X obj 44 87 t l l;
#X obj 63 50 route add update remove;
#X obj 167 184 * -1;
#X obj 162 215 + 1;
#X text 228 170 invert y axis;
#X obj -24 441 pack f f;
#X obj -42 326 unpack f f;
#X obj 35 363 * -1;
#X obj 35 392 + 1;
#X text 13 414 invert y axis;
#X obj 386 326 * -1;
#X obj 370 361 + 1;
#X connect 0 0 2 0;
#X connect 0 1 21 0;
#X connect 1 0 6 0;
#X connect 1 1 29 0;
#X connect 2 0 10 0;
#X connect 2 1 11 0;
#X connect 3 0 12 0;
#X connect 3 1 13 0;
#X connect 4 0 5 4;
#X connect 4 0 6 2;
#X connect 4 1 6 3;
#X connect 4 1 5 5;
#X connect 4 2 5 6;
#X connect 4 2 6 4;
#X connect 4 3 5 7;
#X connect 4 3 6 5;
#X connect 5 0 14 0;
#X connect 6 0 15 0;
#X connect 7 0 20 0;
#X connect 9 0 8 0;
#X connect 10 0 5 0;
#X connect 11 0 5 2;
#X connect 12 0 5 1;
#X connect 13 0 5 3;
#X connect 14 0 8 0;
#X connect 15 0 8 0;
#X connect 17 0 18 0;
#X connect 18 0 4 0;
#X connect 19 0 0 0;
#X connect 19 1 25 0;
#X connect 20 0 19 0;
#X connect 20 1 1 0;
#X connect 20 2 0 0;
#X connect 21 0 22 0;
#X connect 22 0 3 0;
#X connect 24 0 9 0;
#X connect 25 0 24 0;
#X connect 25 1 26 0;
#X connect 26 0 27 0;
#X connect 27 0 24 1;
#X connect 29 0 30 0;
#X connect 30 0 6 1;
#X restore 113 288 pd draw;
#N canvas 0 0 597 569 draw 0;
#X obj 96 138 unpack 0 0;
#X obj 320 256 unpack 0 0;
#X obj 61 260 t f f;
#X obj 161 266 t f f;
#X obj 399 108 unpack 0 0 0 0;
#X obj 91 365 pack 0 0 0 0 0 0 0 0;
#X obj 324 395 pack 0 0 0 0 0 0;
#X obj 61 5 inlet;
#X obj 84 535 outlet;
#X msg 28 475 moveto \$1 \$2;
#X obj 61 300 - 0.02;
#X obj 138 336 + 0.02;
#X obj 146 300 - 0.02;
#X obj 218 301 + 0.02;
#X msg 235 442 paintoval \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8;
#X msg 256 475 penwidth 3 \, lineto \$1 \$2 \$3 \$4 \$5 \$6;
#X text 401 73 color;
#X obj 398 28 loadbang;
#X msg 398 57 0 0 0 1;
#X obj 44 87 t l l;
#X obj 63 50 route add update remove;
#X obj 167 184 * -1;
#X obj 162 215 + 1;
#X text 228 170 invert y axis;
#X obj -24 441 pack f f;
#X obj -42 326 unpack f f;
#X obj 35 363 * -1;
#X obj 35 392 + 1;
#X text 13 414 invert y axis;
#X obj 386 326 * -1;
#X obj 370 361 + 1;
#X connect 0 0 2 0;
#X connect 0 1 21 0;
#X connect 1 0 6 0;
#X connect 1 1 29 0;
#X connect 2 0 10 0;
#X connect 2 1 11 0;
#X connect 3 0 12 0;
#X connect 3 1 13 0;
#X connect 4 0 5 4;
#X connect 4 0 6 2;
#X connect 4 1 6 3;
#X connect 4 1 5 5;
#X connect 4 2 5 6;
#X connect 4 2 6 4;
#X connect 4 3 5 7;
#X connect 4 3 6 5;
#X connect 5 0 14 0;
#X connect 6 0 15 0;
#X connect 7 0 20 0;
#X connect 9 0 8 0;
#X connect 10 0 5 0;
#X connect 11 0 5 2;
#X connect 12 0 5 1;
#X connect 13 0 5 3;
#X connect 14 0 8 0;
#X connect 15 0 8 0;
#X connect 17 0 18 0;
#X connect 18 0 4 0;
#X connect 19 0 0 0;
#X connect 19 1 25 0;
#X connect 20 0 19 0;
#X connect 20 1 1 0;
#X connect 20 2 0 0;
#X connect 21 0 22 0;
#X connect 22 0 3 0;
#X connect 24 0 9 0;
#X connect 25 0 24 0;
#X connect 25 1 26 0;
#X connect 26 0 27 0;
#X connect 27 0 24 1;
#X connect 29 0 30 0;
#X connect 30 0 6 1;
#X restore 123 318 pd draw;
#X connect 1 0 14 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 5 0 6 0;
#X connect 5 1 7 0;
#X connect 8 0 9 0;
#X connect 8 1 10 0;
#X connect 14 0 16 0;
#X connect 14 0 17 0;
#X connect 15 0 5 0;
#X connect 15 1 2 0;
#X connect 15 2 8 0;
#X connect 16 0 15 0;
#X connect 17 0 18 0;
#X connect 17 1 19 0;
#X connect 17 2 20 0;
#X connect 17 3 21 0;
#X connect 18 0 14 0;
#X connect 19 0 14 0;
#X connect 20 0 14 0;
#X connect 21 0 14 0;
#X restore 495 382 pd example;
#X connect 7 0 17 0;
#X connect 8 0 11 0;
#X connect 8 1 12 0;
#X connect 9 0 13 0;
#X connect 9 1 14 0;
#X connect 10 0 15 0;
#X connect 10 1 16 0;
#X connect 17 0 8 0;
#X connect 17 1 9 0;
#X connect 17 2 10 0;
#X connect 17 3 18 0;
#X connect 26 0 29 1;
#X connect 27 0 29 2;
#X connect 28 0 29 0;
#X connect 29 0 30 0;
#X connect 31 0 7 0;
#X connect 32 0 30 0;