aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/help-pdp_background.pd41
-rw-r--r--doc/help-pdp_binary.pd97
-rw-r--r--doc/help-pdp_cropper.pd64
-rw-r--r--doc/help-pdp_dilate.pd91
-rw-r--r--doc/help-pdp_disintegration.pd61
-rw-r--r--doc/help-pdp_distance.pd72
-rw-r--r--doc/help-pdp_erode.pd91
-rw-r--r--doc/help-pdp_hitandmiss.pd97
-rw-r--r--doc/help-pdp_theorin~.pd14
-rw-r--r--doc/help-pdp_theorout~.pd118
-rw-r--r--doc/rs_pdp_theorin~.pd115
11 files changed, 861 insertions, 0 deletions
diff --git a/doc/help-pdp_background.pd b/doc/help-pdp_background.pd
new file mode 100644
index 0000000..62112cd
--- /dev/null
+++ b/doc/help-pdp_background.pd
@@ -0,0 +1,41 @@
+#N canvas 237 21 712 664 10;
+#X obj 212 155 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 173 154 stop;
+#X obj 201 189 metro 70;
+#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 0 - - -;
+#X obj 410 570 route pdp_drop;
+#X obj 247 263 pdp_background;
+#X obj 218 304 pdp_convert image/YCrCb/*;
+#X msg 143 189 bang;
+#X floatatom 273 229 5 0 0 0 - - -;
+#X text 280 214 Red;
+#X floatatom 321 228 5 0 0 0 - - -;
+#X floatatom 373 228 5 0 0 0 - - -;
+#X text 321 213 Green;
+#X text 375 212 Blue;
+#X obj 308 96 pdp_colorgrid pdp_colorgrid1 256 0 256 50 0 50 0 1 1
+10 10 409 121;
+#X text 258 392 pdp_background : a simple background generator;
+#X text 259 409 written by Yves Degoyon ( ydegoyon@free.fr );
+#X obj 218 339 pdp_xv;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 2 0 8 0;
+#X connect 3 0 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 20 0;
+#X connect 10 0 8 0;
+#X connect 11 0 8 1;
+#X connect 13 0 8 2;
+#X connect 14 0 8 3;
+#X connect 17 0 11 0;
+#X connect 17 1 13 0;
+#X connect 17 2 14 0;
diff --git a/doc/help-pdp_binary.pd b/doc/help-pdp_binary.pd
new file mode 100644
index 0000000..f74c13c
--- /dev/null
+++ b/doc/help-pdp_binary.pd
@@ -0,0 +1,97 @@
+#N canvas 416 0 781 666 10;
+#X obj 342 90 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 197 162 loop \$1;
+#X obj 198 140 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X msg 444 70 open \$1;
+#X obj 443 46 openpanel;
+#X obj 428 29 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 390 125 5 0 0 0 - - -;
+#X msg 299 91 stop;
+#X obj 397 94 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 331 161 metro 70;
+#X obj 326 193 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 303 338 5 0 0 0 - - -;
+#X floatatom 312 359 5 0 0 0 - - -;
+#X floatatom 329 380 5 0 0 0 - - -;
+#X floatatom 334 402 5 0 0 0 - - -;
+#X text 296 631 written by Yves Degoyon ( ydegoyon@free.fr );
+#X floatatom 343 427 5 0 0 0 - - -;
+#X text 382 401 X coordinate of cursor ( pick );
+#X text 391 426 Y coordinate of cursor ( pick );
+#X msg 89 341 pick;
+#X text 57 323 Pick up the color;
+#X floatatom 356 450 5 0 0 0 - - -;
+#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 floatatom 155 524 5 0 0 0 - - -;
+#X floatatom 205 525 5 0 0 0 - - -;
+#X floatatom 252 524 5 0 0 0 - - -;
+#X text 297 614 pdp_binary : image binarizer;
+#X text 122 554 Components of selected color;
+#X text 167 542 Y;
+#X text 218 542 U;
+#X text 262 542 V;
+#X text 402 449 Tolerance ( default = 55 );
+#X text 350 337 Y component ( default : 200 );
+#X text 357 358 U component ( default : -1 );
+#X text 374 379 V component ( default : -1 );
+#X obj 110 459 pdp_binary ----;
+#X obj 312 264 pdp_glx;
+#X obj 311 290 route press drag release;
+#X msg 335 234 cursor 1;
+#X obj 78 504 pdp_glx;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 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 10 0;
+#X connect 10 0 46 0;
+#X connect 10 0 47 0;
+#X connect 10 0 49 0;
+#X connect 11 0 46 0;
+#X connect 11 0 47 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 46 1;
+#X connect 17 0 46 2;
+#X connect 18 0 46 3;
+#X connect 19 0 46 4;
+#X connect 21 0 46 5;
+#X connect 24 0 46 0;
+#X connect 26 0 46 6;
+#X connect 27 0 29 0;
+#X connect 28 0 31 0;
+#X connect 29 0 28 0;
+#X connect 31 0 30 0;
+#X connect 32 0 24 0;
+#X connect 32 0 46 0;
+#X connect 46 0 50 0;
+#X connect 46 1 34 0;
+#X connect 46 2 35 0;
+#X connect 46 3 36 0;
+#X connect 47 0 48 0;
+#X connect 48 0 32 0;
+#X connect 49 0 47 0;
diff --git a/doc/help-pdp_cropper.pd b/doc/help-pdp_cropper.pd
new file mode 100644
index 0000000..7088b9c
--- /dev/null
+++ b/doc/help-pdp_cropper.pd
@@ -0,0 +1,64 @@
+#N canvas 237 21 712 664 10;
+#X obj 217 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 1
+1;
+#X msg 150 62 open \$1;
+#X obj 149 38 openpanel;
+#X obj 134 21 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 257 135 metro 70;
+#X obj 252 167 pdp_yqt;
+#X obj 369 162 pdp_v4l;
+#X obj 378 131 metro 70;
+#X obj 423 97 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 380 98 stop;
+#X msg 465 129 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 0 - - -;
+#X obj 414 436 route pdp_drop;
+#X obj 217 299 pdp_cropper;
+#X text 187 505 pdp_cropper : crop a video;
+#X text 185 520 ( useful for cut and paste : see the cutandpaste.pd
+patch );
+#X text 186 534 written by Yves Degoyon ( ydegoyon@free.fr );
+#X floatatom 378 218 5 0 0 0 - - -;
+#X text 387 201 X1;
+#X floatatom 423 217 5 0 0 0 - - -;
+#X text 432 200 X2;
+#X floatatom 337 239 5 0 0 0 - - -;
+#X text 315 239 Y1;
+#X floatatom 338 259 5 0 0 0 - - -;
+#X text 316 259 Y2;
+#X connect 1 0 9 0;
+#X connect 2 0 10 0;
+#X connect 3 0 2 0;
+#X connect 4 0 10 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 10 0;
+#X connect 10 0 21 0;
+#X connect 11 0 21 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 17 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 21 0 0 0;
+#X connect 25 0 21 1;
+#X connect 27 0 21 2;
+#X connect 29 0 21 3;
+#X connect 31 0 21 4;
diff --git a/doc/help-pdp_dilate.pd b/doc/help-pdp_dilate.pd
new file mode 100644
index 0000000..2f5a0a2
--- /dev/null
+++ b/doc/help-pdp_dilate.pd
@@ -0,0 +1,91 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 296 540 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 31 236 pick;
+#X floatatom 248 262 5 0 0 0 - - -;
+#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 72 237 setcur \$1 \$2;
+#X floatatom 174 328 5 0 0 0 - - -;
+#X floatatom 224 329 5 0 0 0 - - -;
+#X floatatom 271 328 5 0 0 0 - - -;
+#X text 294 261 Tolerance ( default = 55 );
+#X obj 138 289 pdp_binary ----;
+#X obj 41 369 route press drag release;
+#X msg 42 311 cursor 1;
+#X obj 148 476 pdp_glx;
+#X floatatom 250 370 5 0 0 0 - - -;
+#X text 296 369 Number of passes ( default = 1 );
+#X obj 41 342 pdp_glx;
+#X floatatom 271 396 5 0 0 0 - - -;
+#X floatatom 292 420 5 0 0 0 - - -;
+#X text 317 395 Kernel width ( default = 3 );
+#X text 338 418 Kernel height ( default = 3 );
+#X obj 149 437 pdp_dilate ----;
+#X text 297 523 pdp_dilate : morphology : dilation;
+#X obj 54 478 pdp_xor;
+#X obj 55 508 pdp_glx;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 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 10 0;
+#X connect 10 0 29 0;
+#X connect 11 0 29 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 17 0 29 0;
+#X connect 18 0 29 6;
+#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 17 0;
+#X connect 24 0 29 0;
+#X connect 29 0 35 0;
+#X connect 29 0 31 0;
+#X connect 29 0 40 0;
+#X connect 29 0 42 0;
+#X connect 29 1 25 0;
+#X connect 29 2 26 0;
+#X connect 29 3 27 0;
+#X connect 30 0 24 0;
+#X connect 31 0 35 0;
+#X connect 33 0 40 1;
+#X connect 35 0 30 0;
+#X connect 36 0 40 2;
+#X connect 37 0 40 3;
+#X connect 40 0 32 0;
+#X connect 40 0 42 1;
+#X connect 42 0 43 0;
diff --git a/doc/help-pdp_disintegration.pd b/doc/help-pdp_disintegration.pd
new file mode 100644
index 0000000..b58d0a2
--- /dev/null
+++ b/doc/help-pdp_disintegration.pd
@@ -0,0 +1,61 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 296 540 written by Yves Degoyon ( ydegoyon@free.fr );
+#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 floatatom 239 270 5 0 0 0 - - -;
+#X floatatom 287 311 5 0 0 0 - - -;
+#X text 297 522 pdp_disintegration : piksels summing-up and averaging
+;
+#X obj 138 337 pdp_disintegration ----;
+#X text 285 267 Number of passes ( default = 3 );
+#X text 333 310 Reduction factor ( default = 5 );
+#X text 281 282 ( disintegration is here );
+#X obj 137 376 pdp_xv;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 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 10 0;
+#X connect 10 0 25 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 17 0 19 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 0;
+#X connect 21 0 20 0;
+#X connect 22 0 25 1;
+#X connect 23 0 25 2;
+#X connect 25 0 29 0;
diff --git a/doc/help-pdp_distance.pd b/doc/help-pdp_distance.pd
new file mode 100644
index 0000000..3451c85
--- /dev/null
+++ b/doc/help-pdp_distance.pd
@@ -0,0 +1,72 @@
+#N canvas 375 16 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#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 text 297 554 http://www.cs.cf.ac.uk/User/Paul.Rosin/resources/sdt/
+;
+#X text 296 538 inspired by Paul Rosin;
+#X text 297 570 PD-fication by Yves Degoyon ( ydegoyon@free.fr );
+#X text 297 521 pdp_distance : chamfer34 distance transform;
+#X obj 108 400 pdp_distance ----;
+#X obj 31 328 pdp_glx;
+#X floatatom 211 317 5 0 0 0 - - -;
+#X text 254 315 Coefficient 1;
+#X floatatom 237 337 5 0 0 0 - - -;
+#X floatatom 264 359 5 0 0 0 - - -;
+#X floatatom 281 382 5 0 0 0 - - -;
+#X text 280 335 Coefficient 2;
+#X text 307 357 Coefficient 3;
+#X text 324 380 Coefficient 4;
+#X obj 108 441 pdp_glx;
+#X obj 113 289 pdp_grey ----;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 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 10 0;
+#X connect 10 0 36 0;
+#X connect 11 0 36 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 17 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 25 0 35 0;
+#X connect 27 0 25 1;
+#X connect 29 0 25 2;
+#X connect 30 0 25 3;
+#X connect 31 0 25 4;
+#X connect 36 0 25 0;
+#X connect 36 0 26 0;
diff --git a/doc/help-pdp_erode.pd b/doc/help-pdp_erode.pd
new file mode 100644
index 0000000..c2ad22e
--- /dev/null
+++ b/doc/help-pdp_erode.pd
@@ -0,0 +1,91 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 296 540 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 31 236 pick;
+#X floatatom 248 262 5 0 0 0 - - -;
+#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 72 237 setcur \$1 \$2;
+#X floatatom 174 328 5 0 0 0 - - -;
+#X floatatom 224 329 5 0 0 0 - - -;
+#X floatatom 271 328 5 0 0 0 - - -;
+#X text 294 261 Tolerance ( default = 55 );
+#X obj 138 289 pdp_binary ----;
+#X obj 41 369 route press drag release;
+#X msg 42 311 cursor 1;
+#X text 297 523 pdp_erode : morphology : erosion;
+#X obj 148 476 pdp_glx;
+#X floatatom 250 370 5 0 0 0 - - -;
+#X text 296 369 Number of passes ( default = 1 );
+#X obj 41 342 pdp_glx;
+#X floatatom 271 396 5 0 0 0 - - -;
+#X floatatom 292 420 5 0 0 0 - - -;
+#X text 317 395 Kernel width ( default = 3 );
+#X text 338 418 Kernel height ( default = 3 );
+#X obj 148 437 pdp_erode ----;
+#X obj 63 477 pdp_xor;
+#X obj 64 509 pdp_glx;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 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 10 0;
+#X connect 10 0 29 0;
+#X connect 11 0 29 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 17 0 29 0;
+#X connect 18 0 29 6;
+#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 17 0;
+#X connect 24 0 29 0;
+#X connect 29 0 36 0;
+#X connect 29 0 31 0;
+#X connect 29 0 41 0;
+#X connect 29 0 42 0;
+#X connect 29 1 25 0;
+#X connect 29 2 26 0;
+#X connect 29 3 27 0;
+#X connect 30 0 24 0;
+#X connect 31 0 36 0;
+#X connect 34 0 41 1;
+#X connect 36 0 30 0;
+#X connect 37 0 41 2;
+#X connect 38 0 41 3;
+#X connect 41 0 33 0;
+#X connect 41 0 42 1;
+#X connect 42 0 43 0;
diff --git a/doc/help-pdp_hitandmiss.pd b/doc/help-pdp_hitandmiss.pd
new file mode 100644
index 0000000..5b54cce
--- /dev/null
+++ b/doc/help-pdp_hitandmiss.pd
@@ -0,0 +1,97 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 306 611 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 31 236 pick;
+#X floatatom 248 262 5 0 0 0 - - -;
+#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 72 237 setcur \$1 \$2;
+#X floatatom 174 328 5 0 0 0 - - -;
+#X floatatom 224 329 5 0 0 0 - - -;
+#X floatatom 271 328 5 0 0 0 - - -;
+#X text 294 261 Tolerance ( default = 55 );
+#X obj 138 289 pdp_binary ----;
+#X obj 41 369 route press drag release;
+#X msg 42 311 cursor 1;
+#X floatatom 250 370 5 0 0 0 - - -;
+#X text 296 369 Number of passes ( default = 1 );
+#X floatatom 271 396 5 0 0 0 - - -;
+#X floatatom 292 420 5 0 0 0 - - -;
+#X text 317 395 Kernel width ( default = 3 );
+#X text 338 418 Kernel height ( default = 3 );
+#X obj 143 501 pdp_hitandmiss ----;
+#X text 307 594 pdp_hitandmiss : morphology : hit and miss;
+#X msg 307 456 kernel 1 1 1 1 1 1 1 1 1;
+#X text 515 454 Change the kernel;
+#X text 514 468 ( this one is equivalent to erosion );
+#X text 515 485 The default one is :;
+#X text 570 501 -1 1 -1;
+#X text 578 516 0 1 1;
+#X text 578 529 0 0 -1;
+#X text 517 547 ( -1 here means unused );
+#X obj 41 342 pdp_glx;
+#X msg 308 484 kernel -1 1 -1 0 1 1 0 0 -1;
+#X obj 143 540 pdp_glx;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 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 10 0;
+#X connect 10 0 29 0;
+#X connect 11 0 29 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 17 0 29 0;
+#X connect 18 0 29 6;
+#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 17 0;
+#X connect 24 0 29 0;
+#X connect 29 0 31 0;
+#X connect 29 0 38 0;
+#X connect 29 0 48 0;
+#X connect 29 1 25 0;
+#X connect 29 2 26 0;
+#X connect 29 3 27 0;
+#X connect 30 0 24 0;
+#X connect 31 0 48 0;
+#X connect 32 0 38 1;
+#X connect 34 0 38 2;
+#X connect 35 0 38 3;
+#X connect 38 0 50 0;
+#X connect 40 0 38 0;
+#X connect 48 0 30 0;
+#X connect 49 0 38 0;
diff --git a/doc/help-pdp_theorin~.pd b/doc/help-pdp_theorin~.pd
new file mode 100644
index 0000000..19d133a
--- /dev/null
+++ b/doc/help-pdp_theorin~.pd
@@ -0,0 +1,14 @@
+#N canvas 259 178 509 391 10;
+#X obj 156 158 dac~;
+#X text 51 309 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 text 265 141 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 text 51 295 pdp_theorin~ : theora threaded file reader;
+#X obj 128 113 rs_pdp_theorin~;
+#X connect 6 0 7 0;
+#X connect 9 0 0 0;
+#X connect 9 1 0 1;
diff --git a/doc/help-pdp_theorout~.pd b/doc/help-pdp_theorout~.pd
new file mode 100644
index 0000000..0fe1b31
--- /dev/null
+++ b/doc/help-pdp_theorout~.pd
@@ -0,0 +1,118 @@
+#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 278 48 open \$1;
+#X obj 278 24 openpanel;
+#X obj 278 3 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 293 75 5 0 0 0 - - -;
+#X msg 212 35 stop;
+#X obj 215 91 metro 70;
+#X obj 18 191 pdp_v4l;
+#X obj 27 160 metro 70;
+#X obj 72 126 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 29 127 stop;
+#X msg 92 161 open /dev/video;
+#X text 112 622 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 383 294 stop;
+#X msg 382 268 start;
+#X text 424 269 Start recording;
+#X floatatom 159 534 5 0 0 0 - - -;
+#X obj 213 124 pdp_yqt;
+#X text 424 296 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 0 - - -;
+#X obj 832 583 route pdp_drop;
+#X obj 119 300 adc~;
+#X text 326 197 <---- audio connections;
+#X text 383 224 ==== ACTIONS ========;
+#X text 384 327 ==== VIDEOS SETTINGS ========;
+#X text 383 403 ==== AUDIO SETTINGS ========;
+#X obj 142 200 pdp_xv;
+#X obj 36 255 pdp_affine;
+#X floatatom 68 229 5 0 0 0 - - -;
+#X obj 36 287 pdp_xv;
+#X text 113 605 pdp_theorout~ : records a/v theora encoded file;
+#X msg 382 242 open /tmp/output.ogg;
+#X text 534 244 Open a theora/vorbis file before any operations;
+#X obj 308 124 pdp_theorin~;
+#X obj 378 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 378 82 open \$1;
+#X obj 378 54 openpanel;
+#X obj 357 167 dac~;
+#X text 612 296 Warning : change audio and video settings;
+#X msg 386 347 videoquality \$1;
+#X msg 387 375 videobitrate \$1;
+#X text 560 377 Video bitrate ( kbps ) : [45 \, 2000];
+#X text 558 350 Video quality : [0 \, 63] \, default 16;
+#X text 727 392 default 96;
+#X msg 385 424 audioquality \$1;
+#X msg 386 452 audiobitrate \$1;
+#X text 729 468 default 32;
+#X text 563 453 Audio bitrate ( kbps ) : [8 \, 2000];
+#X text 562 426 Audio quality : [-0.1 \, 1.0] \, default 0.5;
+#X floatatom 504 349 5 0 0 0 - - -;
+#X floatatom 505 376 5 0 0 0 - - -;
+#X floatatom 506 424 5 0 0 0 - - -;
+#X floatatom 506 453 5 0 0 0 - - -;
+#X text 682 310 before starting the recording;
+#X text 682 324 ( or restart it );
+#X obj 159 504 pdp_theorout~;
+#X connect 0 0 8 0;
+#X connect 1 0 19 0;
+#X connect 2 0 1 0;
+#X connect 3 0 19 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 19 0;
+#X connect 9 0 32 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 60 0;
+#X connect 16 0 60 0;
+#X connect 19 0 31 0;
+#X connect 19 0 60 0;
+#X connect 19 4 42 0;
+#X connect 19 4 60 0;
+#X connect 19 5 42 1;
+#X connect 19 5 60 1;
+#X connect 21 0 23 0;
+#X connect 22 0 25 0;
+#X connect 23 0 22 0;
+#X connect 25 0 24 0;
+#X connect 26 0 60 0;
+#X connect 26 1 60 1;
+#X connect 32 0 34 0;
+#X connect 32 0 60 0;
+#X connect 33 0 32 1;
+#X connect 36 0 60 0;
+#X connect 38 0 31 0;
+#X connect 38 0 60 0;
+#X connect 38 1 42 0;
+#X connect 38 1 60 0;
+#X connect 38 2 42 1;
+#X connect 38 2 60 1;
+#X connect 39 0 41 0;
+#X connect 40 0 38 0;
+#X connect 41 0 40 0;
+#X connect 44 0 60 0;
+#X connect 45 0 60 0;
+#X connect 49 0 60 0;
+#X connect 50 0 60 0;
+#X connect 54 0 44 0;
+#X connect 55 0 45 0;
+#X connect 56 0 49 0;
+#X connect 57 0 50 0;
+#X connect 60 0 18 0;
diff --git a/doc/rs_pdp_theorin~.pd b/doc/rs_pdp_theorin~.pd
new file mode 100644
index 0000000..cc1a74b
--- /dev/null
+++ b/doc/rs_pdp_theorin~.pd
@@ -0,0 +1,115 @@
+#N canvas 127 47 872 636 10;
+#X text 452 600 written by Yves Degoyon (ydegoyon@free.fr);
+#X floatatom 240 549 5 0 0 0 - - -;
+#X text 289 550 Number of video frames decoded;
+#X msg 250 409 priority \$1;
+#X floatatom 339 410 5 0 0 0 - - -;
+#X text 385 433 ( optional \, if you know what you're doing );
+#X obj 134 543 outlet~;
+#X text 390 405 Set the priority of decoding thread;
+#X obj 247 143 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 250 379 audio \$1;
+#X obj 319 381 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 322 350 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X msg 248 350 thread \$1;
+#X obj 378 350 loadbang;
+#X msg 343 350 1;
+#X text 446 350 Activate threading ( default : on );
+#X floatatom 256 526 5 0 0 0 - - -;
+#X floatatom 280 506 5 0 0 0 - - -;
+#X obj 339 257 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 395 255 loadbang;
+#X msg 360 255 1;
+#X msg 248 256 autoplay \$1;
+#X text 463 255 Activate auto play mode ( default : on );
+#X msg 248 287 bang;
+#X msg 388 289 bang;
+#X floatatom 429 290 5 0 0 0 - - -;
+#X text 481 288 In manual mode \, read next frame ( autoplay = off
+);
+#X obj 324 289 metro 70;
+#X msg 249 318 loop \$1;
+#X obj 311 319 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 367 317 loadbang;
+#X msg 332 317 1;
+#X text 435 317 Activate loop mode for files ( default : on );
+#X msg 285 288 stop;
+#X obj 111 430 pdp_theorin~;
+#X msg 248 222 close;
+#X text 326 224 Close the current file;
+#X text 325 164 Open a theora video file;
+#X msg 247 193 open \$1;
+#X text 303 528 File framerate;
+#X text 327 507 End of file reached;
+#X text 452 586 pdp_theorin~ : threaded theora file reader;
+#X text 11 163 Seek file ( in kilobytes );
+#X obj 72 543 outlet~;
+#X text 387 418 ([0 \, 20 ] default : 1 );
+#X obj 247 165 openpanel;
+#X text 444 380 Activate decoding of audio ( default : on );
+#X obj 377 380 loadbang;
+#X msg 342 380 1;
+#X obj 67 60 block~ 512;
+#X text 12 179 warning : there's a big delay;
+#X text 11 192 and risks of desynchronisation;
+#X text 25 220 seekable for now );
+#X text 11 207 ( sorry \, theora is not really;
+#X floatatom 309 455 5 0 0 0 - - -;
+#X text 354 455 File size ( in kbs );
+#X obj 39 496 pdp_xv;
+#X obj 78 259 vsl 15 128 0 2083 0 0 empty filesize empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X msg 310 473 \; filesize range 0 \$1;
+#X floatatom 59 411 5 0 0 0 - - -;
+#X obj 691 39 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 691 91 pdp_control;
+#X msg 691 64 thread \$1;
+#X floatatom 691 152 5 0 0 0 - - -;
+#X obj 691 123 route pdp_drop;
+#X connect 3 0 34 0;
+#X connect 4 0 3 0;
+#X connect 8 0 45 0;
+#X connect 9 0 34 0;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 34 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 0;
+#X connect 18 0 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 18 0;
+#X connect 21 0 34 0;
+#X connect 23 0 34 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 1;
+#X connect 27 0 34 0;
+#X connect 28 0 34 0;
+#X connect 29 0 28 0;
+#X connect 30 0 31 0;
+#X connect 31 0 29 0;
+#X connect 33 0 27 0;
+#X connect 34 0 56 0;
+#X connect 34 1 43 0;
+#X connect 34 2 6 0;
+#X connect 34 3 1 0;
+#X connect 34 4 16 0;
+#X connect 34 5 17 0;
+#X connect 34 6 54 0;
+#X connect 35 0 34 0;
+#X connect 38 0 34 0;
+#X connect 45 0 38 0;
+#X connect 47 0 48 0;
+#X connect 48 0 10 0;
+#X connect 54 0 58 0;
+#X connect 57 0 34 1;
+#X connect 57 0 59 0;
+#X connect 60 0 62 0;
+#X connect 61 0 64 0;
+#X connect 62 0 61 0;
+#X connect 64 0 63 0;