aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/examples/example08.pd57
-rw-r--r--doc/introduction/input_output.pd19
-rw-r--r--doc/objects/pdp_add.pd (renamed from doc/objects/help_pdp_add.pd)0
-rw-r--r--doc/objects/pdp_affine.pd (renamed from doc/objects/help_pdp_affine.pd)0
-rw-r--r--doc/objects/pdp_bq.pd (renamed from doc/objects/help_pdp_bq.pd)0
-rw-r--r--doc/objects/pdp_bqt.pd (renamed from doc/objects/help_pdp_bqt.pd)0
-rw-r--r--doc/objects/pdp_cheby.pd (renamed from doc/objects/help_pdp_cheby.pd)0
-rw-r--r--doc/objects/pdp_chrot.pd (renamed from doc/objects/help_pdp_chrot.pd)0
-rw-r--r--doc/objects/pdp_constant.pd21
-rw-r--r--doc/objects/pdp_control.pd (renamed from doc/objects/help_pdp_control.pd)0
-rw-r--r--doc/objects/pdp_conv.pd (renamed from doc/objects/help_pdp_conv.pd)0
-rw-r--r--doc/objects/pdp_del.pd (renamed from doc/objects/help_pdp_del.pd)18
-rw-r--r--doc/objects/pdp_gain.pd (renamed from doc/objects/help_pdp_gain.pd)0
-rw-r--r--doc/objects/pdp_gradient.pd (renamed from doc/objects/help_pdp_gradient.pd)0
-rw-r--r--doc/objects/pdp_grey.pd (renamed from doc/objects/help_pdp_grey.pd)0
-rw-r--r--doc/objects/pdp_grey2mask.pd25
-rw-r--r--doc/objects/pdp_help_output.pd5
-rw-r--r--doc/objects/pdp_mix.pd (renamed from doc/objects/help_pdp_mix.pd)10
-rw-r--r--doc/objects/pdp_mix2.pd (renamed from doc/objects/help_pdp_mix2.pd)0
-rw-r--r--doc/objects/pdp_mul.pd (renamed from doc/objects/help_pdp_mul.pd)0
-rw-r--r--doc/objects/pdp_noise.pd (renamed from doc/objects/help_pdp_noise.pd)0
-rw-r--r--doc/objects/pdp_qt.pd (renamed from doc/objects/help_pdp_qt.pd)0
-rw-r--r--doc/objects/pdp_qt~.pd (renamed from doc/objects/help_pdp_qt~.pd)0
-rw-r--r--doc/objects/pdp_randmix.pd (renamed from doc/objects/help_pdp_randmix.pd)0
-rw-r--r--doc/objects/pdp_reg.pd (renamed from doc/objects/help_pdp_reg.pd)0
-rw-r--r--doc/objects/pdp_rotate.pd (renamed from doc/objects/help_pdp_rotate.pd)0
-rw-r--r--doc/objects/pdp_route.pd (renamed from doc/objects/help_pdp_route.pd)0
-rw-r--r--doc/objects/pdp_scale.pd (renamed from doc/objects/help_pdp_scale.pd)0
-rw-r--r--doc/objects/pdp_scanxy~.pd76
-rw-r--r--doc/objects/pdp_scan~.pd (renamed from doc/objects/help_pdp_scan~.pd)12
-rw-r--r--doc/objects/pdp_scope~.pd (renamed from doc/objects/help_pdp_scope~.pd)0
-rw-r--r--doc/objects/pdp_snap.pd (renamed from doc/objects/help_pdp_snap.pd)0
-rw-r--r--doc/objects/pdp_trigger.pd (renamed from doc/objects/help_pdp_trigger.pd)0
-rw-r--r--doc/objects/pdp_v4l.pd (renamed from doc/objects/help_pdp_v4l.pd)0
-rw-r--r--doc/objects/pdp_xv.pd (renamed from doc/objects/help_pdp_xv.pd)11
-rw-r--r--doc/objects/pdp_zoom.pd (renamed from doc/objects/help_pdp_zoom.pd)0
-rw-r--r--doc/objects/pdp_zrot.pd (renamed from doc/objects/help_pdp_zrot.pd)0
-rw-r--r--doc/reference.txt6
38 files changed, 229 insertions, 31 deletions
diff --git a/doc/examples/example08.pd b/doc/examples/example08.pd
new file mode 100644
index 0000000..9008ccd
--- /dev/null
+++ b/doc/examples/example08.pd
@@ -0,0 +1,57 @@
+#N canvas 508 53 640 487 10;
+#X obj 17 376 pdp_xv;
+#X obj 17 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 17 32 metro 40;
+#X floatatom 67 8 5 0 0 0 - - -;
+#X obj 17 58 pdp_v4l;
+#X obj 17 279 pdp_zrot;
+#X obj 175 144 unpack 0 0;
+#X obj 280 263 * 360;
+#X obj 281 240 * 3;
+#X msg 140 303 cursor;
+#X obj 140 280 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X floatatom 325 226 5 0 0 0 - - -;
+#X floatatom 325 249 5 0 0 0 - - -;
+#X obj 175 108 route drag;
+#X obj 17 231 pdp_mix;
+#X floatatom 61 205 5 0 0 0 - - -;
+#X obj 17 453 print;
+#X obj 17 422 spigot;
+#X obj 54 397 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X text 83 396 print the mouse event messages;
+#X floatatom 175 180 5 0 0 0 - - -;
+#X floatatom 240 182 5 0 0 0 - - -;
+#X text 109 41 using the mouse pointer in an xv window to control a
+patch;
+#X text 262 108 drag event coordinates mapped to zoom and rotation
+;
+#X msg 86 178 0.98;
+#X msg 47 177 0;
+#X connect 0 0 13 0;
+#X connect 0 0 17 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 1;
+#X connect 4 0 14 0;
+#X connect 5 0 0 0;
+#X connect 5 0 14 1;
+#X connect 6 0 8 0;
+#X connect 6 0 20 0;
+#X connect 6 1 7 0;
+#X connect 6 1 21 0;
+#X connect 7 0 5 2;
+#X connect 8 0 5 1;
+#X connect 9 0 0 0;
+#X connect 10 0 9 0;
+#X connect 11 0 8 1;
+#X connect 12 0 7 1;
+#X connect 13 0 6 0;
+#X connect 14 0 5 0;
+#X connect 15 0 14 2;
+#X connect 17 0 16 0;
+#X connect 18 0 17 1;
+#X connect 24 0 15 0;
+#X connect 25 0 15 0;
diff --git a/doc/introduction/input_output.pd b/doc/introduction/input_output.pd
index afb1fa6..07aa793 100644
--- a/doc/introduction/input_output.pd
+++ b/doc/introduction/input_output.pd
@@ -1,10 +1,10 @@
-#N canvas 215 217 894 722 10;
+#N canvas 250 34 894 848 10;
#X obj 107 427 pdp_v4l;
#X obj 107 53 metro 40;
#X msg 159 14 stop;
#X msg 107 14 bang;
#X msg 51 14 bang;
-#X obj 107 661 pdp_xv;
+#X obj 107 695 pdp_xv;
#X msg 209 93 open /dev/video0;
#X msg 209 117 open /dev/video1;
#X text 347 95 you can choose the input device using the 'open' message.
@@ -36,24 +36,30 @@ grabs a frame whenever a bang message is received. the output rate
is limited by the maximum framerate of the video device. if there is
no device opened \, it will attempt to open /dev/video0;
#X msg 212 627 cursor \$1;
-#X obj 212 607 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+#X obj 212 607 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 348 627 enables/disables cursor in xv window;
#X msg 210 319 channel \$1;
-#X floatatom 210 295 5 0 0;
+#X floatatom 210 295 5 0 0 0 - - -;
#X text 347 320 sets the v4l channel (like tuner \, composite \, svideo
\, ...);
-#X floatatom 210 359 5 0 0;
+#X floatatom 210 359 5 0 0 0 - - -;
#X msg 210 383 freq \$1;
-#X floatatom 271 359 5 0 0;
+#X floatatom 271 359 5 0 0 0 - - -;
#X msg 271 383 freqMHz \$1;
#X text 346 359 sets the v4l tuner frequency (in v4l units and MHz)
;
+#X text 347 655 specify the x window display;
+#X msg 212 653 display :0;
+#X obj 107 748 print;
+#X text 211 745 the output channel sends mouse event messages (press/release/drag
+and individual p/r/d for each button);
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
+#X connect 5 0 38 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 9 0 0 0;
@@ -73,3 +79,4 @@ no device opened \, it will attempt to open /dev/video0;
#X connect 32 0 0 0;
#X connect 33 0 34 0;
#X connect 34 0 0 0;
+#X connect 37 0 5 0;
diff --git a/doc/objects/help_pdp_add.pd b/doc/objects/pdp_add.pd
index 4105dcf..4105dcf 100644
--- a/doc/objects/help_pdp_add.pd
+++ b/doc/objects/pdp_add.pd
diff --git a/doc/objects/help_pdp_affine.pd b/doc/objects/pdp_affine.pd
index 3386fb8..3386fb8 100644
--- a/doc/objects/help_pdp_affine.pd
+++ b/doc/objects/pdp_affine.pd
diff --git a/doc/objects/help_pdp_bq.pd b/doc/objects/pdp_bq.pd
index 06c05da..06c05da 100644
--- a/doc/objects/help_pdp_bq.pd
+++ b/doc/objects/pdp_bq.pd
diff --git a/doc/objects/help_pdp_bqt.pd b/doc/objects/pdp_bqt.pd
index a2f483e..a2f483e 100644
--- a/doc/objects/help_pdp_bqt.pd
+++ b/doc/objects/pdp_bqt.pd
diff --git a/doc/objects/help_pdp_cheby.pd b/doc/objects/pdp_cheby.pd
index ada420b..ada420b 100644
--- a/doc/objects/help_pdp_cheby.pd
+++ b/doc/objects/pdp_cheby.pd
diff --git a/doc/objects/help_pdp_chrot.pd b/doc/objects/pdp_chrot.pd
index fb59ed5..fb59ed5 100644
--- a/doc/objects/help_pdp_chrot.pd
+++ b/doc/objects/pdp_chrot.pd
diff --git a/doc/objects/pdp_constant.pd b/doc/objects/pdp_constant.pd
new file mode 100644
index 0000000..b17c488
--- /dev/null
+++ b/doc/objects/pdp_constant.pd
@@ -0,0 +1,21 @@
+#N canvas 306 280 575 277 10;
+#X obj 46 231 pdp_help_output;
+#X obj 46 149 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 125 76 dim 320 240;
+#X text 221 76 set packet dimensions;
+#X msg 125 103 type grey;
+#X msg 125 126 type yv12;
+#X obj 46 198 pdp_constant;
+#X floatatom 125 172 5 0 0;
+#X text 221 105 generate greyscale image;
+#X text 221 124 generate colour image (default);
+#X text 221 174 set constant;
+#X text 118 26 pdp_constant creates an image filled with a constant
+when a bang is received;
+#X connect 1 0 6 0;
+#X connect 2 0 6 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 1;
diff --git a/doc/objects/help_pdp_control.pd b/doc/objects/pdp_control.pd
index fccb5e9..fccb5e9 100644
--- a/doc/objects/help_pdp_control.pd
+++ b/doc/objects/pdp_control.pd
diff --git a/doc/objects/help_pdp_conv.pd b/doc/objects/pdp_conv.pd
index aed62e2..aed62e2 100644
--- a/doc/objects/help_pdp_conv.pd
+++ b/doc/objects/pdp_conv.pd
diff --git a/doc/objects/help_pdp_del.pd b/doc/objects/pdp_del.pd
index cc68094..af16651 100644
--- a/doc/objects/help_pdp_del.pd
+++ b/doc/objects/pdp_del.pd
@@ -4,21 +4,23 @@
#X obj 20 60 pdp_help_input;
#X msg 20 31 start;
#X msg 72 30 stop;
-#X obj 42 147 pdp_del 50;
#X obj 20 236 pdp_mix;
#X obj 20 268 pdp_help_output;
#X msg 64 183 0.5;
#X text 164 116 right inlet sets current delay length;
#X text 164 149 a packet delay line.;
-#X text 164 165 creation arg = max delay length;
#X text 164 180 (dont make this too large \, packets are not compressed!)
;
-#X connect 0 0 5 1;
-#X connect 1 0 6 2;
+#X obj 42 147 pdp_del 50;
+#X text 164 165 first creation arg = max delay length;
+#X text 165 213 second creation arg: initial delay (default = max)
+;
+#X connect 0 0 11 1;
+#X connect 1 0 5 2;
#X connect 2 0 5 0;
-#X connect 2 0 6 0;
+#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
-#X connect 5 0 6 1;
-#X connect 6 0 7 0;
-#X connect 8 0 1 0;
+#X connect 5 0 6 0;
+#X connect 7 0 1 0;
+#X connect 11 0 5 1;
diff --git a/doc/objects/help_pdp_gain.pd b/doc/objects/pdp_gain.pd
index eec7e76..eec7e76 100644
--- a/doc/objects/help_pdp_gain.pd
+++ b/doc/objects/pdp_gain.pd
diff --git a/doc/objects/help_pdp_gradient.pd b/doc/objects/pdp_gradient.pd
index ece3876..ece3876 100644
--- a/doc/objects/help_pdp_gradient.pd
+++ b/doc/objects/pdp_gradient.pd
diff --git a/doc/objects/help_pdp_grey.pd b/doc/objects/pdp_grey.pd
index cd8d4e2..cd8d4e2 100644
--- a/doc/objects/help_pdp_grey.pd
+++ b/doc/objects/pdp_grey.pd
diff --git a/doc/objects/pdp_grey2mask.pd b/doc/objects/pdp_grey2mask.pd
new file mode 100644
index 0000000..9a561ff
--- /dev/null
+++ b/doc/objects/pdp_grey2mask.pd
@@ -0,0 +1,25 @@
+#N canvas 369 257 656 300 10;
+#X obj 46 40 pdp_help_input;
+#X msg 46 10 start;
+#X msg 95 10 stop;
+#X obj 46 275 pdp_help_output;
+#X obj 90 146 pdp_grey2mask;
+#X obj 46 183 pdp_mul;
+#X obj 46 247 pdp_gain;
+#X floatatom 97 220 5 0 0;
+#X text 194 136 convert a grey scale image or the luma channel of a
+colour image to an image mask. (to be used for multiplication);
+#X obj 90 119 pdp_reg;
+#X obj 172 73 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 197 70 click here to propagate a new mask;
+#X connect 0 0 5 0;
+#X connect 0 0 9 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 4 0 5 1;
+#X connect 5 0 6 0;
+#X connect 6 0 3 0;
+#X connect 7 0 6 1;
+#X connect 9 0 4 0;
+#X connect 10 0 9 0;
diff --git a/doc/objects/pdp_help_output.pd b/doc/objects/pdp_help_output.pd
index b3cf6cf..c216ae3 100644
--- a/doc/objects/pdp_help_output.pd
+++ b/doc/objects/pdp_help_output.pd
@@ -1,7 +1,6 @@
-#N canvas 664 342 450 300 10;
-#X obj 158 71 inlet;
+#N canvas 482 342 450 300 10;
+#X obj 59 95 inlet;
#X obj 59 178 pdp_xv;
-#X obj 162 180 pdp_sdl;
#X text 17 11 this abstraction is used as an output module in most
of the documentation patches. change it to reflect your preferred output
object.;
diff --git a/doc/objects/help_pdp_mix.pd b/doc/objects/pdp_mix.pd
index 92ed2bc..12dc169 100644
--- a/doc/objects/help_pdp_mix.pd
+++ b/doc/objects/pdp_mix.pd
@@ -8,14 +8,14 @@
#X msg 130 18 stop;
#X obj 81 238 pdp_help_output;
#X text 268 80 click here;
-#X text 268 175 0 = left \, 1 = right;
#X obj 81 184 pdp_mix;
#X text 268 159 crossfade between 2 packets;
-#X connect 0 0 9 1;
+#X text 268 175 0 = left inlet \, 1 = middle inlet;
+#X connect 0 0 8 1;
#X connect 1 0 0 0;
-#X connect 2 0 9 2;
+#X connect 2 0 8 2;
#X connect 3 0 0 1;
-#X connect 3 0 9 0;
+#X connect 3 0 8 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
-#X connect 9 0 6 0;
+#X connect 8 0 6 0;
diff --git a/doc/objects/help_pdp_mix2.pd b/doc/objects/pdp_mix2.pd
index aa492b1..aa492b1 100644
--- a/doc/objects/help_pdp_mix2.pd
+++ b/doc/objects/pdp_mix2.pd
diff --git a/doc/objects/help_pdp_mul.pd b/doc/objects/pdp_mul.pd
index 596c1cb..596c1cb 100644
--- a/doc/objects/help_pdp_mul.pd
+++ b/doc/objects/pdp_mul.pd
diff --git a/doc/objects/help_pdp_noise.pd b/doc/objects/pdp_noise.pd
index 732d4a1..732d4a1 100644
--- a/doc/objects/help_pdp_noise.pd
+++ b/doc/objects/pdp_noise.pd
diff --git a/doc/objects/help_pdp_qt.pd b/doc/objects/pdp_qt.pd
index 9ff6154..9ff6154 100644
--- a/doc/objects/help_pdp_qt.pd
+++ b/doc/objects/pdp_qt.pd
diff --git a/doc/objects/help_pdp_qt~.pd b/doc/objects/pdp_qt~.pd
index b03e4e1..b03e4e1 100644
--- a/doc/objects/help_pdp_qt~.pd
+++ b/doc/objects/pdp_qt~.pd
diff --git a/doc/objects/help_pdp_randmix.pd b/doc/objects/pdp_randmix.pd
index 75f12fc..75f12fc 100644
--- a/doc/objects/help_pdp_randmix.pd
+++ b/doc/objects/pdp_randmix.pd
diff --git a/doc/objects/help_pdp_reg.pd b/doc/objects/pdp_reg.pd
index 9a78e66..9a78e66 100644
--- a/doc/objects/help_pdp_reg.pd
+++ b/doc/objects/pdp_reg.pd
diff --git a/doc/objects/help_pdp_rotate.pd b/doc/objects/pdp_rotate.pd
index 6c60c60..6c60c60 100644
--- a/doc/objects/help_pdp_rotate.pd
+++ b/doc/objects/pdp_rotate.pd
diff --git a/doc/objects/help_pdp_route.pd b/doc/objects/pdp_route.pd
index c9d341d..c9d341d 100644
--- a/doc/objects/help_pdp_route.pd
+++ b/doc/objects/pdp_route.pd
diff --git a/doc/objects/help_pdp_scale.pd b/doc/objects/pdp_scale.pd
index 9ed7996..9ed7996 100644
--- a/doc/objects/help_pdp_scale.pd
+++ b/doc/objects/pdp_scale.pd
diff --git a/doc/objects/pdp_scanxy~.pd b/doc/objects/pdp_scanxy~.pd
new file mode 100644
index 0000000..5edad44
--- /dev/null
+++ b/doc/objects/pdp_scanxy~.pd
@@ -0,0 +1,76 @@
+#N canvas 362 152 806 785 10;
+#X floatatom 73 226 5 0 0;
+#X obj 73 602 dac~;
+#X obj 13 48 pdp_help_input;
+#X msg 13 19 start;
+#X obj 13 632 pdp_help_output;
+#X obj 73 546 *~;
+#X floatatom 89 517 5 0 0;
+#X obj 73 486 hip~ 20;
+#X floatatom 117 459 5 0 0;
+#X floatatom 131 406 5 0 0;
+#X obj 73 433 lop~ 1000;
+#X msg 222 342 interpolate \$1;
+#X obj 222 316 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 251 313 set interpolation between consecutive packets on/off
+;
+#X text 216 377 (the audio crossfade size is determined by the pd blocksize.
+so you can use a block~ object to set this);
+#X obj 73 375 pdp_scanxy~;
+#X floatatom 145 228 5 0 0;
+#X floatatom 73 146 5 0 0;
+#X msg 224 225 0;
+#X msg 255 225 0.25;
+#X obj 224 197 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 61 20 stop;
+#X obj 13 96 pdp_blur;
+#X floatatom 58 72 5 0 0;
+#X floatatom 161 167 5 0 0;
+#X obj 145 198 * 1;
+#X text 220 46 pdp_scanxy~: scanned synthesis with coordinate input.
+(0 \, 0) = top left \, (1 \, 1) = bottom right;
+#X obj 73 267 osc~;
+#X obj 145 266 osc~;
+#X text 223 164 set frequency ratio for lissajous path;
+#X text 250 196 resync phase;
+#X obj 73 293 *~ 0.5;
+#X obj 145 293 *~ 0.5;
+#X obj 73 318 +~ 0.5;
+#X obj 145 318 +~ 0.5;
+#X text 220 87 the waveform is scanned from the luma plane of an image.
+the path is determined by the left(x) and right(y) coordinate inlets.
+;
+#X connect 0 0 27 0;
+#X connect 2 0 22 0;
+#X connect 3 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 1 1;
+#X connect 6 0 5 1;
+#X connect 7 0 5 0;
+#X connect 8 0 7 1;
+#X connect 9 0 10 1;
+#X connect 10 0 7 0;
+#X connect 11 0 15 0;
+#X connect 12 0 11 0;
+#X connect 15 0 10 0;
+#X connect 16 0 28 0;
+#X connect 17 0 0 0;
+#X connect 17 0 25 0;
+#X connect 18 0 27 1;
+#X connect 19 0 28 1;
+#X connect 20 0 18 0;
+#X connect 20 0 19 0;
+#X connect 21 0 2 0;
+#X connect 22 0 4 0;
+#X connect 22 0 15 0;
+#X connect 23 0 22 1;
+#X connect 24 0 25 1;
+#X connect 25 0 16 0;
+#X connect 27 0 31 0;
+#X connect 28 0 32 0;
+#X connect 31 0 33 0;
+#X connect 32 0 34 0;
+#X connect 33 0 15 0;
+#X connect 34 0 15 1;
diff --git a/doc/objects/help_pdp_scan~.pd b/doc/objects/pdp_scan~.pd
index fb3b749..69b0900 100644
--- a/doc/objects/help_pdp_scan~.pd
+++ b/doc/objects/pdp_scan~.pd
@@ -12,7 +12,6 @@
#X floatatom 117 224 5 0 0;
#X floatatom 131 171 5 0 0;
#X obj 73 198 lop~ 1000;
-#X text 214 43 pdp_scan~: scanned synthesis;
#X msg 217 102 interpolate \$1;
#X obj 217 76 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
@@ -20,9 +19,10 @@
;
#X text 216 142 (the audio crossfade size is determined by the pd blocksize.
so you can use a block~ object to set this);
-#X text 218 236 it works like osc~ \, only the waveform is scanned
-from the luma plane of an image. the path is an oval centered at the
-middle of the image with axes equal to 60% of the image width/height
+#X text 218 236 the waveform is scanned from the luma plane of an image.
+the path is an oval centered at the middle of the image with axes equal
+to 60% of the image width/height.;
+#X text 214 43 pdp_scan~: oval scanned synthesis with a phase input
;
#X connect 0 0 12 0;
#X connect 1 0 0 0;
@@ -37,5 +37,5 @@ middle of the image with axes equal to 60% of the image width/height
#X connect 10 0 9 1;
#X connect 11 0 12 1;
#X connect 12 0 9 0;
-#X connect 14 0 0 0;
-#X connect 15 0 14 0;
+#X connect 13 0 0 0;
+#X connect 14 0 13 0;
diff --git a/doc/objects/help_pdp_scope~.pd b/doc/objects/pdp_scope~.pd
index eeeaabe..eeeaabe 100644
--- a/doc/objects/help_pdp_scope~.pd
+++ b/doc/objects/pdp_scope~.pd
diff --git a/doc/objects/help_pdp_snap.pd b/doc/objects/pdp_snap.pd
index b5c2752..b5c2752 100644
--- a/doc/objects/help_pdp_snap.pd
+++ b/doc/objects/pdp_snap.pd
diff --git a/doc/objects/help_pdp_trigger.pd b/doc/objects/pdp_trigger.pd
index f8b5461..f8b5461 100644
--- a/doc/objects/help_pdp_trigger.pd
+++ b/doc/objects/pdp_trigger.pd
diff --git a/doc/objects/help_pdp_v4l.pd b/doc/objects/pdp_v4l.pd
index 5f5ebb4..5f5ebb4 100644
--- a/doc/objects/help_pdp_v4l.pd
+++ b/doc/objects/pdp_v4l.pd
diff --git a/doc/objects/help_pdp_xv.pd b/doc/objects/pdp_xv.pd
index 5c0b371..dd07488 100644
--- a/doc/objects/help_pdp_xv.pd
+++ b/doc/objects/pdp_xv.pd
@@ -1,5 +1,5 @@
-#N canvas 303 183 708 385 10;
-#X obj 29 328 pdp_xv;
+#N canvas 150 382 708 497 10;
+#X obj 29 412 pdp_xv;
#X msg 132 223 dim 320 240;
#X msg 132 246 dim 640 480;
#X text 271 226 dim sets the window dimensions;
@@ -18,6 +18,12 @@ window;
#X obj 29 61 pdp_help_input;
#X msg 29 25 start;
#X msg 78 24 stop;
+#X text 269 326 specify the x window display;
+#X msg 134 324 display :0;
+#X obj 29 448 print;
+#X text 133 445 the output channel sends mouse event messages (press/release/drag
+and individual p/r/d for each button);
+#X connect 0 0 16 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 4 0 0 0;
@@ -27,3 +33,4 @@ window;
#X connect 11 0 0 0;
#X connect 12 0 11 0;
#X connect 13 0 11 0;
+#X connect 15 0 0 0;
diff --git a/doc/objects/help_pdp_zoom.pd b/doc/objects/pdp_zoom.pd
index 19ec1a7..19ec1a7 100644
--- a/doc/objects/help_pdp_zoom.pd
+++ b/doc/objects/pdp_zoom.pd
diff --git a/doc/objects/help_pdp_zrot.pd b/doc/objects/pdp_zrot.pd
index f3937a0..f3937a0 100644
--- a/doc/objects/help_pdp_zrot.pd
+++ b/doc/objects/pdp_zrot.pd
diff --git a/doc/reference.txt b/doc/reference.txt
index b6b8ff3..dc0ec3d 100644
--- a/doc/reference.txt
+++ b/doc/reference.txt
@@ -21,11 +21,13 @@ image processors:
pdp_add adds two images
pdp_bq spatial biquad filter
pdp_bqt temporal biquad filter
+pdp_constant fills an image with a constant
pdp_conv horizontal/vertical seperable convolution filter
pdp_cheby chebyshev color shaper
pdp_chrot rotates the chroma components
pdp_gradient converts a greyscale image using a colour palette
pdp_grey converts an image to greyscale
+pdp_grey2mask converts a greyscale image to an image mask
pdp_mul multiplies two images
pdp_affine shifts and scales a colour plane
pdp_mix crossfade between 2 images
@@ -35,7 +37,8 @@ pdp_noise a noise generator
pdp_rotate tiled rotate
pdp_scope~ a very simple oscilloscope
pdp_scale rescale an image
-pdp_scan~ scanned synthesis oscillator
+pdp_scan~ phase input scanned synthesis oscillator
+pdp_scanxy~ x,y coordinate input scanned synthesis oscillator
pdp_zoom tiled zoom
pdp_zrot tiled zoom + rotate
@@ -59,6 +62,7 @@ pdp_conv_sobel_hor horizontal sobel edge detector
pdp_conv_sobel_ver vertical sobel edge detector
pdp_conv_sobel_edge sum of squares of hor and ver
pdp_saturation change colour saturation
+pdp_invert inverse video
cellular automata (separate lib):