aboutsummaryrefslogtreecommitdiff
path: root/Gem/pix_video-help.pd
diff options
context:
space:
mode:
authorTravis CI <zmoelnig@travis-ci.umlaeute.mur.at>2015-03-14 20:32:26 +0000
committerTravis CI <zmoelnig@travis-ci.umlaeute.mur.at>2015-03-14 20:32:26 +0000
commitc6030846f5c1e34048774d60ca4c15e804bee839 (patch)
treefb75f89275a78ea383c0fd64e8fe5b3ae57cc898 /Gem/pix_video-help.pd
Gem linux/amd64
built '' for linux/amd64
Diffstat (limited to 'Gem/pix_video-help.pd')
-rw-r--r--Gem/pix_video-help.pd591
1 files changed, 591 insertions, 0 deletions
diff --git a/Gem/pix_video-help.pd b/Gem/pix_video-help.pd
new file mode 100644
index 0000000..75ae276
--- /dev/null
+++ b/Gem/pix_video-help.pd
@@ -0,0 +1,591 @@
+#N canvas 235 64 871 639 10;
+#X text 451 6 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 453 27 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 53 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 writeable 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 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;