aboutsummaryrefslogtreecommitdiff
path: root/Gem/pix_video-help.pd
blob: e21d2916193a0eb03a6f980530f4b998f332c206 (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
#N canvas 235 64 871 639 10;
#X declare -lib Gem;
#X text 671 9 GEM object;
#X obj 8 46 cnv 15 540 100 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 559 47 cnv 15 280 500 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 71 21 Class: pix object (pix source);
#X text 561 33 Example:;
#X text 50 2 Synopsis: [pix_video];
#X text 29 47 Description: open a camera and get input;
#X obj 9 182 cnv 15 540 365 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 9 149 cnv 15 540 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 148 Arguments:;
#X text 17 486 Outlet 1: gemlist;
#X text 17 198 Inlet 1: gemlist;
#X text 16 308 Inlet 1: colorspace "RGBA|YUV|Grey": decodes the current
film into the specified colorspace.;
#X text 64 159 none;
#X text 33 184 Inlet:;
#X text 33 472 Outlet:;
#X obj 717 460 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 156 71 set create;
#X obj 67 41 route create;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 6 0;
#X connect 7 1 5 0;
#X restore 722 499 pd gemwin;
#X msg 722 477 create;
#X text 718 456 Create window:;
#X obj 563 86 cnv 15 230 280 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 567 526 rectangle 4 3;
#X obj 567 502 pix_texture;
#X text 17 216 Inlet 1: device <spec>: the number or file path to the
input device;
#X text 16 339 Inlet 1: dimen <number> <number>: set various dimensions
for the image (does not work on all capture devices);
#X text 15 371 Inlet 1: enumerate: list all devices to the console
;
#X text 17 245 Inlet 1: driver <number>: switch between different drivers
\, e.g. v4l \, ieee1394 \, etc.;
#X text 16 276 Inlet 1: driver <symbol>: switch between different drivers
\, e.g. v4l \, v4l2 \, dv...;
#X text 13 66 [pix_video] opens a wide array of cameras \, USB to FireWire
to capture cards \, as long as the camera is supported by your operating
system.;
#X obj 567 58 gemhead;
#X msg 596 124 dimen 64 64;
#X msg 586 99 dimen 256 128;
#X msg 635 261 enumerate;
#X msg 641 283 dialog;
#X msg 604 153 colorspace RGBA;
#X msg 609 211 device 0;
#X msg 642 312 driver dv;
#N canvas 516 113 572 565 properties 0;
#X msg 41 203 enumProps;
#X obj 31 21 cnv 15 400 80 empty empty readProperties 20 12 0 14 -233017
-66577 0;
#X obj 39 47 hradio 15 1 0 1 \$0-propreadId \$0-propreadId empty 0
-8 0 10 -262144 -1 -1 0;
#X obj 40 70 cnv 15 260 20 empty \$0-propreadName <none> 10 9 0 14
-203904 -66577 0;
#N canvas 186 49 450 537 PropertyLogic 0;
#N canvas 586 84 774 460 id2property 0;
#X obj 353 106 r \$0-info;
#X obj 353 130 route proplist;
#X obj 353 152 route read numread;
#X obj 405 176 t b f;
#X obj 353 174 list;
#X obj 353 219 list prepend;
#X msg 353 196 \$1;
#X obj 353 239 t l l;
#X obj 95 197 list prepend;
#X obj 525 176 t b f;
#X obj 473 174 list;
#X obj 473 219 list prepend;
#X msg 473 196 \$1;
#X obj 473 239 t l l;
#X obj 473 152 route write numwrite;
#X obj 95 69 inlet readID;
#X obj 225 70 inlet writeID;
#X obj 180 378 outlet readName;
#X obj 310 356 outlet writeName;
#X obj 95 176 t b f;
#X obj 95 219 list split;
#X obj 180 316 symbol;
#X msg 180 291 symbol \$1;
#X obj 225 197 list prepend;
#X obj 225 176 t b f;
#X obj 225 219 list split;
#X obj 310 316 symbol;
#X msg 310 291 symbol \$1;
#X obj 95 91 route float;
#X obj 225 92 route float;
#X msg 432 333 number \$1;
#X msg 552 333 number \$1;
#X obj 432 353 s \$0-propreadId;
#X obj 552 353 s \$0-propwriteId;
#X obj 602 254 t f f;
#X msg 602 232 0;
#X obj 602 211 loadbang;
#X obj 123 258 route bang;
#X obj 253 258 route bang;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 3 0;
#X connect 2 2 14 0;
#X connect 3 0 5 1;
#X connect 3 1 30 0;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 7 0 8 1;
#X connect 7 1 5 1;
#X connect 8 0 20 0;
#X connect 9 0 11 1;
#X connect 9 1 31 0;
#X connect 10 0 12 0;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 23 1;
#X connect 13 1 11 1;
#X connect 14 0 10 0;
#X connect 14 1 9 0;
#X connect 15 0 28 0;
#X connect 16 0 29 0;
#X connect 19 0 8 0;
#X connect 19 1 20 1;
#X connect 20 1 37 0;
#X connect 21 0 17 0;
#X connect 22 0 21 0;
#X connect 23 0 25 0;
#X connect 24 0 23 0;
#X connect 24 1 25 1;
#X connect 25 1 38 0;
#X connect 26 0 18 0;
#X connect 27 0 26 0;
#X connect 28 0 19 0;
#X connect 29 0 24 0;
#X connect 30 0 32 0;
#X connect 31 0 33 0;
#X connect 34 0 30 0;
#X connect 34 1 31 0;
#X connect 35 0 34 0;
#X connect 36 0 35 0;
#X connect 37 1 22 0;
#X connect 38 1 27 0;
#X restore 188 192 pd id2property;
#X obj 320 407 list prepend set;
#X obj 320 429 list trim;
#X obj 320 451 t b a;
#N canvas 438 137 450 300 getProp 0;
#X obj 44 177 s \$0-propreadName;
#X msg 44 156 label \$1;
#X msg 165 156 get \$1;
#X obj 44 81 inlet;
#X obj 165 178 outlet;
#X obj 290 57 r \$0-info;
#X obj 290 79 route prop;
#N canvas 3 45 450 300 sroute 0;
#X obj 73 12 inlet;
#X obj 312 9 inlet;
#X obj 73 113 outlet;
#X obj 73 34 list split 1;
#X obj 73 56 select s;
#X obj 73 78 list prepend;
#X connect 0 0 3 0;
#X connect 1 0 4 1;
#X connect 3 0 4 0;
#X connect 3 1 5 1;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X restore 290 113 pd sroute;
#X obj 44 123 t s s s;
#X msg 290 226 label \$1;
#X obj 290 247 s \$0-propreadValue;
#X obj 290 135 route float;
#X obj 290 157 makefilename %g;
#X obj 106 29 loadbang;
#X obj 106 51 t b b;
#X msg 106 73 symbol <none>;
#X msg 196 74 symbol --;
#X obj 353 181 symbol;
#X connect 1 0 0 0;
#X connect 2 0 4 0;
#X connect 3 0 8 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 11 0;
#X connect 8 0 1 0;
#X connect 8 1 2 0;
#X connect 8 2 7 1;
#X connect 9 0 10 0;
#X connect 11 0 12 0;
#X connect 11 1 17 0;
#X connect 12 0 9 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 14 1 16 0;
#X connect 15 0 1 0;
#X connect 16 0 9 0;
#X connect 17 0 9 0;
#X restore 320 318 pd getProp;
#X obj 172 158 r \$0-propreadId;
#X obj 282 158 r \$0-propwriteId;
#N canvas 432 95 450 467 setProp 0;
#X msg 44 156 label \$1;
#X msg 165 156 get \$1;
#X obj 44 31 inlet;
#X obj 218 324 outlet;
#X obj 290 57 r \$0-info;
#X obj 290 79 route prop;
#N canvas 4 50 450 300 sroute 0;
#X obj 73 12 inlet;
#X obj 312 9 inlet;
#X obj 73 113 outlet;
#X obj 73 34 list split 1;
#X obj 73 56 select s;
#X obj 73 78 list prepend;
#X connect 0 0 3 0;
#X connect 1 0 4 1;
#X connect 3 0 4 0;
#X connect 3 1 5 1;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X restore 290 113 pd sroute;
#X obj 290 135 route float;
#X obj 44 177 s \$0-propwriteName;
#X obj 290 247 s \$0-propwriteValue;
#X msg 290 226 set \$1;
#X obj 50 276 r \$0-propwriteValue;
#X obj 50 298 route float;
#X obj 50 320 pack 0 s;
#X msg 50 342 set \$2 \$1;
#X obj 44 73 t s s s s;
#X obj 127 27 loadbang;
#X obj 127 49 t b b;
#X msg 127 71 symbol <none>;
#X connect 0 0 8 0;
#X connect 1 0 3 0;
#X connect 2 0 15 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 10 0 9 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 3 0;
#X connect 15 0 0 0;
#X connect 15 1 1 0;
#X connect 15 2 6 1;
#X connect 15 3 13 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 0 0;
#X restore 199 315 pd setProp;
#X obj 199 404 list prepend set;
#X obj 199 426 list trim;
#X obj 199 448 t b a;
#X obj 199 361 list prepend get;
#X obj 199 339 route get set;
#X obj 309 361 list prepend set;
#X obj 199 477 s \$0-propset;
#X obj 320 480 s \$0-propget;
#X obj 54 38 inlet;
#X obj 54 66 s \$0-ctl;
#X connect 0 0 4 0;
#X connect 0 1 7 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 15 0;
#X connect 3 1 15 0;
#X connect 4 0 12 0;
#X connect 5 0 0 0;
#X connect 6 0 0 1;
#X connect 7 0 12 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 14 0;
#X connect 10 1 14 0;
#X connect 11 0 1 0;
#X connect 12 0 11 0;
#X connect 12 1 13 0;
#X connect 13 0 8 0;
#X connect 16 0 17 0;
#X restore 41 526 pd PropertyLogic;
#X obj 310 70 cnv 15 100 20 empty \$0-propreadValue -- 10 9 0 14 -261234
-66577 0;
#X obj 31 111 cnv 15 400 80 empty empty writeProperties 20 12 0 14
-233017 -66577 0;
#X obj 39 137 hradio 15 1 0 1 \$0-propwriteId \$0-propwriteId empty
0 -8 0 10 -262144 -1 -1 0;
#X obj 40 160 cnv 15 260 20 empty \$0-propwriteName <none> 10 9 0 14
-203904 -66577 0;
#X obj 311 160 nbx 5 20 -1e+37 1e+37 0 0 \$0-propwriteValue \$0-propwriteValue
empty 0 -8 0 14 -204786 -1 -1 0 256;
#X msg 66 315 get bus_info;
#X msg 83 392 set quality 5;
#X obj 66 294 r \$0-propget;
#X obj 83 372 r \$0-propset;
#X msg 87 340 get Hue Saturation;
#X text 208 340 you can query several properties at once;
#X text 146 295 query a (readable) property via a message "get <propname>"
;
#X text 161 372 set a (writable) property via a message "set <prop>
<value>";
#X text 70 224 this will return 2 lists of readable and writable properties
through the "info" outlet of [pix_video].;
#X text 72 257 NOTE that propertynames are always single symbols that
might contain spaces (and other weird characters);
#X text 103 203 INIT: query names of all available properties;
#X text 83 423 ATOMIC setting of multiple properties;
#X msg 99 441 clearProps;
#X msg 99 503 applyProps;
#X msg 99 481 setProps Hue 10;
#X msg 99 461 setProps Contrast 40;
#X text 247 443 clear the current property list;
#X text 247 461 add values to the property list (don't apply yet);
#X text 247 479 add values to the property list (don't apply yet);
#X text 247 499 apply current property list;
#X connect 0 0 4 0;
#X connect 10 0 4 0;
#X connect 11 0 4 0;
#X connect 12 0 10 0;
#X connect 13 0 11 0;
#X connect 14 0 4 0;
#X connect 22 0 4 0;
#X connect 23 0 4 0;
#X connect 24 0 4 0;
#X connect 25 0 4 0;
#X restore 396 430 pd properties;
#X obj 618 459 t a a;
#X obj 618 480 print info;
#X obj 655 459 s \$0-info;
#X obj 586 376 t a a;
#N canvas 166 121 570 420 device 0;
#X obj 204 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
-1 0;
#X obj 60 61 hradio 18 1 0 8 empty empty empty 0 -6 0 8 -225271 -1
-1 0;
#X obj 60 13 inlet;
#X msg 160 254 label \$1;
#X obj 160 232 makefilename %d;
#X obj 60 108 int;
#X obj 60 337 outlet;
#X obj 160 277 send \$0-open-canvas;
#X msg 130 170 device \$1;
#X obj 60 130 t b f;
#X obj 130 192 t a a;
#X obj 130 298 list prepend set;
#X obj 130 320 list trim;
#X obj 160 211 route device;
#X obj 130 116 loadbang;
#X msg 130 138 0;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 7 0;
#X connect 4 0 3 0;
#X connect 5 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 6 0;
#X connect 9 1 8 0;
#X connect 10 0 11 0;
#X connect 10 1 13 0;
#X connect 11 0 12 0;
#X connect 12 0 6 0;
#X connect 13 0 4 0;
#X connect 14 0 15 0;
#X connect 15 0 8 0;
#X coords 0 -1 1 1 165 20 1 60 60;
#X restore 609 187 pd device;
#X obj 36 565 cnv 15 400 30 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 48 565 NOTE: usually you cannot use a camera more than once
at the same time!;
#X obj 563 413 cnv 15 80 30 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 567 418 pix_video;
#X obj 657 393 print videoctl;
#X obj 647 346 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 665 345 driver \$1;
#X text 686 286 (if available);
#X text 16 388 Inlet 1: dialog: open a dialog to configure the input
device (depending on driver / Operating System);
#X text 18 501 Outlet 2: info (for enumerating devices \, querying
properties \, ...);
#X text 15 423 Inlet 1: enumProps \, get \, set \, clearProps \, setProps
\, applyProps: interact with driver/device properties;
#X obj 657 374 r \$0-ctl;
#X text 54 600 you can use [pix_buffer] to distribute the same pix
to different parts of your render-chain;
#X msg 625 235 device /dev/fw1;
#N canvas 697 49 586 667 backend 0;
#X obj 104 122 bng 15 250 50 0 \$0-backendinfo \$0-backendinfo <--show_info_on_drivers
17 8 0 10 -262144 -1 -1;
#N canvas 15 49 450 300 \$0-backendinfo 0;
#X restore 184 207 pd \$0-backendinfo;
#X obj 184 240 r \$0-backendinfo;
#X msg 223 331 clear;
#X obj 223 351 s pd-\$0-backendinfo;
#X obj 203 424 s \$0-ctl;
#X msg 203 405 driver;
#N canvas 4 49 685 300 fake 0;
#X obj 178 5 inlet bang;
#X msg 178 25 currentdriver v4l2 \, drivers 3 \, driver v4l2 analog
\, driver v4l analog \, driver dc1394 iidc \, driver unicap analog
\, driver vlc;
#X obj 178 67 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 265 414 pd fake;
#X obj 265 434 s \$0-info;
#N canvas 14 49 450 300 content 0;
#X obj 123 124 route driver drivers currentdriver;
#N canvas 509 196 644 372 numdrivers 0;
#X obj 119 11 inlet;
#X obj 119 316 outlet;
#X obj 119 81 f;
#X obj 277 69 inlet reset;
#X msg 277 89 0;
#X obj 119 298 list prepend text 50;
#X msg 119 154 50 On this system you have \$1 drivers available;
#X obj 119 101 t f f;
#X obj 146 201 select 0;
#X obj 119 31 route bang float;
#X msg 191 223 90 Click on any of the patches below for information
about a specific driver:;
#X connect 0 0 9 0;
#X connect 2 0 7 0;
#X connect 3 0 4 0;
#X connect 4 0 2 1;
#X connect 5 0 1 0;
#X connect 6 0 5 0;
#X connect 7 0 6 0;
#X connect 7 1 8 0;
#X connect 8 1 10 0;
#X connect 9 0 2 0;
#X connect 9 1 2 1;
#X connect 10 0 5 0;
#X restore 190 179 pd numdrivers;
#N canvas 12 49 638 300 currentdriver 0;
#X obj 119 31 inlet;
#X obj 119 186 outlet;
#X obj 119 82 symbol <undefined>;
#X obj 325 33 inlet reset;
#X obj 325 53 symbol <undefined>;
#X obj 119 102 select <undefined>;
#X obj 119 164 list prepend text 50 65;
#X obj 119 51 route bang;
#X obj 202 54 symbol;
#X msg 224 124 You are currently using the '\$1' driver;
#X msg 119 144 Currently you are not using any specific driver...;
#X connect 0 0 7 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 2 1;
#X connect 5 0 10 0;
#X connect 5 1 9 0;
#X connect 6 0 1 0;
#X connect 7 0 2 0;
#X connect 7 1 8 0;
#X connect 8 0 2 1;
#X connect 9 0 6 0;
#X connect 10 0 6 0;
#X restore 280 179 pd currentdriver;
#N canvas 12 49 456 510 listdrivers 0;
#X obj 149 61 inlet;
#X obj 149 276 outlet;
#X obj 241 61 inlet reset;
#X obj 149 81 list split 1;
#X obj 149 101 symbol unknown;
#X obj 241 101 symbol unknown;
#X obj 149 121 t b s;
#X obj 149 141 i;
#X obj 149 161 + 20;
#X obj 149 181 t f f;
#X msg 149 221 \$1 \$2-videoplugin \$3;
#X msg 194 122 100;
#X obj 149 253 list prepend obj 60;
#X msg 291 143 0;
#X obj 291 163 makefilename $%d;
#X obj 149 201 pack 0 s s;
#X obj 241 81 t b b b;
#X connect 0 0 3 0;
#X connect 2 0 16 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 4 1;
#X connect 6 0 7 0;
#X connect 6 1 15 1;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 15 0;
#X connect 9 1 7 1;
#X connect 10 0 12 0;
#X connect 11 0 7 1;
#X connect 12 0 1 0;
#X connect 13 0 14 0;
#X connect 14 0 15 2;
#X connect 15 0 10 0;
#X connect 16 0 5 0;
#X connect 16 1 11 0;
#X connect 16 2 13 0;
#X restore 123 149 pd listdrivers;
#X obj 123 94 r \$0-info;
#X obj 190 211 t a;
#X obj 337 125 t b b b;
#X obj 337 59 inlet reset;
#X obj 190 251 s pd-\$0-backendinfo;
#X obj 190 231 list trim;
#X obj 140 25 inlet finalize;
#X connect 0 0 3 0;
#X connect 0 1 1 0;
#X connect 0 2 2 0;
#X connect 1 0 5 0;
#X connect 2 0 5 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 5 0 9 0;
#X connect 6 0 3 1;
#X connect 6 1 1 1;
#X connect 6 2 2 1;
#X connect 7 0 6 0;
#X connect 9 0 8 0;
#X connect 10 0 2 0;
#X connect 10 0 1 0;
#X restore 351 305 pd content;
#X obj 203 375 t b;
#X msg 265 388 bang;
#X obj 184 280 t b b;
#X obj 223 280 t b b;
#X obj 184 260 t b b b;
#X msg 184 311 loadbang \, vis 1;
#X connect 2 0 14 0;
#X connect 3 0 4 0;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 10 0 6 0;
#X connect 11 0 7 0;
#X connect 12 0 15 0;
#X connect 12 1 9 0;
#X connect 13 0 3 0;
#X connect 13 1 9 1;
#X connect 14 0 12 0;
#X connect 14 1 10 0;
#X connect 14 2 13 0;
#X connect 15 0 4 0;
#X coords 0 -1 1 1 170 40 1 100 100;
#X restore 156 103 pd backend specific information;
#X obj 738 8 declare -lib Gem;
#X connect 17 0 18 0;
#X connect 18 0 17 0;
#X connect 22 0 21 0;
#X connect 29 0 46 0;
#X connect 30 0 41 0;
#X connect 31 0 41 0;
#X connect 32 0 41 0;
#X connect 33 0 41 0;
#X connect 34 0 41 0;
#X connect 35 0 41 0;
#X connect 36 0 41 0;
#X connect 38 0 39 0;
#X connect 38 1 40 0;
#X connect 41 0 46 0;
#X connect 41 1 47 0;
#X connect 42 0 35 0;
#X connect 46 0 22 0;
#X connect 46 1 38 0;
#X connect 48 0 49 0;
#X connect 49 0 41 0;
#X connect 54 0 41 0;
#X connect 56 0 41 0;