aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/help_emboss.pd43
-rw-r--r--doc/help_invert.pd42
-rw-r--r--doc/help_pdp_aa.pd72
-rw-r--r--doc/help_pdp_aging.pd60
-rw-r--r--doc/help_pdp_ascii.pd67
-rw-r--r--doc/help_pdp_baltan.pd60
-rw-r--r--doc/help_pdp_capture.pd44
-rw-r--r--doc/help_pdp_cmap.pd113
-rw-r--r--doc/help_pdp_compose.pd137
-rw-r--r--doc/help_pdp_ctrack.pd128
-rw-r--r--doc/help_pdp_cycle.pd66
-rw-r--r--doc/help_pdp_dice.pd57
-rw-r--r--doc/help_pdp_edge.pd54
-rw-r--r--doc/help_pdp_effects_rack.pd461
-rw-r--r--doc/help_pdp_ffmpeg~.pd79
-rw-r--r--doc/help_pdp_form.pd96
-rw-r--r--doc/help_pdp_imgloader.pd70
-rw-r--r--doc/help_pdp_imgsaver.pd54
-rw-r--r--doc/help_pdp_intrusion.pd63
-rw-r--r--doc/help_pdp_juxta.pd122
-rw-r--r--doc/help_pdp_lens.pd67
-rw-r--r--doc/help_pdp_live~.pd15
-rw-r--r--doc/help_pdp_lumafilt.pd75
-rw-r--r--doc/help_pdp_mgrid.pd77
-rw-r--r--doc/help_pdp_mosaic.pd60
-rw-r--r--doc/help_pdp_nervous.pd61
-rw-r--r--doc/help_pdp_noquark.pd74
-rw-r--r--doc/help_pdp_puzzle.pd66
-rw-r--r--doc/help_pdp_quark.pd60
-rw-r--r--doc/help_pdp_radioactiv.pd74
-rw-r--r--doc/help_pdp_rec~.pd113
-rw-r--r--doc/help_pdp_rev.pd66
-rw-r--r--doc/help_pdp_ripple.pd67
-rw-r--r--doc/help_pdp_segsnd~.pd13
-rw-r--r--doc/help_pdp_shagadelic.pd59
-rw-r--r--doc/help_pdp_simura.pd65
-rw-r--r--doc/help_pdp_smuck.pd57
-rw-r--r--doc/help_pdp_spigot.pd52
-rw-r--r--doc/help_pdp_spiral.pd82
-rw-r--r--doc/help_pdp_streaming.pd83
-rw-r--r--doc/help_pdp_text.pd118
-rw-r--r--doc/help_pdp_transform.pd58
-rw-r--r--doc/help_pdp_transition.pd116
-rw-r--r--doc/help_pdp_underwatch.pd79
-rw-r--r--doc/help_pdp_vertigo.pd57
-rw-r--r--doc/help_pdp_warhol.pd75
-rw-r--r--doc/help_pdp_warp.pd61
-rw-r--r--doc/help_pdp_yvu2rgb.pd54
-rw-r--r--doc/help_sobel_edge.pd54
-rw-r--r--doc/pdp_affine.pd15
-rw-r--r--doc/rs_pdp_live~.pd53
-rw-r--r--doc/rs_pdp_segsnd~.pd99
52 files changed, 4013 insertions, 0 deletions
diff --git a/doc/help_emboss.pd b/doc/help_emboss.pd
new file mode 100644
index 0000000..2c6bcf2
--- /dev/null
+++ b/doc/help_emboss.pd
@@ -0,0 +1,43 @@
+#N canvas 237 46 649 451 10;
+#X obj 134 240 pdp_conv_emboss;
+#X obj 151 303 pdp_xv;
+#X floatatom 223 210 5 0 0;
+#X obj 153 39 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 58 107 loop \$1;
+#X obj 59 85 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X msg 255 19 open \$1;
+#X obj 254 -5 openpanel;
+#X obj 239 -22 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 201 74 5 0 0;
+#X msg 110 40 stop;
+#X obj 208 43 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 142 110 metro 70;
+#X obj 137 142 pdp_yqt;
+#X obj 306 141 pdp_v4l;
+#X obj 315 110 metro 70;
+#X obj 360 76 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 317 77 stop;
+#X msg 402 108 open /dev/video;
+#X connect 0 0 1 0;
+#X connect 2 0 0 1;
+#X connect 3 0 12 0;
+#X connect 4 0 13 0;
+#X connect 5 0 4 0;
+#X connect 6 0 13 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 1;
+#X connect 10 0 12 0;
+#X connect 11 0 9 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 14 0;
diff --git a/doc/help_invert.pd b/doc/help_invert.pd
new file mode 100644
index 0000000..2f40700
--- /dev/null
+++ b/doc/help_invert.pd
@@ -0,0 +1,42 @@
+#N canvas 237 46 649 451 10;
+#X obj 134 240 pdp_invert;
+#X obj 151 303 pdp_xv;
+#X floatatom 223 210 5 0 0;
+#X obj 153 39 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 58 107 loop \$1;
+#X obj 59 85 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X msg 255 19 open \$1;
+#X obj 254 -5 openpanel;
+#X obj 239 -22 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 201 74 5 0 0;
+#X msg 110 40 stop;
+#X obj 208 43 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 142 110 metro 70;
+#X obj 137 142 pdp_yqt;
+#X obj 306 141 pdp_v4l;
+#X obj 315 110 metro 70;
+#X obj 360 76 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 317 77 stop;
+#X msg 402 108 open /dev/video;
+#X connect 0 0 1 0;
+#X connect 3 0 12 0;
+#X connect 4 0 13 0;
+#X connect 5 0 4 0;
+#X connect 6 0 13 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 1;
+#X connect 10 0 12 0;
+#X connect 11 0 9 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 14 0;
diff --git a/doc/help_pdp_aa.pd b/doc/help_pdp_aa.pd
new file mode 100644
index 0000000..b768611
--- /dev/null
+++ b/doc/help_pdp_aa.pd
@@ -0,0 +1,72 @@
+#N canvas 84 12 763 664 10;
+#X obj 191 444 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 606 530 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 606 582 pdp_control;
+#X msg 606 555 thread \$1;
+#X floatatom 606 643 5 0 0;
+#X obj 606 614 route pdp_drop;
+#X text 224 632 written by Yves Degoyon (ydegoyon@free.fr);
+#X msg 445 203 dim 800 600;
+#X text 223 618 ( http://aa-project.sourceforge.net/aalib );
+#X text 224 603 it makes use of aalib;
+#X obj 191 411 pdp_aa -----------------;
+#X msg 318 287 driver X11;
+#X msg 420 287 driver slang;
+#X msg 419 309 driver stdout;
+#X msg 318 309 driver stderr;
+#X text 523 285 Set the driver;
+#X msg 319 356 render \$1;
+#X obj 396 356 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 418 356 Activate/Deactivate rendering;
+#X text 225 589 pdp_aa : output images in ASCII art;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 26 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 26 0;
+#X connect 17 0 19 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 0;
+#X connect 21 0 20 0;
+#X connect 23 0 11 0;
+#X connect 26 0 0 0;
+#X connect 27 0 26 0;
+#X connect 28 0 26 0;
+#X connect 29 0 26 0;
+#X connect 30 0 26 0;
+#X connect 32 0 26 0;
+#X connect 33 0 32 0;
diff --git a/doc/help_pdp_aging.pd b/doc/help_pdp_aging.pd
new file mode 100644
index 0000000..07d3c56
--- /dev/null
+++ b/doc/help_pdp_aging.pd
@@ -0,0 +1,60 @@
+#N canvas 237 21 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X floatatom 311 275 5 0 0;
+#X floatatom 331 301 5 0 0;
+#X text 387 301 Number of scratches;
+#X text 366 272 Dust density;
+#X obj 217 299 pdp_aging;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 17 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 17 1;
+#X connect 14 0 17 2;
+#X connect 17 0 0 0;
+#X connect 18 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 18 0;
+#X connect 23 0 25 0;
+#X connect 24 0 27 0;
+#X connect 25 0 24 0;
+#X connect 27 0 26 0;
diff --git a/doc/help_pdp_ascii.pd b/doc/help_pdp_ascii.pd
new file mode 100644
index 0000000..94e2290
--- /dev/null
+++ b/doc/help_pdp_ascii.pd
@@ -0,0 +1,67 @@
+#N canvas 84 12 763 664 10;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 606 530 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 606 582 pdp_control;
+#X msg 606 555 thread \$1;
+#X floatatom 606 643 5 0 0;
+#X obj 606 614 route pdp_drop;
+#X text 226 604 written by Yves Degoyon (ydegoyon@free.fr);
+#X text 225 589 pdp_aa : output images in ASCII art;
+#X msg 302 347 color \$1;
+#X obj 373 348 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 393 347 activate/suppress colors;
+#X obj 191 413 pdp_ascii;
+#X msg 302 372 brightness \$1;
+#X floatatom 404 373 5 0 0;
+#X text 452 374 increase brightness ( default 25 );
+#X floatatom 302 398 5 0 0;
+#X text 352 397 Character to pixel ratio;
+#X obj 191 444 pdp_xv;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 1 0;
+#X connect 3 0 15 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 15 0;
+#X connect 10 0 26 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X connect 14 0 10 0;
+#X connect 15 0 26 0;
+#X connect 16 0 18 0;
+#X connect 17 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 23 0 26 0;
+#X connect 24 0 23 0;
+#X connect 26 0 32 0;
+#X connect 27 0 26 0;
+#X connect 28 0 27 0;
+#X connect 30 0 26 1;
diff --git a/doc/help_pdp_baltan.pd b/doc/help_pdp_baltan.pd
new file mode 100644
index 0000000..422c513
--- /dev/null
+++ b/doc/help_pdp_baltan.pd
@@ -0,0 +1,60 @@
+#N canvas 237 21 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 217 299 pdp_baltan;
+#X obj 252 167 pdp_yqt;
+#X floatatom 347 280 10 0 0;
+#X msg 367 249 1.65798e+07;
+#X obj 387 219 loadbang;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 13 0;
+#X connect 3 0 2 0;
+#X connect 4 0 13 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 13 0;
+#X connect 12 0 0 0;
+#X connect 13 0 12 0;
+#X connect 13 3 10 0;
+#X connect 13 4 10 1;
+#X connect 14 0 12 1;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 17 0 12 0;
+#X connect 18 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 18 0;
+#X connect 21 0 17 0;
+#X connect 22 0 24 0;
+#X connect 23 0 26 0;
+#X connect 24 0 23 0;
+#X connect 26 0 25 0;
diff --git a/doc/help_pdp_capture.pd b/doc/help_pdp_capture.pd
new file mode 100644
index 0000000..7eca873
--- /dev/null
+++ b/doc/help_pdp_capture.pd
@@ -0,0 +1,44 @@
+#N canvas 237 21 712 664 10;
+#X obj 131 353 pdp_xv;
+#X obj 494 427 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 494 479 pdp_control;
+#X msg 494 452 thread \$1;
+#X floatatom 494 540 5 0 0 0 - - -;
+#X obj 494 511 route pdp_drop;
+#X text 44 481 written by Yves Degoyon ( ydegoyon@free.fr );
+#X text 43 466 pdp_capture : capture a portion of the screen;
+#X floatatom 237 156 5 0 0 0 - - -;
+#X floatatom 248 179 5 0 0 0 - - -;
+#X floatatom 265 202 5 0 0 0 - - -;
+#X floatatom 279 227 5 0 0 0 - - -;
+#X msg 72 90 bang;
+#X msg 125 89 stop;
+#X msg 229 125 screen 0;
+#X text 392 101 Sets the display;
+#X text 296 125 Sets the screen number;
+#X obj 183 300 pdp_scale 320 240;
+#X obj 89 135 metro 200;
+#X obj 183 264 pdp_capture;
+#X text 318 201 Width ( default : 320 );
+#X text 301 178 Upper left Y position ( default : 0 );
+#X text 290 155 Upper left X position ( default : 0 );
+#X text 332 226 Height ( default : 240 );
+#X floatatom 174 109 5 0 0 0 - - -;
+#X msg 218 101 display 192.168.0.7:0;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
+#X connect 8 0 19 1;
+#X connect 9 0 19 2;
+#X connect 10 0 19 3;
+#X connect 11 0 19 4;
+#X connect 12 0 18 0;
+#X connect 13 0 18 0;
+#X connect 14 0 19 0;
+#X connect 17 0 0 0;
+#X connect 18 0 19 0;
+#X connect 19 0 17 0;
+#X connect 24 0 18 1;
+#X connect 25 0 19 0;
diff --git a/doc/help_pdp_cmap.pd b/doc/help_pdp_cmap.pd
new file mode 100644
index 0000000..5d49b7c
--- /dev/null
+++ b/doc/help_pdp_cmap.pd
@@ -0,0 +1,113 @@
+#N canvas 137 28 781 666 10;
+#X obj 32 596 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 26 263 pdp_v4l;
+#X obj 35 232 metro 70;
+#X obj 80 198 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 37 199 stop;
+#X msg 122 230 open /dev/video;
+#X floatatom 253 369 5 0 0;
+#X floatatom 262 390 5 0 0;
+#X floatatom 270 414 5 0 0;
+#X floatatom 228 321 5 0 0;
+#X text 346 633 written by Yves Degoyon ( ydegoyon@free.fr );
+#X floatatom 237 345 5 0 0;
+#X msg 93 382 pick;
+#X floatatom 282 438 5 0 0;
+#X msg 293 466 luminosity \$1;
+#X obj 394 468 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 417 469 Use luminosity in color detection;
+#X obj 378 491 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 302 490 cursor \$1;
+#X text 401 492 Show cursor or not;
+#X obj 100 565 pdp_cmap ----;
+#X text 346 618 pdp_cmap : color mapper;
+#X text 346 648 idea suggested by liz;
+#X obj 218 300 hdl 15 1 0 10 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X text 372 300 Select color index ( capacity is 10 by default );
+#X text 61 364 Pick up the color;
+#X text 276 320 X coordinate of cursor;
+#X text 285 344 Y coordinate of cursor;
+#X text 299 369 R component of the replaced color;
+#X text 307 389 G component of the replaced color;
+#X text 315 413 B component of the replaced color;
+#X text 328 437 Tolerance ( default = 10 );
+#X msg 310 514 clear;
+#X msg 318 538 delete \$1;
+#X text 440 540 Delete a mapping;
+#X msg 341 565 resize 20;
+#X floatatom 393 540 5 0 0;
+#X obj 669 329 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 669 381 pdp_control;
+#X msg 669 354 thread \$1;
+#X floatatom 669 442 5 0 0;
+#X obj 669 413 route pdp_drop;
+#X msg 82 596 cursor \$1;
+#X obj 157 597 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 401 492 Show cursor or not;
+#X text 425 566 Resize the color table;
+#X text 371 514 Clear the color table;
+#X text 1 422 Set the cursor;
+#X msg 105 422 setcur \$1 \$2;
+#X connect 0 0 59 0;
+#X connect 1 0 10 0;
+#X connect 2 0 11 0;
+#X connect 3 0 2 0;
+#X connect 4 0 11 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 11 0;
+#X connect 11 0 31 0;
+#X connect 12 0 31 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
+#X connect 16 0 12 0;
+#X connect 17 0 31 4;
+#X connect 18 0 31 5;
+#X connect 19 0 31 6;
+#X connect 20 0 31 2;
+#X connect 22 0 31 3;
+#X connect 23 0 31 0;
+#X connect 24 0 31 7;
+#X connect 25 0 31 0;
+#X connect 26 0 25 0;
+#X connect 28 0 29 0;
+#X connect 29 0 31 0;
+#X connect 31 0 0 0;
+#X connect 34 0 31 1;
+#X connect 43 0 31 0;
+#X connect 44 0 31 0;
+#X connect 46 0 31 0;
+#X connect 47 0 44 0;
+#X connect 48 0 50 0;
+#X connect 49 0 52 0;
+#X connect 50 0 49 0;
+#X connect 52 0 51 0;
+#X connect 53 0 0 0;
+#X connect 54 0 53 0;
+#X connect 59 0 31 0;
+#X connect 59 0 23 0;
diff --git a/doc/help_pdp_compose.pd b/doc/help_pdp_compose.pd
new file mode 100644
index 0000000..4c4e8f7
--- /dev/null
+++ b/doc/help_pdp_compose.pd
@@ -0,0 +1,137 @@
+#N canvas 221 9 712 664 10;
+#X obj 105 562 pdp_xv;
+#X obj 100 167 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 54 201 loop \$1;
+#X obj 55 179 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X msg 39 146 open \$1;
+#X obj 38 122 openpanel;
+#X obj 23 105 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 144 stop;
+#X obj 121 168 metro 70;
+#X obj 116 200 pdp_yqt;
+#X floatatom 244 273 5 0 0;
+#X floatatom 253 294 5 0 0;
+#X floatatom 270 315 5 0 0;
+#X floatatom 288 339 5 0 0;
+#X text 269 614 written by Yves Degoyon ( ydegoyon@free.fr );
+#X text 290 273 R component;
+#X text 298 293 G component;
+#X text 315 314 B component;
+#X floatatom 299 360 5 0 0;
+#X text 336 338 X coordinate of cursor ( pick );
+#X text 347 359 Y coordinate of cursor ( pick );
+#X msg 14 443 pick;
+#X text 11 422 Pick up the color;
+#X floatatom 309 380 5 0 0;
+#X text 356 380 Tolerance ( default = 50 );
+#X text 269 583 pdp_compose : video compositor;
+#X text 269 599 change all pixels of a given color by a second video
+source;
+#X obj 261 160 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 264 195 loop \$1;
+#X obj 325 196 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 200 139 open \$1;
+#X obj 199 115 openpanel;
+#X obj 184 98 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 284 137 stop;
+#X obj 282 161 metro 70;
+#X obj 185 194 pdp_yqt;
+#X text 39 76 1st video source;
+#X text 182 74 2nd video source;
+#X obj 589 455 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 589 507 pdp_control;
+#X msg 589 480 thread \$1;
+#X floatatom 589 568 5 0 0;
+#X obj 589 539 route pdp_drop;
+#X obj 97 305 pdp_form ---------;
+#X msg 116 246 ellipse 69 124 59 78;
+#X floatatom 130 274 5 0 0;
+#X floatatom 176 274 5 0 0;
+#X msg 317 410 luminosity \$1;
+#X obj 419 411 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 258 544 pdp_v4l;
+#X obj 258 523 metro 70;
+#X obj 362 524 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 322 523 stop;
+#X text 269 628 idea suggested by liz;
+#X obj 165 466 pdp_compose ----;
+#X obj 394 132 pdp_v4l;
+#X obj 403 101 metro 70;
+#X obj 448 67 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 405 68 stop;
+#X msg 490 99 open /dev/video;
+#X text 471 67 Live;
+#X floatatom 514 66 5 0 0;
+#X obj 401 437 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 325 436 cursor \$1;
+#X msg 13 393 setcur \$1 \$2;
+#X text 10 372 Set the cursor;
+#X text 441 409 Use luminosity;
+#X text 424 435 Show the cursor;
+#X msg 155 561 cursor \$1;
+#X obj 233 562 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X connect 0 0 64 0;
+#X connect 1 0 8 0;
+#X connect 2 0 9 0;
+#X connect 3 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 43 0;
+#X connect 10 0 54 2;
+#X connect 11 0 54 3;
+#X connect 12 0 54 4;
+#X connect 13 0 54 5;
+#X connect 18 0 54 6;
+#X connect 21 0 54 0;
+#X connect 23 0 54 7;
+#X connect 27 0 34 0;
+#X connect 28 0 35 0;
+#X connect 29 0 28 0;
+#X connect 30 0 35 0;
+#X connect 31 0 30 0;
+#X connect 32 0 31 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 35 0 54 1;
+#X connect 38 0 40 0;
+#X connect 39 0 42 0;
+#X connect 40 0 39 0;
+#X connect 42 0 41 0;
+#X connect 43 0 54 0;
+#X connect 44 0 43 0;
+#X connect 45 0 43 2;
+#X connect 46 0 43 3;
+#X connect 47 0 54 0;
+#X connect 48 0 47 0;
+#X connect 49 0 54 1;
+#X connect 50 0 49 0;
+#X connect 51 0 50 0;
+#X connect 52 0 50 0;
+#X connect 54 0 0 0;
+#X connect 55 0 43 0;
+#X connect 56 0 55 0;
+#X connect 57 0 56 0;
+#X connect 58 0 56 0;
+#X connect 59 0 55 0;
+#X connect 61 0 56 1;
+#X connect 62 0 63 0;
+#X connect 63 0 54 0;
+#X connect 64 0 54 0;
+#X connect 64 0 21 0;
+#X connect 68 0 0 0;
+#X connect 69 0 68 0;
diff --git a/doc/help_pdp_ctrack.pd b/doc/help_pdp_ctrack.pd
new file mode 100644
index 0000000..c57a6d9
--- /dev/null
+++ b/doc/help_pdp_ctrack.pd
@@ -0,0 +1,128 @@
+#N canvas 42 26 781 666 10;
+#X obj 35 493 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0 0 - - -;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 26 263 pdp_v4l;
+#X obj 35 232 metro 70;
+#X obj 80 198 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 37 199 stop;
+#X msg 122 230 open /dev/video;
+#X floatatom 244 273 5 0 0 0 - - -;
+#X floatatom 253 294 5 0 0 0 - - -;
+#X floatatom 270 315 5 0 0 0 - - -;
+#X floatatom 275 337 5 0 0 0 - - -;
+#X floatatom 164 496 5 0 0 0 - - -;
+#X floatatom 210 496 5 0 0 0 - - -;
+#X text 294 592 written by Yves Degoyon ( ydegoyon@free.fr );
+#X text 295 575 pdp_ctrack : color tracker;
+#X floatatom 123 516 5 0 0 0 - - -;
+#X floatatom 123 537 5 0 0 0 - - -;
+#X text 290 273 R component;
+#X text 298 293 G component;
+#X text 315 314 B component;
+#X floatatom 284 362 5 0 0 0 - - -;
+#X text 323 336 X coordinate of cursor ( pick );
+#X text 332 361 Y coordinate of cursor ( pick );
+#X msg 89 341 pick;
+#X text 57 323 Pick up the color;
+#X floatatom 297 385 5 0 0 0 - - -;
+#X text 343 384 Tolerance ( default = 50 );
+#X msg 312 411 luminosity \$1;
+#X obj 413 413 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 436 414 Use luminosity in color detection;
+#X obj 396 439 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 320 438 steady \$1;
+#X text 425 438 Steady mode ( zone is selected around the cursor )
+;
+#X text 122 554 Coordinates of detected block;
+#X obj 405 466 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 329 465 cursor \$1;
+#X text 428 467 Show cursor or not;
+#X obj 421 490 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 444 491 Show frame or not;
+#X msg 345 489 frame \$1;
+#X obj 594 197 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 594 249 pdp_control;
+#X msg 594 222 thread \$1;
+#X floatatom 594 310 5 0 0 0 - - -;
+#X obj 594 281 route pdp_drop;
+#X msg 118 379 setcur \$1 \$2;
+#X text 6 378 Set the cursor;
+#X msg 12 527 cursor \$1;
+#X obj 85 529 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X floatatom 123 591 5 0 0 0 - - -;
+#X floatatom 173 592 5 0 0 0 - - -;
+#X floatatom 220 591 5 0 0 0 - - -;
+#X text 140 631 Color components;
+#X text 135 609 R;
+#X text 186 609 G;
+#X text 230 609 B;
+#X obj 110 459 pdp_ctrack ----;
+#X connect 0 0 55 0;
+#X connect 1 0 10 0;
+#X connect 2 0 11 0;
+#X connect 3 0 2 0;
+#X connect 4 0 11 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 11 0;
+#X connect 11 0 66 0;
+#X connect 12 0 66 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
+#X connect 16 0 12 0;
+#X connect 17 0 66 1;
+#X connect 18 0 66 2;
+#X connect 19 0 66 3;
+#X connect 20 0 66 4;
+#X connect 30 0 66 5;
+#X connect 33 0 66 0;
+#X connect 35 0 66 6;
+#X connect 37 0 66 0;
+#X connect 38 0 37 0;
+#X connect 40 0 41 0;
+#X connect 41 0 66 0;
+#X connect 44 0 45 0;
+#X connect 45 0 66 0;
+#X connect 47 0 49 0;
+#X connect 49 0 66 0;
+#X connect 50 0 52 0;
+#X connect 51 0 54 0;
+#X connect 52 0 51 0;
+#X connect 54 0 53 0;
+#X connect 55 0 33 0;
+#X connect 55 0 66 0;
+#X connect 57 0 0 0;
+#X connect 58 0 57 0;
+#X connect 66 0 0 0;
+#X connect 66 1 21 0;
+#X connect 66 2 25 0;
+#X connect 66 3 22 0;
+#X connect 66 4 26 0;
+#X connect 66 5 59 0;
+#X connect 66 6 60 0;
+#X connect 66 7 61 0;
diff --git a/doc/help_pdp_cycle.pd b/doc/help_pdp_cycle.pd
new file mode 100644
index 0000000..384d9e5
--- /dev/null
+++ b/doc/help_pdp_cycle.pd
@@ -0,0 +1,66 @@
+#N canvas 84 12 712 664 10;
+#X obj 263 378 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 351 264 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 363 286 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 374 305 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 377 263 Cycle Y;
+#X text 390 284 Cycle U;
+#X text 396 306 Cycle V;
+#X obj 264 334 pdp_cycle;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0;
+#X obj 469 465 route pdp_drop;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 24 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 24 0;
+#X connect 16 3 17 0;
+#X connect 16 4 17 1;
+#X connect 18 0 24 1;
+#X connect 19 0 24 2;
+#X connect 20 0 24 3;
+#X connect 24 0 0 0;
+#X connect 25 0 27 0;
+#X connect 26 0 29 0;
+#X connect 27 0 26 0;
+#X connect 29 0 28 0;
diff --git a/doc/help_pdp_dice.pd b/doc/help_pdp_dice.pd
new file mode 100644
index 0000000..aaafe44
--- /dev/null
+++ b/doc/help_pdp_dice.pd
@@ -0,0 +1,57 @@
+#N canvas 84 12 712 664 10;
+#X obj 263 378 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 264 334 pdp_dice;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0;
+#X obj 469 465 route pdp_drop;
+#X floatatom 327 305 5 0 0;
+#X text 328 281 Dice size;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 18 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 18 0;
+#X connect 16 3 17 0;
+#X connect 16 4 17 1;
+#X connect 18 0 0 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 18 1;
diff --git a/doc/help_pdp_edge.pd b/doc/help_pdp_edge.pd
new file mode 100644
index 0000000..3738358
--- /dev/null
+++ b/doc/help_pdp_edge.pd
@@ -0,0 +1,54 @@
+#N canvas 237 21 712 664 10;
+#X obj 248 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 249 323 pdp_edge;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 0 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 14 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
diff --git a/doc/help_pdp_effects_rack.pd b/doc/help_pdp_effects_rack.pd
new file mode 100644
index 0000000..80e356a
--- /dev/null
+++ b/doc/help_pdp_effects_rack.pd
@@ -0,0 +1,461 @@
+#N canvas 5 16 986 661 10;
+#X obj 230 7 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 150 44 loop \$1;
+#X obj 151 22 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 86 45 open \$1;
+#X obj 78 21 openpanel;
+#X obj 48 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 262 24 5 0 0 0 - - -;
+#X msg 187 8 stop;
+#X obj 211 44 metro 70;
+#X obj 206 69 pdp_yqt;
+#X obj 375 71 pdp_v4l;
+#X obj 374 41 metro 70;
+#X obj 419 7 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 376 8 stop;
+#X msg 441 41 open /dev/video;
+#X obj 130 99 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 48 111 pdp_spigot;
+#X text 7 20 Load;
+#X text 436 7 Live;
+#X obj 272 101 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 190 113 pdp_spigot;
+#X floatatom 46 167 5 0 0 0 - - -;
+#X floatatom 93 168 5 0 0 0 - - -;
+#X obj 46 141 pdp_aging;
+#X obj 190 140 pdp_baltan;
+#X floatatom 189 164 10 0 0 0 - - -;
+#X obj 403 102 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 321 114 pdp_spigot;
+#X obj 320 141 pdp_edge;
+#X obj 518 104 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 436 116 pdp_spigot;
+#X msg 436 165 bang;
+#X floatatom 476 166 5 0 0 0 - - -;
+#X obj 436 141 pdp_intrusion;
+#X obj 648 106 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 566 118 pdp_spigot;
+#X obj 566 144 pdp_lens;
+#X floatatom 561 173 5 0 0 0 - - -;
+#X floatatom 609 173 5 0 0 0 - - -;
+#X floatatom 561 189 5 0 0 0 - - -;
+#X floatatom 608 190 5 0 0 0 - - -;
+#X obj 658 188 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 778 105 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 696 117 pdp_spigot;
+#X msg 697 164 bang;
+#X obj 697 142 pdp_mosaic;
+#X floatatom 740 166 5 0 0 0 - - -;
+#X obj 863 204 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 781 216 pdp_spigot;
+#X obj 782 241 pdp_nervous;
+#X obj 784 267 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 659 209 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 577 221 pdp_spigot;
+#X obj 578 247 pdp_quark;
+#X obj 531 207 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 449 219 pdp_spigot;
+#X floatatom 450 290 5 0 0 0 - - -;
+#X obj 449 245 pdp_radioactiv;
+#X obj 449 270 hdl 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X floatatom 500 289 5 0 0 0 - - -;
+#X obj 413 208 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 331 220 pdp_spigot;
+#X floatatom 329 267 5 0 0 0 - - -;
+#X floatatom 375 267 5 0 0 0 - - -;
+#X floatatom 329 284 5 0 0 0 - - -;
+#X floatatom 375 286 5 0 0 0 - - -;
+#X obj 331 245 pdp_rev;
+#X obj 285 205 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 203 217 pdp_spigot;
+#X msg 218 270 bang;
+#X obj 199 272 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 202 247 pdp_ripple;
+#X floatatom 198 292 5 0 0 0 - - -;
+#X floatatom 242 291 5 0 0 0 - - -;
+#X obj 147 201 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 65 213 pdp_spigot;
+#X obj 65 240 pdp_simura;
+#X floatatom 62 283 5 0 0 0 - - -;
+#X obj 48 263 hdl 15 1 0 9 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X obj 126 310 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 44 322 pdp_spigot;
+#X floatatom 44 387 5 0 0 0 - - -;
+#X obj 44 366 hdl 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X floatatom 91 386 5 0 0 0 - - -;
+#X floatatom 139 386 5 0 0 0 - - -;
+#X floatatom 45 407 5 0 0 0 - - -;
+#X floatatom 93 406 5 0 0 0 - - -;
+#X obj 141 405 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 162 405 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 44 346 pdp_spiral;
+#X obj 284 309 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 202 321 pdp_spigot;
+#X floatatom 201 367 5 0 0 0 - - -;
+#X obj 201 343 pdp_underwatch;
+#X obj 422 309 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 340 321 pdp_spigot;
+#X obj 562 310 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 480 322 pdp_spigot;
+#X obj 696 312 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 617 323 pdp_spigot;
+#X obj 339 342 pdp_vertigo;
+#X floatatom 338 365 5 0 0 0 - - -;
+#X floatatom 381 365 5 0 0 0 - - -;
+#X floatatom 480 369 5 0 0 0 - - -;
+#X obj 480 346 pdp_warhol;
+#X floatatom 530 369 5 0 0 0 - - -;
+#X obj 480 388 hdl 15 1 0 9 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X floatatom 481 407 5 0 0 0 - - -;
+#X floatatom 527 407 5 0 0 0 - - -;
+#X floatatom 572 407 5 0 0 0 - - -;
+#X obj 618 365 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 638 366 5 0 0 0 - - -;
+#X obj 618 345 pdp_warp;
+#X obj 811 315 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 732 326 pdp_spigot;
+#X floatatom 482 7 5 0 0 0 - - -;
+#X floatatom 474 596 5 0 0 0 - - -;
+#X msg 567 520 open /tmp/output.mov;
+#X msg 568 543 start;
+#X msg 567 565 stop;
+#X obj 286 642 pdp_xv;
+#X msg 202 641 cursor \$1;
+#X obj 214 620 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 19 544 pdp_zoom;
+#X floatatom 68 500 5 0 0 0 - - -;
+#X obj 152 436 hsl 300 15 0.01 100 1 1 empty empty empty -2 -6 0 8
+-262144 -1 -1 15004 1;
+#X floatatom 122 547 5 0 0 0 - - -;
+#X obj 146 487 hsl 300 15 0.01 100 1 1 empty empty empty -2 -6 0 8
+-262144 -1 -1 14200 1;
+#X msg 165 522 zoomx \$1;
+#X msg 164 548 zoomy \$1;
+#X floatatom 124 523 5 0 0 0 - - -;
+#X obj 150 460 hsl 300 15 0.01 100 1 1 empty empty empty -2 -6 0 8
+-262144 -1 -1 14800 1;
+#X msg 278 588 centerx \$1;
+#X floatatom 281 562 5 0 0 0 - - -;
+#X floatatom 363 560 5 0 0 0 - - -;
+#X msg 360 586 centery \$1;
+#X obj 289 508 hsl 128 15 -1 1 0 1 empty empty empty -2 -6 0 8 -262144
+-1 -1 6900 1;
+#X obj 307 527 hsl 128 15 -1 1 0 1 empty empty empty -2 -6 0 8 -262144
+-1 -1 7300 1;
+#X msg 17 453 center 0 0;
+#X obj 731 350 pdp_cycle;
+#X obj 729 373 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 758 374 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 783 374 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 917 315 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 838 326 pdp_spigot;
+#X obj 837 350 pdp_transform;
+#X obj 838 375 hdl 15 1 0 6 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X obj 970 207 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 891 218 pdp_spigot;
+#X obj 890 242 pdp_shagadelic;
+#X floatatom 892 266 5 0 0 0 - - -;
+#X obj 941 266 * 100;
+#X obj 896 106 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 817 117 pdp_spigot;
+#X floatatom 818 165 5 0 0 0 - - -;
+#X obj 816 141 pdp_dice;
+#X obj 889 403 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 810 414 pdp_spigot;
+#X floatatom 883 441 5 0 0 0 - - -;
+#X obj 809 438 pdp_puzzle;
+#X msg 813 464 up;
+#X msg 845 464 down;
+#X msg 885 464 left;
+#X msg 925 464 right;
+#X obj 848 492 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 848 544 pdp_control;
+#X msg 848 517 thread \$1;
+#X floatatom 848 605 5 0 0 0 - - -;
+#X obj 848 576 route pdp_drop;
+#X msg 568 588 framerate 10;
+#X obj 225 88 dac~;
+#X floatatom 312 21 5 0 0 0 - - -;
+#X obj 740 404 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 661 415 pdp_spigot;
+#X obj 660 439 pdp_ascii;
+#X floatatom 730 439 5 0 0 0 - - -;
+#X floatatom 580 272 5 0 0 0 - - -;
+#X floatatom 829 266 5 0 0 0 - - -;
+#X obj 313 44 t b f;
+#X obj 490 524 adc~;
+#X obj 760 211 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 678 223 pdp_spigot;
+#X floatatom 726 273 5 0 0 0 - - -;
+#X obj 679 248 pdp_noquark;
+#X floatatom 678 272 5 0 0 0 - - -;
+#X floatatom 625 272 5 0 0 0 - - -;
+#X obj 284 617 pdp_affine;
+#X floatatom 372 616 5 0 0 0 - - -;
+#X floatatom 422 616 5 0 0 0 - - -;
+#X msg 487 625 display 81.66.163.16:0;
+#X obj 474 568 pdp_rec~;
+#X obj 321 686 pdp_ffmpeg~;
+#X msg 20 693 feed http://localhost:8090/feed1.ffm;
+#X msg 421 687 starve;
+#X connect 0 0 8 0;
+#X connect 1 0 9 0;
+#X connect 2 0 1 0;
+#X connect 3 0 9 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 1;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 16 0;
+#X connect 9 3 170 0;
+#X connect 9 4 170 1;
+#X connect 10 0 16 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X connect 14 0 10 0;
+#X connect 15 0 16 1;
+#X connect 16 0 20 0;
+#X connect 16 1 23 0;
+#X connect 19 0 20 1;
+#X connect 20 0 27 0;
+#X connect 20 1 24 0;
+#X connect 21 0 23 1;
+#X connect 22 0 23 2;
+#X connect 23 0 20 0;
+#X connect 24 0 27 0;
+#X connect 25 0 24 1;
+#X connect 26 0 27 1;
+#X connect 27 0 30 0;
+#X connect 27 1 28 0;
+#X connect 28 0 30 0;
+#X connect 29 0 30 1;
+#X connect 30 0 35 0;
+#X connect 30 1 33 0;
+#X connect 31 0 33 1;
+#X connect 32 0 33 2;
+#X connect 33 0 35 0;
+#X connect 34 0 35 1;
+#X connect 35 0 43 0;
+#X connect 35 1 36 0;
+#X connect 36 0 43 0;
+#X connect 37 0 36 1;
+#X connect 38 0 36 2;
+#X connect 39 0 36 3;
+#X connect 40 0 36 4;
+#X connect 41 0 36 5;
+#X connect 42 0 43 1;
+#X connect 43 0 153 0;
+#X connect 43 1 45 0;
+#X connect 44 0 45 1;
+#X connect 45 0 153 0;
+#X connect 46 0 45 2;
+#X connect 47 0 48 1;
+#X connect 48 0 181 0;
+#X connect 48 1 49 0;
+#X connect 49 0 181 0;
+#X connect 50 0 49 1;
+#X connect 51 0 52 1;
+#X connect 52 0 55 0;
+#X connect 52 1 53 0;
+#X connect 53 0 55 0;
+#X connect 54 0 55 1;
+#X connect 55 0 61 0;
+#X connect 55 1 57 0;
+#X connect 56 0 57 2;
+#X connect 57 0 61 0;
+#X connect 58 0 57 1;
+#X connect 59 0 57 3;
+#X connect 60 0 61 1;
+#X connect 61 0 68 0;
+#X connect 61 1 66 0;
+#X connect 62 0 66 1;
+#X connect 63 0 66 2;
+#X connect 64 0 66 3;
+#X connect 65 0 66 4;
+#X connect 66 0 68 0;
+#X connect 67 0 68 1;
+#X connect 68 0 75 0;
+#X connect 68 1 71 0;
+#X connect 69 0 71 2;
+#X connect 70 0 71 1;
+#X connect 71 0 75 0;
+#X connect 72 0 71 3;
+#X connect 73 0 71 4;
+#X connect 74 0 75 1;
+#X connect 75 0 80 0;
+#X connect 75 1 76 0;
+#X connect 76 0 80 0;
+#X connect 77 0 76 1;
+#X connect 78 0 76 2;
+#X connect 79 0 80 1;
+#X connect 80 0 91 0;
+#X connect 80 1 89 0;
+#X connect 81 0 89 2;
+#X connect 82 0 89 1;
+#X connect 83 0 89 3;
+#X connect 84 0 89 4;
+#X connect 85 0 89 5;
+#X connect 86 0 89 6;
+#X connect 87 0 89 7;
+#X connect 88 0 89 8;
+#X connect 89 0 91 0;
+#X connect 90 0 91 1;
+#X connect 91 0 95 0;
+#X connect 91 1 93 0;
+#X connect 92 0 93 1;
+#X connect 93 0 95 0;
+#X connect 94 0 95 1;
+#X connect 95 0 97 0;
+#X connect 95 1 100 0;
+#X connect 96 0 97 1;
+#X connect 97 0 99 0;
+#X connect 97 1 104 0;
+#X connect 98 0 99 1;
+#X connect 99 0 114 0;
+#X connect 99 1 112 0;
+#X connect 100 0 97 0;
+#X connect 101 0 100 1;
+#X connect 102 0 100 2;
+#X connect 103 0 104 1;
+#X connect 104 0 99 0;
+#X connect 105 0 104 2;
+#X connect 106 0 104 3;
+#X connect 107 0 104 4;
+#X connect 108 0 104 5;
+#X connect 109 0 104 6;
+#X connect 110 0 112 1;
+#X connect 111 0 112 2;
+#X connect 112 0 114 0;
+#X connect 113 0 114 1;
+#X connect 114 0 144 0;
+#X connect 114 1 139 0;
+#X connect 115 0 11 1;
+#X connect 117 0 190 0;
+#X connect 118 0 190 0;
+#X connect 119 0 190 0;
+#X connect 121 0 120 0;
+#X connect 122 0 121 0;
+#X connect 123 0 186 0;
+#X connect 124 0 123 1;
+#X connect 125 0 124 0;
+#X connect 126 0 129 0;
+#X connect 127 0 126 0;
+#X connect 128 0 123 0;
+#X connect 129 0 123 0;
+#X connect 130 0 128 0;
+#X connect 131 0 130 0;
+#X connect 132 0 123 0;
+#X connect 133 0 132 0;
+#X connect 134 0 135 0;
+#X connect 135 0 123 0;
+#X connect 136 0 133 0;
+#X connect 137 0 134 0;
+#X connect 138 0 123 0;
+#X connect 139 0 144 0;
+#X connect 140 0 139 1;
+#X connect 141 0 139 2;
+#X connect 142 0 139 3;
+#X connect 143 0 144 1;
+#X connect 144 0 157 0;
+#X connect 144 1 145 0;
+#X connect 145 0 157 0;
+#X connect 146 0 145 1;
+#X connect 147 0 148 1;
+#X connect 148 0 48 0;
+#X connect 148 1 149 0;
+#X connect 149 0 48 0;
+#X connect 150 0 151 0;
+#X connect 151 0 149 1;
+#X connect 152 0 153 1;
+#X connect 153 0 148 0;
+#X connect 153 1 155 0;
+#X connect 154 0 155 1;
+#X connect 155 0 148 0;
+#X connect 156 0 157 1;
+#X connect 157 0 173 0;
+#X connect 157 1 159 0;
+#X connect 158 0 159 1;
+#X connect 159 0 173 0;
+#X connect 160 0 159 0;
+#X connect 161 0 159 0;
+#X connect 162 0 159 0;
+#X connect 163 0 159 0;
+#X connect 164 0 166 0;
+#X connect 165 0 168 0;
+#X connect 166 0 165 0;
+#X connect 168 0 167 0;
+#X connect 169 0 190 0;
+#X connect 171 0 178 0;
+#X connect 172 0 173 1;
+#X connect 173 0 123 0;
+#X connect 173 1 174 0;
+#X connect 174 0 123 0;
+#X connect 175 0 174 1;
+#X connect 176 0 53 1;
+#X connect 177 0 49 2;
+#X connect 178 0 9 0;
+#X connect 178 1 9 1;
+#X connect 179 0 190 0;
+#X connect 179 1 190 1;
+#X connect 180 0 181 1;
+#X connect 181 0 52 0;
+#X connect 181 1 183 0;
+#X connect 182 0 183 2;
+#X connect 183 0 52 0;
+#X connect 184 0 183 1;
+#X connect 185 0 53 2;
+#X connect 186 0 120 0;
+#X connect 186 0 190 0;
+#X connect 186 0 191 0;
+#X connect 187 0 186 1;
+#X connect 188 0 186 2;
+#X connect 189 0 120 0;
+#X connect 190 0 116 0;
+#X connect 192 0 191 0;
+#X connect 193 0 191 0;
diff --git a/doc/help_pdp_ffmpeg~.pd b/doc/help_pdp_ffmpeg~.pd
new file mode 100644
index 0000000..86710c0
--- /dev/null
+++ b/doc/help_pdp_ffmpeg~.pd
@@ -0,0 +1,79 @@
+#N canvas 84 12 763 664 10;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 322 276 pdp_v4l;
+#X obj 331 245 metro 70;
+#X obj 376 211 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 333 212 stop;
+#X msg 418 243 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 606 530 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 606 582 pdp_control;
+#X msg 606 555 thread \$1;
+#X floatatom 606 643 5 0 0;
+#X obj 606 614 route pdp_drop;
+#X text 82 562 written by Yves Degoyon (ydegoyon@free.fr);
+#X text 579 359 Set and open the feed;
+#X msg 316 359 feed http://localhost:8090/feed1.ffm;
+#X floatatom 193 439 5 0 0;
+#X text 241 440 Streaming status;
+#X floatatom 229 462 5 0 0;
+#X text 272 462 Number of video frames emitted;
+#X text 319 320 BEWARE : All the stream parameters must be set in ffserver
+configuration file.;
+#X msg 318 387 starve;
+#X text 377 389 Close the current feed;
+#X floatatom 267 482 5 0 0;
+#X text 311 483 Number of video frames dropped;
+#X obj 96 269 adc~;
+#X text 79 624 PDP cannot guarantee that the audio will be sent on
+time;
+#X text 78 598 NOTE : although there is an experimental audio support
+here \,;
+#X text 78 611 you'd better stream with mp3cast~ because;
+#X obj 193 413 pdp_ffmpeg~;
+#X text 81 547 pdp_ffmeg~ : streams video & audio towards an ffmpeg
+server;
+#X connect 0 0 9 0;
+#X connect 1 0 15 0;
+#X connect 2 0 1 0;
+#X connect 3 0 15 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 15 0;
+#X connect 10 0 37 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X connect 14 0 10 0;
+#X connect 15 0 37 0;
+#X connect 15 3 37 0;
+#X connect 15 4 37 1;
+#X connect 16 0 18 0;
+#X connect 17 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 23 0 37 0;
+#X connect 29 0 37 0;
+#X connect 33 0 37 0;
+#X connect 33 1 37 1;
+#X connect 37 0 24 0;
+#X connect 37 1 26 0;
+#X connect 37 2 31 0;
diff --git a/doc/help_pdp_form.pd b/doc/help_pdp_form.pd
new file mode 100644
index 0000000..8fd8871
--- /dev/null
+++ b/doc/help_pdp_form.pd
@@ -0,0 +1,96 @@
+#N canvas 84 12 763 664 10;
+#X obj 92 608 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0 0 - - -;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 606 530 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 606 582 pdp_control;
+#X msg 606 555 thread \$1;
+#X floatatom 606 643 5 0 0 0 - - -;
+#X obj 606 614 route pdp_drop;
+#X text 222 631 written by Yves Degoyon (ydegoyon@free.fr);
+#X obj 189 362 hdl 15 1 0 10 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X floatatom 207 388 5 0 0 0 - - -;
+#X floatatom 223 412 5 0 0 0 - - -;
+#X floatatom 266 479 5 0 0 0 - - -;
+#X floatatom 284 499 5 0 0 0 - - -;
+#X floatatom 304 519 5 0 0 0 - - -;
+#X text 314 478 R component;
+#X text 332 498 G component;
+#X text 352 518 B component;
+#X msg 29 352 clear;
+#X msg 30 387 delete 1;
+#X msg 30 421 resize 20;
+#X text 222 619 this is useful for video composition;
+#X text 349 361 Select current form ( 10 items by default );
+#X text 252 387 X1 coordinate;
+#X text 271 411 Y1 coordinate;
+#X floatatom 236 434 5 0 0 0 - - -;
+#X floatatom 244 456 5 0 0 0 - - -;
+#X text 284 282 Add a line;
+#X text 388 333 Add an ellipse;
+#X msg 144 282 line 24 56 134 200;
+#X text 377 305 Add a rectangle ( but in red );
+#X text 281 433 X2 coordinate or ray for ellipse;
+#X text 292 455 Y2 coordinate or ray for ellipse;
+#X text 143 261 line|rectangle|ellipse x1 y1 x2|r y2|r [ r g b angle
+];
+#X msg 163 304 rectangle 56 45 123 78 255 0 0;
+#X msg 179 333 ellipse 89 120 56 78 0 255 0;
+#X text 222 605 pdp_form : geometric forms addition in PDP;
+#X obj 144 562 pdp_form -----------------;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 51 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 51 0;
+#X connect 17 0 19 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 0;
+#X connect 21 0 20 0;
+#X connect 23 0 51 1;
+#X connect 24 0 51 2;
+#X connect 25 0 51 3;
+#X connect 26 0 51 6;
+#X connect 27 0 51 7;
+#X connect 28 0 51 8;
+#X connect 32 0 51 0;
+#X connect 33 0 51 0;
+#X connect 34 0 51 0;
+#X connect 39 0 51 4;
+#X connect 40 0 51 5;
+#X connect 43 0 51 0;
+#X connect 48 0 51 0;
+#X connect 49 0 51 0;
+#X connect 51 0 0 0;
diff --git a/doc/help_pdp_imgloader.pd b/doc/help_pdp_imgloader.pd
new file mode 100644
index 0000000..0817af1
--- /dev/null
+++ b/doc/help_pdp_imgloader.pd
@@ -0,0 +1,70 @@
+#N canvas 518 15 712 664 10;
+#X obj 375 116 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 221 148 loop \$1;
+#X obj 222 126 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 249 95 open \$1;
+#X obj 248 71 openpanel;
+#X obj 249 45 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 338 114 stop;
+#X obj 355 147 metro 70;
+#X obj 488 158 pdp_v4l;
+#X obj 497 127 metro 70;
+#X obj 542 93 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 499 94 stop;
+#X msg 584 125 open /dev/video;
+#X obj 350 179 pdp_yqt;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0 0 - - -;
+#X obj 469 465 route pdp_drop;
+#X floatatom 289 321 5 0 0 0 - - -;
+#X text 289 303 X Offset;
+#X floatatom 347 321 5 0 0 0 - - -;
+#X text 347 303 Y Offset;
+#X obj 64 301 openpanel;
+#X obj 64 274 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 78 482 pdp_imgloader : load an image and blend it with a video
+;
+#X text 78 498 written by Yves Degoyon ( ydegoyon@free.fr );
+#X obj 198 397 pdp_xv;
+#X msg 66 363 clear;
+#X msg 64 325 load \$1 64 32;
+#X text 27 241 load <name> <x offset> <y offset>;
+#X text 28 228 Load an image ( types supported by imlib2 );
+#X obj 198 354 pdp_imgloader;
+#X obj 413 321 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 412 304 Blending factor;
+#X connect 0 0 7 0;
+#X connect 1 0 13 0;
+#X connect 2 0 1 0;
+#X connect 3 0 13 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 13 0;
+#X connect 8 0 32 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 9 0;
+#X connect 12 0 8 0;
+#X connect 13 0 32 0;
+#X connect 14 0 16 0;
+#X connect 15 0 18 0;
+#X connect 16 0 15 0;
+#X connect 18 0 17 0;
+#X connect 19 0 32 1;
+#X connect 21 0 32 2;
+#X connect 23 0 29 0;
+#X connect 24 0 23 0;
+#X connect 28 0 32 0;
+#X connect 29 0 32 0;
+#X connect 32 0 27 0;
+#X connect 33 0 32 3;
diff --git a/doc/help_pdp_imgsaver.pd b/doc/help_pdp_imgsaver.pd
new file mode 100644
index 0000000..0a58f22
--- /dev/null
+++ b/doc/help_pdp_imgsaver.pd
@@ -0,0 +1,54 @@
+#N canvas 518 15 712 664 10;
+#X obj 375 116 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 221 148 loop \$1;
+#X obj 222 126 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 249 95 open \$1;
+#X obj 248 71 openpanel;
+#X obj 249 45 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 338 114 stop;
+#X obj 355 147 metro 70;
+#X obj 488 158 pdp_v4l;
+#X obj 497 127 metro 70;
+#X obj 542 93 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 499 94 stop;
+#X msg 584 125 open /dev/video;
+#X obj 350 179 pdp_yqt;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0 0 - - -;
+#X obj 469 465 route pdp_drop;
+#X text 77 511 written by Yves Degoyon ( ydegoyon@free.fr );
+#X obj 198 397 pdp_xv;
+#X text 28 228 Save a snapshot of the current frame;
+#X text 78 482 pdp_imgsaver : save a snapshot as an image;
+#X msg 48 300 save /tmp/capture.jpg;
+#X text 27 241 save <name>;
+#X text 77 497 The image type is determined by extension;
+#X obj 198 354 pdp_imgsaver;
+#X text 28 255 With my imlib2 \, only jpg works !!;
+#X connect 0 0 7 0;
+#X connect 1 0 13 0;
+#X connect 2 0 1 0;
+#X connect 3 0 13 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 13 0;
+#X connect 8 0 26 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 9 0;
+#X connect 12 0 8 0;
+#X connect 13 0 26 0;
+#X connect 14 0 16 0;
+#X connect 15 0 18 0;
+#X connect 16 0 15 0;
+#X connect 18 0 17 0;
+#X connect 23 0 26 0;
+#X connect 26 0 20 0;
diff --git a/doc/help_pdp_intrusion.pd b/doc/help_pdp_intrusion.pd
new file mode 100644
index 0000000..cd0291b
--- /dev/null
+++ b/doc/help_pdp_intrusion.pd
@@ -0,0 +1,63 @@
+#N canvas 237 21 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X msg 322 263 bang;
+#X obj 366 241 metro 100;
+#X msg 349 208 bang;
+#X msg 395 210 stop;
+#X floatatom 330 300 5 0 0;
+#X text 380 299 Threshold [0 \, 255 ] default 10;
+#X obj 217 299 pdp_intrusion;
+#X text 363 263 Set background to start comparing;
+#X obj 252 167 pdp_yqt;
+#X obj 491 157 pdp_v4l;
+#X obj 500 126 metro 70;
+#X obj 545 92 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 502 93 stop;
+#X msg 587 124 open /dev/video;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X connect 1 0 10 0;
+#X connect 2 0 19 0;
+#X connect 3 0 2 0;
+#X connect 4 0 19 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 19 0;
+#X connect 11 0 17 1;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 17 2;
+#X connect 17 0 0 0;
+#X connect 19 0 17 0;
+#X connect 20 0 17 0;
+#X connect 21 0 20 0;
+#X connect 22 0 21 0;
+#X connect 23 0 21 0;
+#X connect 24 0 20 0;
+#X connect 25 0 27 0;
+#X connect 26 0 29 0;
+#X connect 27 0 26 0;
+#X connect 29 0 28 0;
diff --git a/doc/help_pdp_juxta.pd b/doc/help_pdp_juxta.pd
new file mode 100644
index 0000000..cb685ee
--- /dev/null
+++ b/doc/help_pdp_juxta.pd
@@ -0,0 +1,122 @@
+#N canvas 121 -18 828 668 10;
+#X obj 370 477 pdp_xv;
+#X obj 227 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 46 138 open \$1;
+#X obj 45 114 openpanel;
+#X obj 30 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 184 98 stop;
+#X obj 187 135 metro 70;
+#X obj 124 175 pdp_yqt;
+#X obj 251 168 pdp_v4l;
+#X obj 260 137 metro 70;
+#X obj 305 103 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 262 104 stop;
+#X obj 566 513 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 566 565 pdp_control;
+#X msg 566 538 thread \$1;
+#X floatatom 566 626 5 0 0 0 - - -;
+#X obj 566 597 route pdp_drop;
+#X obj 217 299 pdp_juxta;
+#X obj 556 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 452 136 loop \$1;
+#X obj 453 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 375 138 open \$1;
+#X obj 374 114 openpanel;
+#X obj 359 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 513 98 stop;
+#X obj 516 135 metro 70;
+#X obj 453 175 pdp_yqt;
+#X obj 580 168 pdp_v4l;
+#X obj 589 137 metro 70;
+#X obj 634 103 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 591 104 stop;
+#X text 35 604 written by Yves Degoyon ( ydegoyon@free.fr );
+#X text 35 618 idea suggested by liz;
+#X text 34 589 pdp_juxta : frames juxtaposition;
+#X obj 370 442 pdp_scale 320 240;
+#X obj 566 275 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 462 314 loop \$1;
+#X obj 463 292 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 385 316 open \$1;
+#X obj 384 292 openpanel;
+#X obj 369 275 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 523 276 stop;
+#X obj 526 313 metro 70;
+#X obj 463 353 pdp_yqt;
+#X obj 590 346 pdp_v4l;
+#X obj 599 315 metro 70;
+#X obj 644 281 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 601 282 stop;
+#X obj 370 408 pdp_juxta;
+#X msg 671 123 connect \$1;
+#X obj 671 52 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 671 74 openpanel;
+#X obj 672 167 pdp_live~;
+#X obj 671 98 makefilename file://%s;
+#X connect 1 0 8 0;
+#X connect 2 0 9 0;
+#X connect 3 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 19 0;
+#X connect 10 0 19 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X connect 14 0 16 0;
+#X connect 15 0 18 0;
+#X connect 16 0 15 0;
+#X connect 18 0 17 0;
+#X connect 19 0 50 0;
+#X connect 20 0 27 0;
+#X connect 21 0 28 0;
+#X connect 22 0 21 0;
+#X connect 23 0 28 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 19 1;
+#X connect 29 0 19 1;
+#X connect 30 0 29 0;
+#X connect 31 0 30 0;
+#X connect 32 0 30 0;
+#X connect 36 0 0 0;
+#X connect 37 0 44 0;
+#X connect 38 0 45 0;
+#X connect 39 0 38 0;
+#X connect 40 0 45 0;
+#X connect 41 0 40 0;
+#X connect 42 0 41 0;
+#X connect 43 0 44 0;
+#X connect 44 0 45 0;
+#X connect 45 0 50 1;
+#X connect 46 0 50 1;
+#X connect 47 0 46 0;
+#X connect 48 0 47 0;
+#X connect 49 0 47 0;
+#X connect 50 0 36 0;
+#X connect 51 0 54 0;
+#X connect 52 0 53 0;
+#X connect 53 0 55 0;
+#X connect 54 0 19 1;
+#X connect 55 0 51 0;
diff --git a/doc/help_pdp_lens.pd b/doc/help_pdp_lens.pd
new file mode 100644
index 0000000..c99f126
--- /dev/null
+++ b/doc/help_pdp_lens.pd
@@ -0,0 +1,67 @@
+#N canvas 237 21 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 217 299 pdp_lens;
+#X floatatom 301 207 5 0 0;
+#X floatatom 315 229 5 0 0;
+#X text 347 205 X coordinate of lens upper left corner;
+#X text 358 229 Y coordinate of lens upper left corner;
+#X floatatom 328 250 5 0 0;
+#X text 375 250 Lens size;
+#X floatatom 344 268 5 0 0;
+#X text 391 268 Zoom factor;
+#X obj 355 297 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 378 296 Mode ( 0=static 1=inspecting );
+#X obj 252 167 pdp_yqt;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X connect 1 0 10 0;
+#X connect 2 0 22 0;
+#X connect 3 0 2 0;
+#X connect 4 0 22 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 22 0;
+#X connect 11 0 0 0;
+#X connect 12 0 11 1;
+#X connect 13 0 11 2;
+#X connect 16 0 11 3;
+#X connect 18 0 11 4;
+#X connect 20 0 11 5;
+#X connect 22 0 11 0;
+#X connect 23 0 11 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;
+#X connect 26 0 24 0;
+#X connect 27 0 23 0;
+#X connect 28 0 30 0;
+#X connect 29 0 32 0;
+#X connect 30 0 29 0;
+#X connect 32 0 31 0;
diff --git a/doc/help_pdp_live~.pd b/doc/help_pdp_live~.pd
new file mode 100644
index 0000000..a12f862
--- /dev/null
+++ b/doc/help_pdp_live~.pd
@@ -0,0 +1,15 @@
+#N canvas 259 178 509 391 10;
+#X obj 128 113 rs_pdp_live~;
+#X obj 156 158 dac~;
+#X text 51 321 written by Yves Degoyon (ydegoyon@free.fr);
+#X text 51 308 ( at least from ffserver );
+#X text 51 295 pdp_live~ : decodes a live video stream;
+#X text 236 112 <-- everything is in this box;
+#X text 265 127 where the block size is redefined;
+#X text 265 142 this is necessary for an;
+#X text 266 154 ( acceptable? ) audio decoding;
+#X obj 395 221 loadbang;
+#X msg 395 251 \; pd dsp 1;
+#X connect 0 0 1 0;
+#X connect 0 1 1 1;
+#X connect 9 0 10 0;
diff --git a/doc/help_pdp_lumafilt.pd b/doc/help_pdp_lumafilt.pd
new file mode 100644
index 0000000..400b4c1
--- /dev/null
+++ b/doc/help_pdp_lumafilt.pd
@@ -0,0 +1,75 @@
+#N canvas 237 21 712 664 10;
+#X obj 118 358 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0 0 - - -;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 553 382 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 553 434 pdp_control;
+#X msg 553 407 thread \$1;
+#X floatatom 553 495 5 0 0 0 - - -;
+#X obj 553 466 route pdp_drop;
+#X text 56 407 pdp_lumafilt : luminosity filter;
+#X text 57 420 useful to isolate some objects;
+#X text 56 433 written by Yves Degoyon ( ydegoyon@free.fr );
+#X text 407 271 Filter this level of luminosity;
+#X floatatom 362 272 5 0 0 0 - - -;
+#X msg 283 296 filter \$1 0;
+#X floatatom 361 298 5 0 0 0 - - -;
+#X msg 284 270 filter \$1 1;
+#X text 406 297 Unfilter this level of luminosity;
+#X text 405 321 Mass filter these levels of luminosity [ 0 - 200 ]
+;
+#X text 406 344 Mass unfilter these levels of luminosity [ 0 - 200
+];
+#X msg 284 346 mfilter 0 200 0;
+#X obj 117 290 pdp_lumafilt;
+#X msg 283 323 mfilter 0 200 1;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 35 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 35 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
+#X connect 17 0 13 0;
+#X connect 18 0 20 0;
+#X connect 19 0 22 0;
+#X connect 20 0 19 0;
+#X connect 22 0 21 0;
+#X connect 27 0 30 0;
+#X connect 28 0 35 0;
+#X connect 29 0 28 0;
+#X connect 30 0 35 0;
+#X connect 34 0 35 0;
+#X connect 35 0 0 0;
+#X connect 36 0 35 0;
diff --git a/doc/help_pdp_mgrid.pd b/doc/help_pdp_mgrid.pd
new file mode 100644
index 0000000..1063020
--- /dev/null
+++ b/doc/help_pdp_mgrid.pd
@@ -0,0 +1,77 @@
+#N canvas 237 21 712 664 10;
+#X obj 176 482 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0 0 - - -;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 215 350 pdp_mgrid;
+#X obj 252 167 pdp_yqt;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X floatatom 309 279 5 0 0 0 - - -;
+#X floatatom 318 300 5 0 0 0 - - -;
+#X text 363 299 Grid dimension (X);
+#X floatatom 335 321 5 0 0 0 - - -;
+#X floatatom 353 345 5 0 0 0 - - -;
+#X floatatom 235 433 5 0 0 0 - - -;
+#X floatatom 280 399 5 0 0 0 - - -;
+#X text 332 405 Y coordinate of cell where motion has been detected
+;
+#X text 288 533 written by Yves Degoyon ( ydegoyon@free.fr );
+#X text 289 516 pdp_mgrid : grid-based motion detection;
+#X text 355 279 Threshold ( pixel average distance within a cell )
+;
+#X text 380 320 Grid dimension (Y);
+#X text 401 344 Grid visibility;
+#X text 288 433 X coordinate of cell where motion has been detected
+;
+#X obj 70 498 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 70 550 pdp_control;
+#X msg 70 523 thread \$1;
+#X floatatom 70 611 5 0 0 0 - - -;
+#X obj 70 582 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 13 0;
+#X connect 3 0 2 0;
+#X connect 4 0 13 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 13 0;
+#X connect 12 0 0 0;
+#X connect 12 1 24 0;
+#X connect 12 2 25 0;
+#X connect 13 0 12 0;
+#X connect 13 3 10 0;
+#X connect 13 4 10 1;
+#X connect 14 0 12 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 14 0;
+#X connect 19 0 12 1;
+#X connect 20 0 12 2;
+#X connect 22 0 12 3;
+#X connect 23 0 12 4;
+#X connect 33 0 35 0;
+#X connect 34 0 37 0;
+#X connect 35 0 34 0;
+#X connect 37 0 36 0;
diff --git a/doc/help_pdp_mosaic.pd b/doc/help_pdp_mosaic.pd
new file mode 100644
index 0000000..fd5ada8
--- /dev/null
+++ b/doc/help_pdp_mosaic.pd
@@ -0,0 +1,60 @@
+#N canvas 237 21 721 664 10;
+#X obj 248 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X msg 340 272 bang;
+#X obj 262 314 pdp_mosaic;
+#X floatatom 359 299 5 0 0;
+#X text 381 274 Set background;
+#X text 406 297 Censorship level;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 14 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 14 1;
+#X connect 14 0 0 0;
+#X connect 15 0 14 2;
+#X connect 18 0 14 0;
+#X connect 19 0 18 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 18 0;
+#X connect 23 0 25 0;
+#X connect 24 0 27 0;
+#X connect 25 0 24 0;
+#X connect 27 0 26 0;
diff --git a/doc/help_pdp_nervous.pd b/doc/help_pdp_nervous.pd
new file mode 100644
index 0000000..e611718
--- /dev/null
+++ b/doc/help_pdp_nervous.pd
@@ -0,0 +1,61 @@
+#N canvas 237 21 712 664 10;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 212 314 pdp_nervous;
+#X text 371 299 Mode;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 350 300 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X floatatom 322 275 5 0 0;
+#X text 370 273 Number of frames;
+#X obj 211 358 pdp_xv;
+#X connect 0 0 9 0;
+#X connect 1 0 17 0;
+#X connect 2 0 1 0;
+#X connect 3 0 17 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 17 0;
+#X connect 10 0 15 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X connect 14 0 10 0;
+#X connect 15 0 27 0;
+#X connect 17 0 15 0;
+#X connect 17 3 18 0;
+#X connect 17 4 18 1;
+#X connect 19 0 15 2;
+#X connect 20 0 22 0;
+#X connect 21 0 24 0;
+#X connect 22 0 21 0;
+#X connect 24 0 23 0;
+#X connect 25 0 15 1;
diff --git a/doc/help_pdp_noquark.pd b/doc/help_pdp_noquark.pd
new file mode 100644
index 0000000..30b17b8
--- /dev/null
+++ b/doc/help_pdp_noquark.pd
@@ -0,0 +1,74 @@
+#N canvas 237 21 712 664 10;
+#X obj 176 476 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X floatatom 290 282 5 0 0;
+#X text 336 281 Number of frames;
+#X floatatom 330 304 5 0 0;
+#X text 376 304 Tolerance;
+#X obj 212 314 pdp_noquark;
+#X obj 149 348 pdp_affine;
+#X floatatom 247 402 5 0 0;
+#X floatatom 265 373 5 0 0;
+#X msg 320 419 open /tmp/mo.mov;
+#X obj 290 478 pdp_rec~;
+#X msg 325 439 start;
+#X msg 355 464 stop;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 27 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 27 0;
+#X connect 16 3 17 0;
+#X connect 16 4 17 1;
+#X connect 18 0 20 0;
+#X connect 19 0 22 0;
+#X connect 20 0 19 0;
+#X connect 22 0 21 0;
+#X connect 23 0 27 1;
+#X connect 25 0 27 2;
+#X connect 27 0 28 0;
+#X connect 28 0 0 0;
+#X connect 28 0 32 0;
+#X connect 29 0 28 1;
+#X connect 30 0 28 2;
+#X connect 31 0 32 0;
+#X connect 33 0 32 0;
+#X connect 34 0 32 0;
diff --git a/doc/help_pdp_puzzle.pd b/doc/help_pdp_puzzle.pd
new file mode 100644
index 0000000..98b2674
--- /dev/null
+++ b/doc/help_pdp_puzzle.pd
@@ -0,0 +1,66 @@
+#N canvas 84 12 712 664 10;
+#X obj 197 398 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 198 354 pdp_puzzle;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0;
+#X obj 469 465 route pdp_drop;
+#X msg 49 276 up;
+#X msg 84 276 down;
+#X msg 125 277 left;
+#X msg 168 278 right;
+#X floatatom 327 278 5 0 0;
+#X text 104 257 Movement;
+#X text 327 260 Number of blocks;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 18 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 18 0;
+#X connect 16 3 17 0;
+#X connect 16 4 17 1;
+#X connect 18 0 0 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 18 0;
+#X connect 25 0 18 0;
+#X connect 26 0 18 0;
+#X connect 27 0 18 0;
+#X connect 28 0 18 1;
diff --git a/doc/help_pdp_quark.pd b/doc/help_pdp_quark.pd
new file mode 100644
index 0000000..5c4fb7b
--- /dev/null
+++ b/doc/help_pdp_quark.pd
@@ -0,0 +1,60 @@
+#N canvas 237 21 712 664 10;
+#X obj 211 358 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 212 314 pdp_quark;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 414 352 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 414 404 pdp_control;
+#X msg 414 377 thread \$1;
+#X floatatom 414 465 5 0 0;
+#X obj 414 436 route pdp_drop;
+#X floatatom 290 282 5 0 0;
+#X text 336 281 Number of frames;
+#X floatatom 302 302 5 0 0;
+#X text 348 302 Tolerance;
+#X connect 1 0 10 0;
+#X connect 2 0 17 0;
+#X connect 3 0 2 0;
+#X connect 4 0 17 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 17 0;
+#X connect 11 0 16 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 0 0;
+#X connect 17 0 16 0;
+#X connect 17 3 18 0;
+#X connect 17 4 18 1;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 16 1;
+#X connect 26 0 16 2;
diff --git a/doc/help_pdp_radioactiv.pd b/doc/help_pdp_radioactiv.pd
new file mode 100644
index 0000000..25864f4
--- /dev/null
+++ b/doc/help_pdp_radioactiv.pd
@@ -0,0 +1,74 @@
+#N canvas 237 21 712 664 10;
+#X obj 267 415 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X floatatom 374 310 5 0 0;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 267 359 pdp_radioactiv;
+#X obj 341 285 hdl 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X text 412 283 Mode;
+#X obj 252 167 pdp_yqt;
+#X floatatom 408 332 5 0 0;
+#X obj 283 243 dac~;
+#X text 421 310 Snap time;
+#X text 458 331 Snap interval;
+#X floatatom 374 310 5 0 0;
+#X obj 267 359 pdp_radioactiv;
+#X obj 341 285 hdl 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X text 412 283 Mode;
+#X floatatom 408 332 5 0 0;
+#X text 421 310 Snap time;
+#X obj 423 373 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 423 425 pdp_control;
+#X msg 423 398 thread \$1;
+#X floatatom 423 486 5 0 0;
+#X obj 423 457 route pdp_drop;
+#X connect 1 0 10 0;
+#X connect 2 0 20 0;
+#X connect 3 0 2 0;
+#X connect 4 0 20 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 20 0;
+#X connect 11 0 17 2;
+#X connect 12 0 17 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
+#X connect 16 0 12 0;
+#X connect 17 0 0 0;
+#X connect 18 0 17 1;
+#X connect 20 0 17 0;
+#X connect 20 3 22 0;
+#X connect 20 4 22 1;
+#X connect 21 0 17 3;
+#X connect 25 0 26 2;
+#X connect 27 0 26 1;
+#X connect 29 0 26 3;
+#X connect 31 0 33 0;
+#X connect 32 0 35 0;
+#X connect 33 0 32 0;
+#X connect 35 0 34 0;
diff --git a/doc/help_pdp_rec~.pd b/doc/help_pdp_rec~.pd
new file mode 100644
index 0000000..ae82d44
--- /dev/null
+++ b/doc/help_pdp_rec~.pd
@@ -0,0 +1,113 @@
+#N canvas 5 16 986 661 10;
+#X obj 255 34 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 117 65 loop \$1;
+#X obj 117 40 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X msg 280 33 open \$1;
+#X obj 342 33 openpanel;
+#X obj 412 34 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 303 69 5 0 0;
+#X msg 212 35 stop;
+#X obj 216 84 metro 70;
+#X obj 18 245 pdp_v4l;
+#X obj 27 214 metro 70;
+#X obj 72 180 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 29 181 stop;
+#X msg 92 215 open /dev/video;
+#X text 113 637 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 281 217 stop;
+#X msg 280 191 start;
+#X text 432 167 Open a file before any operations;
+#X text 322 192 Start recording;
+#X msg 280 165 open /tmp/output.mov;
+#X floatatom 159 534 5 0 0;
+#X obj 217 111 pdp_yqt;
+#X text 328 621 using YUV420P color model ( hard-coded);
+#X text 112 621 it records in quicktime format;
+#X msg 283 347 jpeg \$1;
+#X floatatom 346 348 5 0 0;
+#X text 395 346 JPEG quality factor ( if using jpeg compressor );
+#X msg 281 372 framerate \$1;
+#X floatatom 378 372 5 0 0;
+#X text 427 371 Frame rate : if not set \, it will be calculated;
+#X text 388 325 Set a compressor supported by libquicktime ( 0.9.1
+);
+#X msg 281 270 symbol jpeg;
+#X msg 282 324 compressor \$1;
+#X msg 281 294 symbol raw;
+#X msg 361 293 symbol divx;
+#X msg 449 294 symbol dv;
+#X msg 369 270 symbol yuv2;
+#X text 319 225 ( u need to do that to have a useable movie );
+#X text 322 212 Stop recording;
+#X obj 832 499 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 832 551 pdp_control;
+#X msg 832 524 thread \$1;
+#X floatatom 832 612 5 0 0;
+#X obj 832 583 route pdp_drop;
+#X text 113 605 pdp_rec~ : records video and audio output to file;
+#X obj 119 300 adc~;
+#X text 273 125 <---- audio connections;
+#X text 281 147 ==== ACTIONS ========;
+#X text 282 250 ==== VIDEOS SETTINGS ========;
+#X text 390 450 Set a compressor supported by libquicktime ( 0.9.1
+);
+#X text 285 399 ==== AUDIO SETTINGS ========;
+#X msg 284 449 acompressor \$1;
+#X msg 284 423 symbol twos;
+#X obj 139 109 pdp_xv;
+#X text 283 475 NOTE : pdp_rec~ will record 2 channels \, 8 bits audio
+at the samplerate of PD;
+#X msg 375 423 symbol raw;
+#X obj 159 505 pdp_rec~;
+#X obj 21 385 pdp_affine;
+#X floatatom 52 340 5 0 0;
+#X obj 26 440 pdp_xv;
+#X connect 0 0 8 0;
+#X connect 1 0 21 0;
+#X connect 2 0 1 0;
+#X connect 3 0 21 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 1;
+#X connect 7 0 8 0;
+#X connect 8 0 21 0;
+#X connect 9 0 57 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
+#X connect 12 0 10 0;
+#X connect 13 0 9 0;
+#X connect 15 0 56 0;
+#X connect 16 0 56 0;
+#X connect 19 0 56 0;
+#X connect 21 0 53 0;
+#X connect 21 0 56 0;
+#X connect 21 3 56 0;
+#X connect 21 4 56 1;
+#X connect 24 0 56 0;
+#X connect 25 0 24 0;
+#X connect 27 0 56 0;
+#X connect 28 0 27 0;
+#X connect 31 0 32 0;
+#X connect 32 0 56 0;
+#X connect 33 0 32 0;
+#X connect 34 0 32 0;
+#X connect 35 0 32 0;
+#X connect 36 0 32 0;
+#X connect 39 0 41 0;
+#X connect 40 0 43 0;
+#X connect 41 0 40 0;
+#X connect 43 0 42 0;
+#X connect 45 0 56 0;
+#X connect 45 1 56 1;
+#X connect 51 0 56 0;
+#X connect 52 0 51 0;
+#X connect 55 0 51 0;
+#X connect 56 0 20 0;
+#X connect 57 0 59 0;
+#X connect 57 0 56 0;
+#X connect 58 0 57 1;
diff --git a/doc/help_pdp_rev.pd b/doc/help_pdp_rev.pd
new file mode 100644
index 0000000..62a3c0d
--- /dev/null
+++ b/doc/help_pdp_rev.pd
@@ -0,0 +1,66 @@
+#N canvas 237 21 712 664 10;
+#X obj 248 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X floatatom 336 274 5 0 0;
+#X floatatom 358 299 5 0 0;
+#X floatatom 372 321 5 0 0;
+#X floatatom 389 344 5 0 0;
+#X obj 249 323 pdp_rev;
+#X text 411 297 Line Space default=6;
+#X text 387 274 Grab Time [ 1 \, ... ] default=1;
+#X text 423 318 Scale [ 1 \, ... ] default=50;
+#X text 439 343 Line color default=0xffff;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 480 394 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 480 446 pdp_control;
+#X msg 480 419 thread \$1;
+#X floatatom 480 507 5 0 0;
+#X obj 480 478 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 17 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 17 1;
+#X connect 14 0 17 2;
+#X connect 15 0 17 3;
+#X connect 16 0 17 4;
+#X connect 17 0 0 0;
+#X connect 22 0 17 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 25 0 23 0;
+#X connect 26 0 22 0;
+#X connect 27 0 29 0;
+#X connect 28 0 31 0;
+#X connect 29 0 28 0;
+#X connect 31 0 30 0;
diff --git a/doc/help_pdp_ripple.pd b/doc/help_pdp_ripple.pd
new file mode 100644
index 0000000..6deadbc
--- /dev/null
+++ b/doc/help_pdp_ripple.pd
@@ -0,0 +1,67 @@
+#N canvas 237 21 712 664 10;
+#X obj 248 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X msg 384 260 bang;
+#X obj 367 235 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 249 323 pdp_ripple;
+#X text 389 234 Mode ( 0=raindrops \, 1=motion detection );
+#X floatatom 403 287 5 0 0;
+#X text 454 287 Motion detection threshold;
+#X text 425 262 Reset;
+#X floatatom 422 310 5 0 0;
+#X text 473 309 Rain density evolution speed;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 406 378 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 406 430 pdp_control;
+#X msg 406 403 thread \$1;
+#X floatatom 406 491 5 0 0;
+#X obj 406 462 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 15 2;
+#X connect 14 0 15 1;
+#X connect 15 0 0 0;
+#X connect 17 0 15 3;
+#X connect 20 0 15 4;
+#X connect 22 0 15 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 25 0 23 0;
+#X connect 26 0 22 0;
+#X connect 27 0 29 0;
+#X connect 28 0 31 0;
+#X connect 29 0 28 0;
+#X connect 31 0 30 0;
diff --git a/doc/help_pdp_segsnd~.pd b/doc/help_pdp_segsnd~.pd
new file mode 100644
index 0000000..ca275fd
--- /dev/null
+++ b/doc/help_pdp_segsnd~.pd
@@ -0,0 +1,13 @@
+#N canvas 259 178 509 391 10;
+#X obj 156 158 dac~;
+#X text 51 321 written by Yves Degoyon (ydegoyon@free.fr);
+#X text 236 112 <-- everything is in this box;
+#X text 265 127 where the block size is redefined;
+#X obj 395 221 loadbang;
+#X msg 395 251 \; pd dsp 1;
+#X obj 128 113 rs_pdp_segsnd~;
+#X text 51 295 pdp_segsnd~ : turns a segment into sound;
+#X text 51 308 ( only use luminosity );
+#X connect 4 0 5 0;
+#X connect 6 0 0 0;
+#X connect 6 0 0 1;
diff --git a/doc/help_pdp_shagadelic.pd b/doc/help_pdp_shagadelic.pd
new file mode 100644
index 0000000..12d6f32
--- /dev/null
+++ b/doc/help_pdp_shagadelic.pd
@@ -0,0 +1,59 @@
+#N canvas 84 12 712 664 10;
+#X obj 263 378 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 264 334 pdp_shagadelic;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0;
+#X obj 469 465 route pdp_drop;
+#X floatatom 397 277 5 0 0;
+#X text 396 257 Mask;
+#X obj 373 301 * 100;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 18 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 18 0;
+#X connect 16 3 17 0;
+#X connect 16 4 17 1;
+#X connect 18 0 0 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 26 0;
+#X connect 26 0 18 1;
diff --git a/doc/help_pdp_simura.pd b/doc/help_pdp_simura.pd
new file mode 100644
index 0000000..59ac77a
--- /dev/null
+++ b/doc/help_pdp_simura.pd
@@ -0,0 +1,65 @@
+#N canvas 237 21 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 217 299 pdp_simura;
+#X floatatom 344 275 5 0 0;
+#X obj 252 167 pdp_yqt;
+#X text 445 257 Color 0<c<65535;
+#X obj 386 316 hdl 15 1 0 9 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X text 388 298 Mode;
+#X msg 442 282 56987;
+#X msg 425 221 16733;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 406 378 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 406 430 pdp_control;
+#X msg 406 403 thread \$1;
+#X floatatom 406 491 5 0 0;
+#X obj 406 462 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 14 0;
+#X connect 3 0 2 0;
+#X connect 4 0 14 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 14 0;
+#X connect 12 0 0 0;
+#X connect 13 0 12 1;
+#X connect 14 0 12 0;
+#X connect 14 3 10 0;
+#X connect 14 4 10 1;
+#X connect 16 0 12 2;
+#X connect 18 0 13 0;
+#X connect 19 0 13 0;
+#X connect 20 0 12 0;
+#X connect 21 0 20 0;
+#X connect 22 0 21 0;
+#X connect 23 0 21 0;
+#X connect 24 0 20 0;
+#X connect 25 0 27 0;
+#X connect 26 0 29 0;
+#X connect 27 0 26 0;
+#X connect 29 0 28 0;
diff --git a/doc/help_pdp_smuck.pd b/doc/help_pdp_smuck.pd
new file mode 100644
index 0000000..38a5bf3
--- /dev/null
+++ b/doc/help_pdp_smuck.pd
@@ -0,0 +1,57 @@
+#N canvas 84 12 712 664 10;
+#X obj 263 378 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0 0 - - -;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0 0 - - -;
+#X obj 469 465 route pdp_drop;
+#X floatatom 344 318 5 0 0 0 - - -;
+#X text 339 300 Set transformation factor ( default = 30 );
+#X obj 264 334 pdp_smuck;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 25 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 25 0;
+#X connect 16 3 17 0;
+#X connect 16 4 17 1;
+#X connect 18 0 20 0;
+#X connect 19 0 22 0;
+#X connect 20 0 19 0;
+#X connect 22 0 21 0;
+#X connect 23 0 25 1;
+#X connect 25 0 0 0;
diff --git a/doc/help_pdp_spigot.pd b/doc/help_pdp_spigot.pd
new file mode 100644
index 0000000..0642f72
--- /dev/null
+++ b/doc/help_pdp_spigot.pd
@@ -0,0 +1,52 @@
+#N canvas 237 21 712 664 10;
+#X obj 263 491 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 305 466 5 0 0;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 305 272 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 330 273 Route to outlet 0 or 1;
+#X obj 217 299 pdp_spigot;
+#X obj 175 371 pdp_edge;
+#X obj 319 373 pdp_quark;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 0 1;
+#X connect 8 0 11 1;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 11 0 12 0;
+#X connect 12 0 20 0;
+#X connect 13 0 20 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
+#X connect 17 0 13 0;
+#X connect 18 0 20 1;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
diff --git a/doc/help_pdp_spiral.pd b/doc/help_pdp_spiral.pd
new file mode 100644
index 0000000..c0a60e5
--- /dev/null
+++ b/doc/help_pdp_spiral.pd
@@ -0,0 +1,82 @@
+#N canvas 237 21 712 664 10;
+#X obj 193 497 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X floatatom 391 277 5 0 0;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 194 453 pdp_spiral ---------------------;
+#X obj 358 252 hdl 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X text 488 252 Mode;
+#X obj 252 167 pdp_yqt;
+#X text 438 277 Focus X;
+#X floatatom 425 299 5 0 0;
+#X text 472 299 Focus Y;
+#X floatatom 442 326 5 0 0;
+#X text 489 326 Depth Shift;
+#X floatatom 453 354 5 0 0;
+#X text 499 355 Focus interval;
+#X text 511 384 Focus increment;
+#X floatatom 463 383 5 0 0;
+#X text 511 384 Focus increment;
+#X obj 481 407 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 495 430 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 508 409 Toggle XOR;
+#X text 519 431 Animate Focus;
+#X obj 283 243 dac~;
+#X obj 410 486 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 410 538 pdp_control;
+#X msg 410 511 thread \$1;
+#X floatatom 410 599 5 0 0;
+#X obj 410 570 route pdp_drop;
+#X connect 1 0 10 0;
+#X connect 2 0 20 0;
+#X connect 3 0 2 0;
+#X connect 4 0 20 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 20 0;
+#X connect 11 0 17 2;
+#X connect 12 0 17 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
+#X connect 16 0 12 0;
+#X connect 17 0 0 0;
+#X connect 18 0 17 1;
+#X connect 20 0 17 0;
+#X connect 20 3 35 0;
+#X connect 20 4 35 1;
+#X connect 22 0 17 3;
+#X connect 24 0 17 4;
+#X connect 26 0 17 5;
+#X connect 29 0 17 6;
+#X connect 31 0 17 7;
+#X connect 32 0 17 8;
+#X connect 36 0 38 0;
+#X connect 37 0 40 0;
+#X connect 38 0 37 0;
+#X connect 40 0 39 0;
diff --git a/doc/help_pdp_streaming.pd b/doc/help_pdp_streaming.pd
new file mode 100644
index 0000000..9615b13
--- /dev/null
+++ b/doc/help_pdp_streaming.pd
@@ -0,0 +1,83 @@
+#N canvas 88 8 772 635 10;
+#X obj 149 535 pdp_xv;
+#X obj 263 66 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 165 92 loop \$1;
+#X obj 166 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X msg 150 45 open \$1;
+#X obj 149 21 openpanel;
+#X obj 134 4 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 287 66 5 0 0;
+#X msg 227 66 stop;
+#X obj 233 92 metro 70;
+#X text 386 588 written by Yves Degoyon ( ydegoyon@free.fr );
+#X obj 169 156 pdp_yqt;
+#X obj 160 315 pdp_o;
+#X msg 267 154 connect localhost 4578;
+#X msg 267 179 disconnect;
+#X msg 267 202 start;
+#X msg 267 227 stop;
+#X floatatom 203 492 5 0 0;
+#X obj 145 443 pdp_i 4578;
+#X floatatom 180 512 5 0 0;
+#X text 229 512 Connection state;
+#X text 249 492 Number of frames received;
+#X symbolatom 220 470 10 0 0;
+#X text 301 472 Address of the emitter;
+#X msg 267 253 refresh;
+#X msg 267 279 framerate \$1;
+#X floatatom 366 280 5 0 0;
+#X text 411 280 Emission frame rate;
+#X floatatom 136 406 5 0 0;
+#X text 188 407 Connection state;
+#X floatatom 165 386 7 0 0;
+#X text 223 384 Frames emitted;
+#X floatatom 190 362 7 0 0;
+#X text 250 360 Frames dropped;
+#X obj 571 390 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 571 442 pdp_control;
+#X msg 571 415 thread \$1;
+#X floatatom 571 503 5 0 0;
+#X obj 571 474 route pdp_drop;
+#X text 385 569 pdp_o/pdp_i : PDP packets streaming;
+#X floatatom 366 302 5 0 0;
+#X msg 267 301 smoothing \$1;
+#X text 411 302 Smoothing factor;
+#X text 413 242 The bandwidth used can be controlled;
+#X text 413 255 by changing these two parameters :;
+#X floatatom 207 341 5 0 0;
+#X text 259 340 Bandwidth (in kb);
+#X connect 1 0 9 0;
+#X connect 2 0 11 0;
+#X connect 3 0 2 0;
+#X connect 4 0 11 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 1;
+#X connect 8 0 9 0;
+#X connect 9 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 28 0;
+#X connect 12 1 30 0;
+#X connect 12 2 32 0;
+#X connect 12 3 45 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 12 0;
+#X connect 16 0 12 0;
+#X connect 18 0 0 0;
+#X connect 18 1 19 0;
+#X connect 18 2 17 0;
+#X connect 18 3 22 0;
+#X connect 24 0 12 0;
+#X connect 25 0 12 0;
+#X connect 26 0 25 0;
+#X connect 34 0 36 0;
+#X connect 35 0 38 0;
+#X connect 36 0 35 0;
+#X connect 38 0 37 0;
+#X connect 40 0 41 0;
+#X connect 41 0 12 0;
diff --git a/doc/help_pdp_text.pd b/doc/help_pdp_text.pd
new file mode 100644
index 0000000..dd03714
--- /dev/null
+++ b/doc/help_pdp_text.pd
@@ -0,0 +1,118 @@
+#N canvas 84 12 763 664 10;
+#X obj 92 608 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0 0 - - -;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 606 530 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 606 582 pdp_control;
+#X msg 606 555 thread \$1;
+#X floatatom 606 643 5 0 0 0 - - -;
+#X obj 606 614 route pdp_drop;
+#X text 221 617 pdp_text : text rendering in PDP;
+#X text 222 631 written by Yves Degoyon (ydegoyon@free.fr);
+#X msg 144 282 text moshi-moshi 34 58;
+#X msg 163 304 text on%32air!! 150 78;
+#X msg 186 384 text %34%48%49:37:58%34 20 220;
+#X msg 177 359 text "01:37:58" 230 220;
+#X msg 171 330 text a%32hundred%32%% 120 128 255 0 0;
+#X obj 204 425 hdl 15 1 0 10 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X text 364 424 Select current text ( 10 items by default );
+#X text 308 282 Add a simple text;
+#X text 330 304 Add a text with special characters;
+#X text 438 330 Add a real percent now ( but in red );
+#X text 355 359 Have to put a quote (%34) before starting numbers;
+#X text 409 384 This time \, it's real quotes ( tricky \, hey?? );
+#X floatatom 219 451 5 0 0 0 - - -;
+#X text 267 450 X coordinate;
+#X floatatom 240 472 5 0 0 0 - - -;
+#X floatatom 265 493 5 0 0 0 - - -;
+#X floatatom 283 513 5 0 0 0 - - -;
+#X floatatom 303 533 5 0 0 0 - - -;
+#X text 288 471 Y coordinate;
+#X text 313 492 R component;
+#X text 331 512 G component;
+#X text 351 532 B component;
+#X msg 445 203 dim 800 600;
+#X msg 29 352 clear;
+#X msg 30 387 delete 1;
+#X msg 30 421 resize 20;
+#X msg 30 489 font helmetr/14;
+#X obj 155 585 pdp_text -----------------;
+#X text 139 254 text <text> x y [ r g b angle ];
+#X floatatom 331 554 5 0 0 0 - - -;
+#X text 379 553 Angle;
+#X msg 61 516 dither \$1;
+#X floatatom 13 518 5 0 0 0 - - -;
+#X floatatom 14 541 5 0 0 0 - - -;
+#X msg 63 540 blend \$1;
+#X floatatom 14 562 5 0 0 0 - - -;
+#X msg 64 560 antialias \$1;
+#X msg 29 458 font helmetr/5;
+#X floatatom 365 577 5 0 0 0 - - -;
+#X text 411 577 Scroll;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 51 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 51 0;
+#X connect 17 0 19 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 0;
+#X connect 21 0 20 0;
+#X connect 24 0 51 0;
+#X connect 25 0 51 0;
+#X connect 26 0 51 0;
+#X connect 27 0 51 0;
+#X connect 28 0 51 0;
+#X connect 29 0 51 1;
+#X connect 36 0 51 2;
+#X connect 38 0 51 3;
+#X connect 39 0 51 4;
+#X connect 40 0 51 5;
+#X connect 41 0 51 6;
+#X connect 46 0 11 0;
+#X connect 47 0 51 0;
+#X connect 48 0 51 0;
+#X connect 49 0 51 0;
+#X connect 50 0 51 0;
+#X connect 51 0 0 0;
+#X connect 53 0 51 7;
+#X connect 55 0 51 0;
+#X connect 56 0 55 0;
+#X connect 57 0 58 0;
+#X connect 58 0 51 0;
+#X connect 59 0 60 0;
+#X connect 60 0 51 0;
+#X connect 61 0 51 0;
+#X connect 62 0 51 8;
diff --git a/doc/help_pdp_transform.pd b/doc/help_pdp_transform.pd
new file mode 100644
index 0000000..9a207db
--- /dev/null
+++ b/doc/help_pdp_transform.pd
@@ -0,0 +1,58 @@
+#N canvas 84 12 712 664 10;
+#X obj 263 378 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 346 203 pdp_v4l;
+#X obj 355 172 metro 70;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 252 167 pdp_yqt;
+#X obj 283 243 dac~;
+#X obj 264 334 pdp_transform;
+#X obj 469 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 469 433 pdp_control;
+#X msg 469 406 thread \$1;
+#X floatatom 469 494 5 0 0;
+#X obj 469 465 route pdp_drop;
+#X obj 343 304 hdl 15 1 0 6 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X text 346 281 Choose transformation;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 18 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 18 0;
+#X connect 16 3 17 0;
+#X connect 16 4 17 1;
+#X connect 18 0 0 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 18 1;
diff --git a/doc/help_pdp_transition.pd b/doc/help_pdp_transition.pd
new file mode 100644
index 0000000..7e6e871
--- /dev/null
+++ b/doc/help_pdp_transition.pd
@@ -0,0 +1,116 @@
+#N canvas 324 0 828 668 10;
+#X obj 275 452 pdp_xv;
+#X obj 227 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 46 138 open \$1;
+#X obj 45 114 openpanel;
+#X obj 30 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 184 98 stop;
+#X obj 187 135 metro 70;
+#X obj 124 175 pdp_yqt;
+#X obj 251 168 pdp_v4l;
+#X obj 260 137 metro 70;
+#X obj 305 103 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 262 104 stop;
+#X obj 587 463 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 587 488 thread \$1;
+#X floatatom 587 576 5 0 0 0 - - -;
+#X obj 587 547 route pdp_drop;
+#X obj 556 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 452 136 loop \$1;
+#X obj 453 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 375 138 open \$1;
+#X obj 374 114 openpanel;
+#X obj 359 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 513 98 stop;
+#X obj 516 135 metro 70;
+#X obj 453 175 pdp_yqt;
+#X obj 580 168 pdp_v4l;
+#X obj 589 137 metro 70;
+#X obj 634 103 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 591 104 stop;
+#X text 42 572 written by Yves Degoyon ( ydegoyon@free.fr );
+#X text 144 538 between 2 video sources;
+#X text 40 526 pdp_transition : alternate transitions;
+#X msg 177 328 circle 5;
+#X msg 177 306 circle 1;
+#X obj 587 515 pdp_control;
+#X msg 443 301 wipelr 5 0;
+#X text 524 302 Wipe transition left to right : <speed> <randomness>
+;
+#X msg 443 321 wipelr 5 40;
+#X text 523 321 The same with randomness;
+#X msg 443 342 wiperl 5 0;
+#X text 520 341 Wipe transition right to left : <speed> <randomness>
+;
+#X text 520 359 Multi wipe : <speed> <randomness>;
+#X msg 443 360 mwipe 5 0;
+#X text 521 378 Wipe top down : <speed> <randomness>;
+#X msg 444 379 wipetd 5 0;
+#X text 520 398 Wipe bottom up : <speed> <randomness>;
+#X msg 443 399 wipebu 5 30;
+#X msg 177 349 random 5;
+#X text 6 350 Random transition : <speed>;
+#X msg 176 368 melt 5;
+#X text 5 369 Melt transition : <speed>;
+#X text 6 308 Slow circle transition;
+#X text 6 329 Faster circle transition;
+#X text 5 402 <speed> <randomness>;
+#X text 5 391 Blend transition :;
+#X msg 176 391 blend 5 30;
+#X text 175 560 "melt" \, "blend";
+#X text 40 549 existing transition : "circle" \, "wipe" \, "random"
+\,;
+#X obj 275 395 pdp_transition;
+#X connect 1 0 8 0;
+#X connect 2 0 9 0;
+#X connect 3 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 60 1;
+#X connect 10 0 60 1;
+#X connect 11 0 10 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X connect 14 0 15 0;
+#X connect 15 0 36 0;
+#X connect 17 0 16 0;
+#X connect 18 0 25 0;
+#X connect 19 0 26 0;
+#X connect 20 0 19 0;
+#X connect 21 0 26 0;
+#X connect 22 0 21 0;
+#X connect 23 0 22 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 26 0 60 2;
+#X connect 27 0 60 2;
+#X connect 28 0 27 0;
+#X connect 29 0 28 0;
+#X connect 30 0 28 0;
+#X connect 34 0 60 0;
+#X connect 35 0 60 0;
+#X connect 36 0 17 0;
+#X connect 37 0 60 0;
+#X connect 39 0 60 0;
+#X connect 41 0 60 0;
+#X connect 44 0 60 0;
+#X connect 46 0 60 0;
+#X connect 48 0 60 0;
+#X connect 49 0 60 0;
+#X connect 51 0 60 0;
+#X connect 57 0 60 0;
+#X connect 60 0 0 0;
diff --git a/doc/help_pdp_underwatch.pd b/doc/help_pdp_underwatch.pd
new file mode 100644
index 0000000..f845aac
--- /dev/null
+++ b/doc/help_pdp_underwatch.pd
@@ -0,0 +1,79 @@
+#N canvas 207 18 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X floatatom 340 264 5 0 0;
+#X text 393 265 Strip size 0 \, <height> default=10;
+#X obj 217 299 pdp_underwatch;
+#X obj 257 135 metro 50;
+#X obj 582 161 pdp_control;
+#X msg 582 134 thread \$1;
+#X floatatom 582 222 5 0 0;
+#X obj 582 193 route pdp_drop;
+#X obj 582 161 pdp_control;
+#X msg 582 134 thread \$1;
+#X floatatom 582 222 5 0 0;
+#X obj 582 193 route pdp_drop;
+#X obj 582 161 pdp_control;
+#X msg 582 134 thread \$1;
+#X floatatom 582 222 5 0 0;
+#X obj 582 193 route pdp_drop;
+#X text 262 226 Set the rate so that no packets are lost -->;
+#X obj 583 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 252 167 pdp_yqt;
+#X obj 376 173 pdp_v4l;
+#X obj 385 142 metro 70;
+#X obj 430 108 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 387 109 stop;
+#X msg 433 172 open /dev/video;
+#X obj 445 321 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 445 373 pdp_control;
+#X msg 445 346 thread \$1;
+#X floatatom 445 434 5 0 0;
+#X obj 445 405 route pdp_drop;
+#X connect 1 0 13 0;
+#X connect 2 0 28 0;
+#X connect 3 0 2 0;
+#X connect 4 0 28 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 13 1;
+#X connect 8 0 13 0;
+#X connect 9 0 7 0;
+#X connect 10 0 12 1;
+#X connect 12 0 0 0;
+#X connect 13 0 28 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 0;
+#X connect 17 0 16 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 0;
+#X connect 21 0 20 0;
+#X connect 22 0 25 0;
+#X connect 23 0 22 0;
+#X connect 25 0 24 0;
+#X connect 27 0 23 0;
+#X connect 28 0 12 0;
+#X connect 29 0 12 0;
+#X connect 30 0 29 0;
+#X connect 31 0 30 0;
+#X connect 32 0 30 0;
+#X connect 33 0 29 0;
+#X connect 34 0 36 0;
+#X connect 35 0 38 0;
+#X connect 36 0 35 0;
+#X connect 38 0 37 0;
diff --git a/doc/help_pdp_vertigo.pd b/doc/help_pdp_vertigo.pd
new file mode 100644
index 0000000..ed1c09c
--- /dev/null
+++ b/doc/help_pdp_vertigo.pd
@@ -0,0 +1,57 @@
+#N canvas 237 21 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X obj 224 248 pdp_vertigo;
+#X floatatom 294 193 5 0 0;
+#X floatatom 322 221 5 0 0;
+#X text 356 192 Phase increment;
+#X text 374 219 Zoom rate;
+#X obj 252 167 pdp_yqt;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 445 321 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 445 373 pdp_control;
+#X msg 445 346 thread \$1;
+#X floatatom 445 434 5 0 0;
+#X obj 445 405 route pdp_drop;
+#X connect 1 0 10 0;
+#X connect 2 0 16 0;
+#X connect 3 0 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 0 0;
+#X connect 12 0 11 1;
+#X connect 13 0 11 2;
+#X connect 16 0 11 0;
+#X connect 17 0 11 0;
+#X connect 18 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 18 0;
+#X connect 21 0 17 0;
+#X connect 22 0 24 0;
+#X connect 23 0 26 0;
+#X connect 24 0 23 0;
+#X connect 26 0 25 0;
diff --git a/doc/help_pdp_warhol.pd b/doc/help_pdp_warhol.pd
new file mode 100644
index 0000000..3038997
--- /dev/null
+++ b/doc/help_pdp_warhol.pd
@@ -0,0 +1,75 @@
+#N canvas 237 21 712 664 10;
+#X obj 272 495 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 257 135 metro 70;
+#X floatatom 339 275 5 0 0;
+#X obj 346 203 pdp_v4l;
+#X obj 400 138 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 357 139 stop;
+#X msg 442 170 open /dev/video;
+#X obj 284 435 pdp_warhol;
+#X obj 252 167 pdp_yqt;
+#X floatatom 373 297 5 0 0;
+#X obj 283 243 dac~;
+#X text 386 275 X Divider;
+#X text 423 296 Y Divider;
+#X obj 389 318 hdl 15 1 0 9 empty empty empty 0 -6 0 8 -262144 -1 -1
+0;
+#X text 579 320 Color to modify;
+#X floatatom 412 340 5 0 0;
+#X floatatom 438 361 5 0 0;
+#X floatatom 464 386 5 0 0;
+#X text 459 340 Y component;
+#X text 487 360 U component;
+#X text 510 385 V component;
+#X obj 355 172 metro 70;
+#X floatatom 526 319 5 0 0;
+#X obj 475 431 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 475 483 pdp_control;
+#X msg 475 456 thread \$1;
+#X floatatom 475 544 5 0 0;
+#X obj 475 513 route pdp_drop;
+#X connect 1 0 10 0;
+#X connect 2 0 17 0;
+#X connect 3 0 2 0;
+#X connect 4 0 17 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 17 0;
+#X connect 11 0 16 1;
+#X connect 12 0 16 0;
+#X connect 13 0 30 0;
+#X connect 14 0 30 0;
+#X connect 15 0 12 0;
+#X connect 16 0 0 0;
+#X connect 17 0 16 0;
+#X connect 17 3 19 0;
+#X connect 17 4 19 1;
+#X connect 18 0 16 2;
+#X connect 22 0 16 3;
+#X connect 22 0 31 0;
+#X connect 24 0 16 4;
+#X connect 25 0 16 5;
+#X connect 26 0 16 6;
+#X connect 30 0 12 0;
+#X connect 32 0 34 0;
+#X connect 33 0 36 0;
+#X connect 34 0 33 0;
+#X connect 36 0 35 0;
diff --git a/doc/help_pdp_warp.pd b/doc/help_pdp_warp.pd
new file mode 100644
index 0000000..edde415
--- /dev/null
+++ b/doc/help_pdp_warp.pd
@@ -0,0 +1,61 @@
+#N canvas 237 21 712 664 10;
+#X obj 248 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 339 262 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 361 260 Mode ( 0=manual \, 1=auto );
+#X floatatom 339 292 5 0 0;
+#X text 386 292 Manual control;
+#X obj 249 323 pdp_warp;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 422 335 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 422 387 pdp_control;
+#X msg 422 360 thread \$1;
+#X floatatom 422 448 5 0 0;
+#X obj 422 417 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 17 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 17 1;
+#X connect 15 0 17 2;
+#X connect 17 0 0 0;
+#X connect 18 0 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 18 0;
+#X connect 23 0 25 0;
+#X connect 24 0 27 0;
+#X connect 25 0 24 0;
+#X connect 27 0 26 0;
diff --git a/doc/help_pdp_yvu2rgb.pd b/doc/help_pdp_yvu2rgb.pd
new file mode 100644
index 0000000..b8665aa
--- /dev/null
+++ b/doc/help_pdp_yvu2rgb.pd
@@ -0,0 +1,54 @@
+#N canvas 0 0 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 200 297 pdp_yvu2rgb;
+#X obj 252 167 pdp_yqt;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 422 335 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 422 387 pdp_control;
+#X msg 422 360 thread \$1;
+#X floatatom 422 448 5 0 0;
+#X obj 422 417 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 13 0;
+#X connect 3 0 2 0;
+#X connect 4 0 13 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 13 0;
+#X connect 12 0 0 0;
+#X connect 13 0 12 0;
+#X connect 13 3 10 0;
+#X connect 13 4 10 1;
+#X connect 14 0 12 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 14 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
diff --git a/doc/help_sobel_edge.pd b/doc/help_sobel_edge.pd
new file mode 100644
index 0000000..011a781
--- /dev/null
+++ b/doc/help_sobel_edge.pd
@@ -0,0 +1,54 @@
+#N canvas 237 21 712 664 10;
+#X obj 218 367 pdp_xv;
+#X obj 268 64 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 123 136 loop \$1;
+#X obj 124 114 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 370 44 open \$1;
+#X obj 369 20 openpanel;
+#X obj 354 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 316 99 5 0 0;
+#X msg 225 65 stop;
+#X obj 323 68 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 283 243 dac~;
+#X obj 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 421 166 pdp_v4l;
+#X obj 430 135 metro 70;
+#X obj 475 101 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 432 102 stop;
+#X msg 517 133 open /dev/video;
+#X obj 217 299 pdp_conv_sobel_edge;
+#X obj 422 335 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 422 387 pdp_control;
+#X msg 422 360 thread \$1;
+#X floatatom 422 448 5 0 0;
+#X obj 422 417 route pdp_drop;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 7 0 11 1;
+#X connect 8 0 11 0;
+#X connect 9 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 18 0;
+#X connect 12 3 10 0;
+#X connect 12 4 10 1;
+#X connect 13 0 18 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
+#X connect 17 0 13 0;
+#X connect 18 0 0 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
diff --git a/doc/pdp_affine.pd b/doc/pdp_affine.pd
new file mode 100644
index 0000000..831d8ae
--- /dev/null
+++ b/doc/pdp_affine.pd
@@ -0,0 +1,15 @@
+#N canvas 600 556 450 300 10;
+#X obj 47 39 inlet;
+#X obj 111 39 inlet;
+#X obj 170 38 inlet;
+#X obj 98 151 pdp_cheby;
+#X obj 63 205 outlet;
+#X text 26 7 for patch compatibility with older versions of pdp;
+#X msg 119 98 coef 1 \$1;
+#X msg 197 97 coef 0 \$1;
+#X connect 0 0 3 0;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 3 0 4 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
diff --git a/doc/rs_pdp_live~.pd b/doc/rs_pdp_live~.pd
new file mode 100644
index 0000000..33bda01
--- /dev/null
+++ b/doc/rs_pdp_live~.pd
@@ -0,0 +1,53 @@
+#N canvas 168 29 842 529 10;
+#X text 460 551 written by Yves Degoyon (ydegoyon@free.fr);
+#X floatatom 226 441 5 0 0 0 - - -;
+#X text 272 440 Streaming status;
+#X floatatom 221 419 5 0 0 0 - - -;
+#X obj 36 449 pdp_xv;
+#X text 526 79 Connect to a live stream;
+#X text 325 118 Disconnect from the current stream;
+#X msg 247 116 disconnect;
+#X text 270 420 Number of video frames decoded;
+#X text 457 527 ( at least from ffserver );
+#X text 23 547 NOTE : as for pdp_ffmpeg~ \, transmitting audio;
+#X text 22 565 with the video stream produces some unsteady sound;
+#X text 23 580 a prefered solution would be to use mp3cast~/mp3amp~
+;
+#X msg 246 335 priority \$1;
+#X floatatom 335 336 5 0 0 0 - - -;
+#X text 385 357 ( optional \, if you know what you're doing );
+#X obj 70 493 outlet~;
+#X obj 146 486 outlet~;
+#X text 387 342 ([-20 \, 20 ] default : 0 );
+#X text 390 329 Set the priority of decoding thread;
+#X obj 65 60 block~ 4096;
+#X msg 247 225 connect \$1;
+#X msg 246 78 connect http://localhost:8090/test1.mpg;
+#X text 460 513 pdp_live~ : decodes a live video stream;
+#X text 458 539 and reads most common files ( avi \, mpg \, .... )
+;
+#X text 325 175 Read video file;
+#X obj 247 154 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 247 176 openpanel;
+#X msg 248 296 audio \$1;
+#X obj 317 298 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 348 298 Activate decoding of audio ( default : off );
+#X obj 113 390 pdp_live~;
+#X obj 247 200 makefilename file://%s;
+#X connect 7 0 31 0;
+#X connect 13 0 31 0;
+#X connect 14 0 13 0;
+#X connect 21 0 31 0;
+#X connect 22 0 31 0;
+#X connect 26 0 27 0;
+#X connect 27 0 32 0;
+#X connect 28 0 31 0;
+#X connect 29 0 28 0;
+#X connect 31 0 4 0;
+#X connect 31 1 16 0;
+#X connect 31 2 17 0;
+#X connect 31 3 1 0;
+#X connect 31 4 3 0;
+#X connect 32 0 21 0;
diff --git a/doc/rs_pdp_segsnd~.pd b/doc/rs_pdp_segsnd~.pd
new file mode 100644
index 0000000..724b952
--- /dev/null
+++ b/doc/rs_pdp_segsnd~.pd
@@ -0,0 +1,99 @@
+#N canvas 234 119 905 538 10;
+#X obj 255 34 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 117 65 loop \$1;
+#X obj 117 40 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 280 33 open \$1;
+#X obj 342 33 openpanel;
+#X obj 412 34 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 303 69 5 0 0;
+#X msg 212 35 stop;
+#X obj 216 84 metro 70;
+#X obj 262 174 pdp_v4l;
+#X obj 271 143 metro 70;
+#X obj 316 109 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 273 110 stop;
+#X msg 336 144 open /dev/video;
+#X text 113 410 written by Yves Degoyon ( ydegoyon@free.fr );
+#X obj 217 111 pdp_yqt;
+#X obj 559 306 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 559 358 pdp_control;
+#X msg 559 331 thread \$1;
+#X floatatom 559 419 5 0 0;
+#X obj 559 390 route pdp_drop;
+#X text 113 393 pdp_segsnd~ : turn pixels from a segment into sound
+;
+#X obj 210 311 pdp_xv;
+#X floatatom 237 243 5 0 0;
+#X floatatom 284 244 5 0 0;
+#X floatatom 333 244 5 0 0;
+#X floatatom 385 244 5 0 0;
+#X text 263 214 Segment coordinates :;
+#X text 251 228 X1;
+#X text 294 228 Y1;
+#X text 341 228 X2;
+#X text 395 228 Y2;
+#X obj 41 207 block~ 128;
+#X obj 407 361 outlet~;
+#X obj 332 274 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 351 274 Random mode;
+#X text 263 304 Output is;
+#X text 264 317 scaled to;
+#X text 267 330 [-1 \, 1 ];
+#X obj 407 332 tabread4~ \$0-music;
+#X obj 407 305 *~ 1;
+#X obj 487 145 soundfiler;
+#X msg 482 34 bang;
+#X msg 486 123 read -resize \$1 \$2;
+#X msg 559 43 bang;
+#X obj 633 142 table \$0-music;
+#X obj 488 97 pack s s;
+#X obj 559 66 f \$0;
+#X obj 559 91 makefilename %d-music;
+#X obj 482 60 opanel;
+#X text 531 23 Step 2 : load a sample;
+#X text 345 11 Step 1 : load a movie;
+#X text 143 13 Step 3 : start playing;
+#X obj 209 281 pdp_segsnd~;
+#X connect 0 0 8 0;
+#X connect 1 0 15 0;
+#X connect 2 0 1 0;
+#X connect 3 0 15 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 1;
+#X connect 7 0 8 0;
+#X connect 8 0 15 0;
+#X connect 9 0 53 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
+#X connect 12 0 10 0;
+#X connect 13 0 9 0;
+#X connect 15 0 53 0;
+#X connect 16 0 18 0;
+#X connect 17 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 23 0 53 1;
+#X connect 24 0 53 2;
+#X connect 25 0 53 3;
+#X connect 26 0 53 4;
+#X connect 34 0 53 5;
+#X connect 39 0 33 0;
+#X connect 40 0 39 0;
+#X connect 41 0 40 1;
+#X connect 42 0 49 0;
+#X connect 43 0 41 0;
+#X connect 44 0 47 0;
+#X connect 46 0 43 0;
+#X connect 47 0 48 0;
+#X connect 48 0 46 1;
+#X connect 49 0 44 0;
+#X connect 49 0 46 0;
+#X connect 53 0 22 0;
+#X connect 53 1 40 0;