aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/my_canvas-help.pd
blob: 1ede96eded260ddc437ebc33d36e6afcdb7e41e9 (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
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
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
#N canvas 0 0 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header my_canvas 3 12 0
18 -204280 -1 0;
#X obj 0 352 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 49 245 494 344 META 0;
#X text 12 125 PLATFORM windows macosx gnulinux;
#X text 12 145 LIBRARY internal;
#X text 12 85 LICENSE SIBSD;
#X text 12 165 AUTHOR Thomas Musil;
#X text 12 185 WEBSITE;
#X text 12 245 HELP_PATCH_AUTHORS Jonathan Wilkes revised the patch
to conform to the PDDP template for Pd version 0.42.;
#X text 12 5 GENRE help;
#X text 12 105 DESCRIPTION gui-rectangle;
#X text 12 25 NAME my_canvas;
#X text 12 45 ALIAS cnv;
#X text 12 205 RELEASE_DATE 2002;
#X text 12 225 RELEASE_VERSION;
#X text 12 65 KEYWORDS control GUI nonlocal;
#X restore 500 597 pd META;
#X obj 0 430 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 459 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 546 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 80 481 428 109 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 2 [cnv] Related Objects;
#X obj 22 43 drawpolygon;
#X obj 112 43 filledpolygon;
#X obj 22 73 x_all_guis bng tgl vsl hsl hradio vradio vu cnv nbx;
#X restore 102 597 pd Related_objects;
#X text 11 23 gui-rectangle;
#X text 418 3 [my_canvas] or [cnv];
#X obj 465 20 pddp/pddplink http://wiki.puredata.info/en/cnv -text
pdpedia: cnv;
#X text 98 356 (none);
#X text 98 435 (none);
#X text 98 374 See the following subpatch for messages that change
the gui-properties of [cnv]:;
#N canvas 80 25 428 604 Changing_GUI_Properties 0;
#X obj 27 393 unpack 0 0;
#X text 12 301 get position on canvas;
#X msg 13 109 size \$1;
#X obj 13 72 nbx 3 14 8 200 0 0 empty \$0-dim empty 0 -8 0 12 -262144
-1 -1 15 256;
#X obj 13 133 s cnv_rcv;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-width empty
0 -8 0 12 -262144 -1 -1 100 256;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-height empty
0 -8 0 12 -262144 -1 -1 60 256;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 89 59 pd flash-time;
#X text 86 38 visible size;
#X text 138 61 1.width;
#X text 138 81 2.height;
#X msg 89 109 vis_size \$1 \$2;
#X obj 89 133 s cnv_rcv;
#X text 195 38 change send name;
#X text 310 38 change receive name;
#X obj 196 134 s cnv_rcv;
#X obj 310 134 s cnv_rcv;
#X msg 196 59 send cnv5a_snd;
#X msg 310 59 receive cnv1a_rcv;
#X obj 320 109 s cnv1a_rcv;
#X msg 320 85 receive cnv_rcv;
#X text 132 173 label position;
#X text 274 173 font properties;
#X text 13 173 label;
#X msg 13 194 label new-label;
#X msg 134 245 label_pos \$1 \$2;
#X msg 276 245 label_font \$1 \$2;
#X text 325 197 1.font(0-2);
#X text 325 218 2.height;
#X text 183 196 1.x-offset;
#X text 183 217 2.y-offset;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-xlabel empty
0 -8 0 12 -262144 -1 -1 20 256;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-ylabel empty
0 -8 0 12 -262144 -1 -1 12 256;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 134 195 pd flash-time;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 0 2 0 0 \$0-dummy \$0-font empty 0 -8 0 12
-262144 -1 -1 0 256;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-font-size empty
0 -8 0 12 -262144 -1 -1 14 256;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 276 195 pd flash-time;
#X text 164 461 delta;
#X text 12 461 position;
#X msg 13 558 pos \$1 \$2;
#X msg 165 558 delta \$1 \$2;
#X text 165 301 preset-colors;
#X text 264 301 RGB-colors;
#N canvas 364 205 169 292 flash-time 0;
#X obj 69 196 t b a;
#X obj 33 262 outlet;
#X obj 103 104 nbx 3 14 0 29 0 0 \$0-dummy \$0-bg empty 0 -8 0 12 -262144
-1 -1 10 256;
#X obj 103 124 nbx 3 14 0 29 0 0 \$0-dummy \$0-label empty 0 -8 0 12
-262144 -1 -1 12 256;
#X obj 33 237 pack 0 0;
#X connect 0 0 4 0;
#X connect 0 1 4 1;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 165 323 pd flash-time;
#N canvas 0 0 306 317 flash-time 0;
#X obj 96 521 outlet;
#X obj 162 230 t b f;
#X obj 96 268 +;
#X obj 96 293 t b f;
#X obj 96 324 +;
#X obj 19 208 * -65536;
#X obj 96 208 * -256;
#X obj 162 208 * -1;
#X obj 96 355 - 1;
#X obj 96 385 list prepend 0;
#X obj 115 456 t b a;
#X obj 104 124 vradio 15 1 0 2 empty empty empty 0 -8 0 10 -262144
-1 -1 0;
#X text 120 120 1.bg;
#X obj 103 105 nbx 3 14 0 255 0 0 \$0-dummy \$0-r empty 0 -8 0 10 -262144
-258113 -1 0 256;
#X obj 133 105 nbx 3 14 0 255 0 0 \$0-dummy \$0-g empty 0 -8 0 10 -262144
-13381 -1 0 256;
#X obj 163 105 nbx 3 14 0 255 0 0 \$0-dummy \$0-b empty 0 -8 0 10 -262144
-4160 -1 0 256;
#X text 120 137 2.label;
#X obj 96 410 route 0 1;
#X obj 96 497 pack 0 0;
#X connect 1 0 2 0;
#X connect 1 1 2 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 6 0 2 0;
#X connect 7 0 1 0;
#X connect 8 0 9 0;
#X connect 9 0 17 0;
#X connect 10 0 18 0;
#X connect 10 1 18 1;
#X connect 11 0 9 1;
#X connect 13 0 5 0;
#X connect 14 0 6 0;
#X connect 15 0 7 0;
#X connect 17 0 18 0;
#X connect 17 1 10 0;
#X connect 18 0 0 0;
#X coords 0 -1 1 1 102 58 2 100 100;
#X restore 265 323 pd flash-time;
#X obj 165 534 list;
#X obj 165 483 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 214 325 1.bg;
#X text 61 482 1.x-position;
#X text 61 504 2.y-position;
#X text 244 482 1.x-delta;
#X text 244 504 2.y-delta;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-xpos empty 0
-8 0 12 -262144 -1 -1 310 256;
#X obj 103 124 nbx 3 14 -1e+37 1e+37 0 0 \$0-dummy \$0-ypos empty 0
-8 0 12 -262144 -1 -1 500 256;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 13 483 pd flash-time;
#N canvas 366 206 174 259 flash-time 0;
#X obj 68 180 pack;
#X obj 103 149 t b a;
#X obj 68 205 outlet;
#X obj 103 104 nbx 3 14 -20 20 0 0 \$0-dummy \$0-xdelta empty 0 -8
0 12 -262144 -1 -1 0 256;
#X obj 103 124 nbx 3 14 -20 20 0 0 \$0-dummy \$0-ydelta empty 0 -8
0 12 -262144 -1 -1 0 256;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 0 1;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X coords 0 -1 1 1 48 42 2 100 100;
#X restore 194 483 pd flash-time;
#X msg 27 322 get_pos;
#X obj 27 347 s cnv_rcv;
#X obj 165 433 s cnv_rcv;
#X obj 13 583 s cnv_rcv;
#X obj 165 583 s cnv_rcv;
#X obj 276 270 s cnv_rcv;
#X obj 134 270 s cnv_rcv;
#X obj 13 270 s cnv_rcv;
#X text 214 345 2.label;
#N canvas 375 166 157 260 init 0;
#X obj 16 11 loadbang;
#X obj 16 42 f \$0;
#X msg 16 72 \; \$1-width 100 \; \$1-height 60 \; \$1-xpos 310 \; \$1-ypos
500 \; \$1-xlabel 20 \; \$1-ylabel 12 \; \$1-dim 15 \; \$1-font 0 \;
\$1-font-size 14 \; \$1-bg 10 \; \$1-label 12;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 265 408 pd init;
#X obj 310 500 cnv 15 100 60 cnv_snd cnv_rcv my_canvas 20 12 0 14 -233017
-33289 0;
#X obj 27 370 r cnv_snd;
#X msg 165 408 color \$1 \$2;
#X obj 27 421 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 12
-262144 -1 -1 0 256;
#X obj 90 421 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 12
-262144 -1 -1 0 256;
#X msg 25 245 label my_canvas;
#X msg 204 109 send cnv_snd;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 2 [cnv] Changing Properties through Messages;
#X text 12 51 size;
#X text 12 38 selectable;
#X text 14 417 x;
#X text 76 418 y;
#X connect 0 0 61 0;
#X connect 0 1 62 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 5 0 9 0;
#X connect 9 0 10 0;
#X connect 15 0 13 0;
#X connect 16 0 14 0;
#X connect 18 0 17 0;
#X connect 22 0 55 0;
#X connect 23 0 54 0;
#X connect 24 0 53 0;
#X connect 29 0 23 0;
#X connect 30 0 24 0;
#X connect 33 0 51 0;
#X connect 34 0 52 0;
#X connect 37 0 60 0;
#X connect 38 0 60 0;
#X connect 39 0 34 0;
#X connect 40 0 39 0;
#X connect 46 0 33 0;
#X connect 47 0 39 1;
#X connect 48 0 49 0;
#X connect 59 0 0 0;
#X connect 60 0 50 0;
#X connect 63 0 55 0;
#X connect 64 0 13 0;
#X restore 170 407 pd Changing_GUI_Properties;
#N canvas 103 143 428 369 canvas-creation-arguments 0;
#X msg 23 43 canvas: cnv selectableSize xSize ySize sendName recieveName
Label labelXOff labelYOff Font# fontSize bgColor lblColor 0;
#X text 20 80 Canvas can be called with 13 creation arguments. These
are not "optional" - all parameters must be filled or the canvas will
not instantiate correctly.;
#X text 20 125 The function of the final "0" is unknown to me (it is
found in the textual entry for a canvas object in a .pd file) but can
be safely left off without ill effects.;
#X text 20 167 For example \, click the msg-box to dynamically create
a cnv:;
#X obj 23 237 s pd-canvas-creation-arguments;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 8 2 [cnv] Creation Arguments and Dynamic Patching;
#X msg 23 195 obj 110 260 cnv 15 200 100 myCanvas myCanvasR Alcyone
75 12 2 14 -261441 12;
#X connect 7 0 4 0;
#X restore 171 518 pd canvas-creation-arguments;
#X text 168 463 - creating a [cnv] without any arguments will set default
values for all gui-properties. See the subpatch below to learn how
to dynamically instantiate a [cnv] object with custom properties:;
#X floatatom 338 318 4 0 0 0 - - -;
#X floatatom 382 318 4 0 0 0 - - -;
#X text 349 334 x;
#X text 393 334 y;
#X obj 435 177 metro 100;
#X obj 435 157 tgl 15 1 empty empty empty 20 8 0 10 -262144 -1 -1 1
1;
#X obj 338 270 r from_K1;
#X floatatom 435 318 4 0 0 0 - - -;
#X floatatom 479 318 4 0 0 0 - - -;
#X text 445 334 x;
#X text 490 334 y;
#X obj 435 270 r from_K2;
#N canvas 7 299 313 315 room 0;
#X obj 6 7 cnv 15 300 300 empty empty type...ctrl+e 100 140 2 17 -33289
-24198 0;
#X obj 26 27 cnv 1 1 264 empty empty move_K1_and_K2 65 160 2 17 -166441
-24198 0;
#X obj 287 30 cnv 1 1 261 empty empty empty 20 12 2 20 -99865 -66577
0;
#X obj 27 27 cnv 1 260 1 empty empty empty 20 12 2 20 -166441 -66577
0;
#X obj 28 291 cnv 1 260 1 empty empty empty 20 12 2 20 -99865 -66577
0;
#X obj 38 40 cnv 25 25 25 from_K1 to_K K1 1 13 2 14 -261681 -123526
0;
#X obj 251 255 cnv 25 25 25 from_K2 to_K K2 1 13 2 14 -225280 -1109
0;
#X restore 97 171 pd room;
#X obj 338 294 unpack;
#X obj 435 294 unpack;
#X text 17 147 Click the subwindow below to use a cnv as a control
surface:;
#X obj 20 61 cnv 15 100 60 empty empty label 20 12 0 14 -233017 -66577
0;
#X text 128 58 Colored rectangle with a label. Right-click in the top-left
corner of the gray rectangle to the left and click "properties" to
change the object's appearance.;
#X text 127 110 The blue rectangle at the top of each help patch is
a [cnv] \, as are the horizontal dividers below.;
#X text 98 463 13;
#X text 257 564 IEM KUG;
#X text 232 576 graz \, austria 2002;
#X msg 435 199 get_pos;
#X obj 435 221 send to_K;
#X text 94 197 To get a cnv position \, send it a "get_pos" message
->;
#X obj 4 597 pddp/pddplink pddp/help.pd -text help;
#N canvas 404 60 483 507 (subpatch) 0;
#X msg 144 296 bang;
#X msg 144 321 1 30;
#X obj 144 409 line~;
#X obj 202 301 del 30;
#X obj 61 433 *~;
#X obj 62 485 dac~;
#X obj 62 359 osc~ 880;
#X obj 62 403 clip~ -1 1;
#X obj 35 220 list split 1;
#X obj 15 311 list;
#X obj 35 244 t b a;
#X obj 62 334 mtof;
#X obj 62 457 *~ 0.07;
#X obj 207 128 metro 50;
#X obj 207 202 s \$0-cnv;
#X obj 207 106 0;
#X obj 207 84 del 3000;
#X obj 310 170 f;
#X obj 342 170 + 1;
#X obj 35 12 r \$0-bng;
#X obj 106 14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 310 197 div 13;
#X msg 310 314 color \$1 0;
#X obj 242 105 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 279 86 sel 0;
#X obj 279 107 -1;
#X obj 279 130 t a;
#X obj 207 155 f -1;
#X msg 207 180 delta 0 \$1;
#X obj 35 44 spigot 1;
#X obj 35 76 t a b;
#X obj 96 55 0;
#X obj 130 55 1;
#X obj 310 220 sel 3 4;
#X msg 371 246 5 \$1;
#X obj 371 268 -;
#X msg 310 246 1;
#X obj 340 245 f 2;
#X obj 383 170 sel 1;
#X msg 377 198 0;
#X msg 411 199 2;
#X obj 62 311 + 68;
#X obj 15 284 del 170;
#X text 167 14 IT'S A SECRET TO EVERYBODY.;
#X obj 100 100 cnv 15 15 15 empty empty empty 20 12 0 14 -262144 -66577
0;
#X obj 56 106 loadbang;
#X obj 35 174 list;
#X obj 114 217 s \$0-randomize;
#X obj 71 149 r \$0-new-secret;
#X msg 56 128 7 1 0 8 12 16;
#X obj 35 197 list prepend 11 10;
#X obj 62 381 *~ 1.4;
#X msg 202 323 0 400;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 4 1;
#X connect 3 0 52 0;
#X connect 4 0 12 0;
#X connect 6 0 51 0;
#X connect 7 0 4 0;
#X connect 8 0 10 0;
#X connect 8 1 9 1;
#X connect 9 0 8 0;
#X connect 10 0 42 0;
#X connect 10 1 0 0;
#X connect 10 1 41 0;
#X connect 11 0 6 0;
#X connect 12 0 5 0;
#X connect 12 0 5 1;
#X connect 13 0 17 0;
#X connect 13 0 27 0;
#X connect 15 0 13 0;
#X connect 15 0 17 1;
#X connect 16 0 15 0;
#X connect 16 0 23 0;
#X connect 16 0 32 0;
#X connect 17 0 18 0;
#X connect 17 0 21 0;
#X connect 18 0 17 1;
#X connect 19 0 29 0;
#X connect 20 0 29 0;
#X connect 21 0 33 0;
#X connect 22 0 14 0;
#X connect 23 0 24 0;
#X connect 23 0 38 0;
#X connect 24 0 25 0;
#X connect 24 1 26 0;
#X connect 25 0 26 0;
#X connect 26 0 27 1;
#X connect 27 0 28 0;
#X connect 28 0 14 0;
#X connect 29 0 30 0;
#X connect 30 0 13 0;
#X connect 30 0 16 0;
#X connect 30 0 46 0;
#X connect 30 1 31 0;
#X connect 31 0 29 1;
#X connect 32 0 29 1;
#X connect 33 0 36 0;
#X connect 33 1 37 0;
#X connect 33 2 34 0;
#X connect 34 0 35 0;
#X connect 35 0 22 0;
#X connect 36 0 22 0;
#X connect 37 0 22 0;
#X connect 38 0 39 0;
#X connect 38 1 40 0;
#X connect 39 0 37 1;
#X connect 40 0 37 1;
#X connect 41 0 11 0;
#X connect 42 0 9 0;
#X connect 45 0 49 0;
#X connect 46 0 47 0;
#X connect 46 0 50 0;
#X connect 48 0 46 1;
#X connect 49 0 46 1;
#X connect 50 0 8 0;
#X connect 51 0 7 0;
#X connect 52 0 2 0;
#X coords 0 -1 1 1 15 15 2 100 100;
#X restore 11 336 pd;
#X obj 219 553 bng 14 250 50 0 \$0-bng empty c 4 7 0 12 -262144 -262144
-1;
#X text 66 275 You can also use a white [cnv] to;
#X text 66 290 conceal parts of a patch (use;
#X text 66 305 with care);
#N canvas 92 49 450 511 let's-play-pong! 0;
#X obj 138 143 cnv 15 100 25 empty \$0-score Score:3 5 12 0 14 -233017
-66577 0;
#X obj 14 346 cnv 15 5 60 \$0-ps \$0-pr empty 20 12 0 14 -1 -66577
0;
#X obj 257 19 key;
#X obj 257 140 s \$0-pr;
#X msg 257 118 delta 0 \$1;
#X msg 257 91 -5;
#X obj 68 42 tgl 15 0 empty empty Go! 17 7 0 10 -4034 -1 -1 0 1;
#X obj 337 165 r \$0-ps;
#X obj 337 187 unpack;
#X obj 370 214 v py;
#X obj 337 214 v px;
#X obj 68 121 t b b b;
#X obj 68 15 r die;
#X msg 107 165 \; \$1-br get_pos \; \$1-pr get_pos \;;
#X obj 425 6 cnv 5 5 500 empty empty empty 20 12 0 14 -1 -66577 0;
#X obj 87 237 expr if(bx<=20 \, if (py<=by && py+60>=by \, 0 \, 1)
\, -1) \; if (bx>=415 \, 2 \, -1) \; if (by<=0 \, 4 \, if (by>=500
\, 5 \, -1));
#X obj 257 214 v bx;
#X obj 321 362 cnv 10 10 10 \$0-bs \$0-br empty 20 12 0 14 -1 -66577
0;
#X obj 257 165 r \$0-bs;
#X obj 257 187 unpack;
#X obj 290 214 v by;
#X obj 68 438 pack;
#X msg 225 337 1;
#X msg 261 337 -1;
#X obj 68 482 s \$0-br;
#X msg 68 460 delta \$1 \$2;
#X obj 87 309 sel 0 1 2 3 4 5;
#X obj 156 388 s die;
#X msg 156 336 0;
#X msg 87 336 1;
#X msg 192 336 -1;
#N canvas 574 158 450 300 drift 0;
#X obj 55 40 inlet;
#X obj 136 40 inlet;
#X obj 205 45 inlet;
#X obj 55 117 f;
#X obj 93 142 mod;
#X obj 55 164 sel 1;
#X obj 55 231 f 1;
#X obj 55 266 outlet;
#X msg 90 231 0;
#X obj 136 61 b;
#X obj 136 88 random 8;
#X obj 136 115 sel 0;
#X msg 130 137 1e+37;
#X obj 205 155 t a;
#X floatatom 13 147 5 0 0 0 - - -;
#X obj 96 67 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 93 118 + 1;
#X connect 0 0 3 0;
#X connect 1 0 9 0;
#X connect 1 0 15 0;
#X connect 2 0 13 0;
#X connect 3 0 5 0;
#X connect 3 0 14 0;
#X connect 3 0 16 0;
#X connect 4 0 3 1;
#X connect 5 0 6 0;
#X connect 5 1 8 0;
#X connect 6 0 7 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 11 1 4 1;
#X connect 12 0 4 1;
#X connect 13 0 6 1;
#X connect 16 0 4 0;
#X restore 95 409 pd drift;
#X obj 68 383 t a b;
#X obj 68 361 f 1;
#X msg 294 91 5;
#X obj 107 143 f \$0;
#X msg 134 21 10 SLOW;
#X msg 134 72 2 WTF;
#X msg 134 55 4 FAST;
#X msg 134 38 7 MEDIUM;
#X obj 257 43 spigot;
#X obj 77 65 s \$0-k;
#X obj 310 10 r \$0-k;
#N canvas 0 0 450 300 score 0;
#X obj 84 59 inlet;
#X obj 84 113 f;
#X obj 120 113 + 1;
#X obj 84 86 b;
#X msg 84 152 label Score:\$1;
#X obj 84 179 s \$0-score;
#X obj 165 24 r die;
#X obj 165 51 sel 0;
#X obj 165 78 0;
#X obj 210 92 loadbang;
#X msg 210 114 0;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 1 1;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 1 1;
#X connect 9 0 10 0;
#X connect 10 0 4 0;
#X restore 108 361 pd score;
#X text 147 95 a = up \; z = down \;;
#X obj 68 89 metro 10;
#N canvas 0 0 450 300 once 0;
#X obj 26 21 inlet;
#X obj 26 102 outlet;
#X obj 26 75 t a b;
#X msg 89 48 0;
#X obj 26 48 spigot 1;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 2 1 3 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X restore 310 32 pd once;
#X obj 257 67 select 97 122 32;
#X msg 336 93 1;
#X obj 336 117 s die;
#X text 165 407 0 - richochet off left wall \; 1 - die at left wall
\; 2 - richochet off right wall \; 3 - die at right wall (not yet)
\; 4 - richochet off top \; 5 - richochet of bottom \;;
#X obj 87 289 t a;
#N canvas 528 152 450 386 sfx 0;
#X obj 21 169 noise~;
#X obj 22 201 *~;
#X obj 102 176 vline~;
#X obj 23 249 +~;
#X obj 174 146 delread~ \$0-b;
#X obj 36 278 delwrite~ \$0-b 500;
#X obj 22 302 *~ 0.1;
#X obj 23 330 dac~;
#X obj 135 120 del;
#X msg 102 120 1;
#X msg 135 145 0;
#X obj 174 120 * 10;
#X obj 175 176 *~ 0.8;
#X msg 174 81 2;
#X obj 117 9 inlet;
#X obj 117 31 sel -1 1 3;
#X obj 174 54 change;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 5 0;
#X connect 3 0 6 0;
#X connect 4 0 12 0;
#X connect 6 0 7 0;
#X connect 6 0 7 1;
#X connect 8 0 10 0;
#X connect 9 0 2 0;
#X connect 10 0 2 0;
#X connect 11 0 4 0;
#X connect 12 0 3 1;
#X connect 13 0 9 0;
#X connect 13 0 8 0;
#X connect 13 0 11 0;
#X connect 14 0 15 0;
#X connect 15 3 16 0;
#X connect 16 0 13 0;
#X restore 211 306 pd sfx;
#X connect 2 0 40 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 6 0 41 0;
#X connect 6 0 45 0;
#X connect 7 0 8 0;
#X connect 8 0 10 0;
#X connect 8 1 9 0;
#X connect 11 0 33 0;
#X connect 11 1 15 0;
#X connect 11 2 35 0;
#X connect 12 0 6 0;
#X connect 15 0 51 0;
#X connect 15 1 51 0;
#X connect 15 2 51 0;
#X connect 18 0 19 0;
#X connect 19 0 16 0;
#X connect 19 1 20 0;
#X connect 21 0 25 0;
#X connect 22 0 31 2;
#X connect 23 0 31 2;
#X connect 25 0 24 0;
#X connect 26 0 29 0;
#X connect 26 1 28 0;
#X connect 26 2 30 0;
#X connect 26 3 28 0;
#X connect 26 4 22 0;
#X connect 26 5 23 0;
#X connect 28 0 27 0;
#X connect 29 0 31 1;
#X connect 29 0 33 1;
#X connect 29 0 43 0;
#X connect 30 0 31 1;
#X connect 30 0 33 1;
#X connect 31 0 21 1;
#X connect 32 0 21 0;
#X connect 32 1 31 0;
#X connect 33 0 32 0;
#X connect 34 0 4 0;
#X connect 35 0 13 0;
#X connect 36 0 45 1;
#X connect 37 0 45 1;
#X connect 38 0 45 1;
#X connect 39 0 45 1;
#X connect 40 0 47 0;
#X connect 42 0 46 0;
#X connect 45 0 11 0;
#X connect 46 0 40 1;
#X connect 47 0 5 0;
#X connect 47 1 34 0;
#X connect 47 2 48 0;
#X connect 48 0 49 0;
#X connect 51 0 26 0;
#X connect 51 0 52 0;
#X restore 136 312 pd let's-play-pong!;
#X obj 60 272 cnv 15 210 65 empty \$0-cnv empty 20 12 0 14 -262144
-262144 0;
#X text 235 551 musil@iem.kug.ac.at;
#X connect 21 0 39 0;
#X connect 22 0 21 0;
#X connect 23 0 30 0;
#X connect 28 0 31 0;
#X connect 30 0 17 0;
#X connect 30 1 18 0;
#X connect 31 0 24 0;
#X connect 31 1 25 0;
#X connect 39 0 40 0;