[PD-cvs] externals/pdp/doc/objects README, 1.2, 1.3 pdp_abs.pd, 1.2, 1.3 pdp_add.pd, 1.3, 1.4 pdp_and.pd, 1.2, 1.3 pdp_bitdepth.pd, 1.2, 1.3 pdp_bitmask.pd, 1.2, 1.3 pdp_bq.pd, 1.3, 1.4 pdp_bqt.pd, 1.3, 1.4 pdp_cheby.pd, 1.3, 1.4 pdp_chrot.pd, 1.2, 1.3 pdp_cog.pd, 1.2, 1.3 pdp_constant.pd, 1.2, 1.3 pdp_control.pd, 1.3, 1.4 pdp_conv.pd, 1.2, 1.3 pdp_convert.pd, 1.2, 1.3 pdp_del.pd, 1.3, 1.4 pdp_description.pd, 1.2, 1.3 pdp_flip_lr.pd, 1.2, 1.3 pdp_flip_tb.pd, 1.2, 1.3 pdp_gain.pd, 1.3, 1.4 pdp_grey2mask.pd, 1.2, 1.3 pdp_help_input.pd, 1.3, 1.4 pdp_help_output.pd, 1.4, 1.5 pdp_histo.pd, 1.2, 1.3 pdp_hthresh.pd, 1.2, 1.3 pdp_loop.pd, 1.2, 1.3 pdp_mix.pd, 1.2, 1.3 pdp_mix2.pd, 1.2, 1.3 pdp_mul.pd, 1.3, 1.4 pdp_netsend.pd, 1.2, 1.3 pdp_noise.pd, 1.2, 1.3 pdp_not.pd, 1.2, 1.3 pdp_or.pd, 1.2, 1.3 pdp_plasma.pd, 1.2, 1.3 pdp_pointcloud.pd, 1.2, 1.3 pdp_positive.pd, 1.2, 1.3 pdp_qt.pd, 1.2, 1.3 pdp_qt~.pd, 1.2, 1.3 pdp_randmix.pd, 1.3, 1.4 pdp_rawin.pd, 1.2, 1.3 pdp_rawout.pd, 1.2, 1.3 pdp_reg.pd, 1.3, 1.4 pdp_rotate.pd, 1.2, 1.3 pdp_route.pd, 1.2, 1.3 pdp_scale.pd, 1.2, 1.3 pdp_scanxy~.pd, 1.2, 1.3 pdp_scan~.pd, 1.2, 1.3 pdp_scope~.pd, 1.2, 1.3 pdp_sign.pd, 1.2, 1.3 pdp_snap.pd, 1.2, 1.3 pdp_sthresh.pd, 1.2, 1.3 pdp_trigger.pd, 1.3, 1.4 pdp_v4l.pd, 1.2, 1.3 pdp_xor.pd, 1.2, 1.3 pdp_xv.pd, 1.3, 1.4 pdp_zoom.pd, 1.2, 1.3 pdp_zrot.pd, 1.2, 1.3 pdp_zthresh.pd, 1.2, 1.3

Hans-Christoph Steiner eighthave at users.sourceforge.net
Fri Dec 16 02:05:34 CET 2005


Update of /cvsroot/pure-data/externals/pdp/doc/objects
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6756/doc/objects

Added Files:
	README pdp_abs.pd pdp_add.pd pdp_and.pd pdp_bitdepth.pd 
	pdp_bitmask.pd pdp_bq.pd pdp_bqt.pd pdp_cheby.pd pdp_chrot.pd 
	pdp_cog.pd pdp_constant.pd pdp_control.pd pdp_conv.pd 
	pdp_convert.pd pdp_del.pd pdp_description.pd pdp_flip_lr.pd 
	pdp_flip_tb.pd pdp_gain.pd pdp_grey2mask.pd pdp_help_input.pd 
	pdp_help_output.pd pdp_histo.pd pdp_hthresh.pd pdp_loop.pd 
	pdp_mix.pd pdp_mix2.pd pdp_mul.pd pdp_netsend.pd pdp_noise.pd 
	pdp_not.pd pdp_or.pd pdp_plasma.pd pdp_pointcloud.pd 
	pdp_positive.pd pdp_qt.pd pdp_qt~.pd pdp_randmix.pd 
	pdp_rawin.pd pdp_rawout.pd pdp_reg.pd pdp_rotate.pd 
	pdp_route.pd pdp_scale.pd pdp_scanxy~.pd pdp_scan~.pd 
	pdp_scope~.pd pdp_sign.pd pdp_snap.pd pdp_sthresh.pd 
	pdp_trigger.pd pdp_v4l.pd pdp_xor.pd pdp_xv.pd pdp_zoom.pd 
	pdp_zrot.pd pdp_zthresh.pd 
Log Message:
checking in pdp 0.12.4 from http://zwizwa.fartit.com/pd/pdp/pdp-0.12.4.tar.gz

--- NEW FILE: pdp_snap.pd ---
#N canvas 623 480 596 300 10;
#X msg 92 15 start;
#X msg 142 15 stop;
#X obj 92 53 pdp_help_input;
#X obj 41 240 pdp_help_output;
#X text 140 172 bang: sends stored packet to output;
#X text 113 143 left intlet (hot):;
#X text 112 202 right intlet (cold):;
#X obj 41 171 pdp_snap;
#X text 115 103 pdp_reg takes a snapshot from a pdp stream.;
#X text 263 201 pdp inlet;
#X text 139 157 snap: stores the next packet that arrives on second
inlet;
#X msg 8 130 bang;
#X msg 49 130 snap;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 7 1;
#X connect 7 0 3 0;
#X connect 11 0 7 0;
#X connect 12 0 7 0;

--- NEW FILE: pdp_description.pd ---
#N canvas 338 375 593 300 10;
#X symbolatom 78 197 40 0 0;
#X obj 78 46 pdp_noise;
#X obj 78 23 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1
-1;
#X obj 183 44 pdp_noise;
#X obj 183 21 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1
-1;
#X obj 183 71 pdp_grey;
#X text 263 139 output packet description as a symbol;
#X obj 288 44 pdp_noise;
#X obj 288 21 bng 15 250 50 0 empty empty empty 0 -6 32 8 -262144 -1
-1;
#X obj 288 71 pdp_mchp;
#X floatatom 178 171 5 0 0;
#X obj 78 118 pdp_reg;
#X obj 78 142 pdp_description;
#X connect 1 0 11 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 11 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 9 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 0 0;
#X connect 12 1 10 0;

--- NEW FILE: pdp_help_input.pd ---
#N canvas 394 33 741 682 10;
#X obj 23 524 pdp_v4l;
#X text 17 11 this abstraction is used as an input module in most of
the documentation patches. change it to reflect your preferred input
object.;
#X obj 262 234 inlet;
#X msg 315 324 stop;
#X obj 258 672 outlet;
#X obj 262 385 metro;
#X obj 292 360 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10
-262144 -1 -1 40 256;
#X msg 23 287 open /dev/video0;
#X obj 260 88 loadbang;
#X obj 199 169 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 315 167 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 171 189 connect here;
#X text 291 187 connect here;
#X obj 187 470 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 334 468 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 45 329 v4l device;
#X text 18 312 change this to your;
#X obj 492 515 pdp_qt;
#X obj 260 137 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 262 426 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 520 308 change this to the movie;
#X text 519 323 you want to use;
#X msg 520 379 loop 1;
#X msg 262 325 bang;
#X text 163 203 for video4linux;
#X text 294 201 for quicktime;
#X text 156 497 connect here;
#X text 148 511 for video4linux;
#X text 302 497 connect here;
#X text 305 511 for quicktime;
#X text 308 377 set framerate here;
#X msg 492 288 open /tmp/test.mov;
#X obj 262 258 route start stop;
#X obj 329 292 select 0;
#X obj 262 292 select 1;
#X msg 40 357 open /dev/video1;
#X obj 247 601 pdp_noise;
#X obj 268 523 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 236 552 connect here;
#X text 239 566 for noise input;
#X text 293 137 disconnect for noise input;
#X connect 0 0 4 0;
#X connect 2 0 32 0;
#X connect 3 0 5 0;
#X connect 5 0 19 0;
#X connect 6 0 5 1;
#X connect 7 0 0 0;
#X connect 8 0 18 0;
#X connect 9 0 7 0;
#X connect 10 0 31 0;
#X connect 13 0 0 0;
#X connect 14 0 17 0;
#X connect 17 0 4 0;
#X connect 18 0 9 0;
#X connect 19 0 13 0;
#X connect 22 0 17 0;
#X connect 23 0 5 0;
#X connect 31 0 17 0;
#X connect 31 0 22 0;
#X connect 32 0 23 0;
#X connect 32 1 3 0;
#X connect 32 2 34 0;
#X connect 33 0 3 0;
#X connect 34 0 23 0;
#X connect 34 1 33 0;
#X connect 35 0 0 0;
#X connect 36 0 4 0;
#X connect 37 0 36 0;

--- NEW FILE: pdp_trigger.pd ---
#N canvas 218 0 631 489 10;
#X obj 46 40 pdp_help_input;
#X msg 46 10 start;
#X msg 95 10 stop;
#X obj 46 179 pdp_help_output;
#X obj 46 102 pdp_trigger;
#X text 163 98 default behaviour is to outputs bang on the right output
before sending packet to the left output;
#X obj 118 146 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 45 269 pdp_noise;
#X obj 45 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 45 294 pdp_trigger bang pdp bang bang pdp;
#X obj 45 460 print o1;
#X obj 278 326 print o5;
#X obj 161 388 print o3;
#X obj 103 429 print o2;
#X obj 219 354 print o4;
#X text 163 57 pdp_trigger behaves very much like the pd trigger object
;
#X text 162 243 you can give it pdp (p) or bang (b) arguments to send
out packets or bangs from right to left;
#X obj 365 406 pdp_t b p b b p;
#X text 325 386 there is also a short version:;
#X text 142 565 confusing note:;
#X obj 46 575 pdp_noise;
#X obj 46 551 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 46 604 pdp_add;
#X obj 61 746 pdp_noise;
#X obj 61 722 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 61 806 pdp_add;
#X obj 105 776 pdp_gain;
#X text 142 584 you don't need a trigger object if you connect a pdp
object's outlet to only one active inlet.;
#X text 139 657 if an outlet is connected to more than one active inlet
\, you need a trigger object like you would do with standard pd message
objects;
#X obj 285 725 pdp_noise;
#X obj 285 701 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 285 806 pdp_add;
#X obj 343 778 pdp_gain;
#X obj 285 751 pdp_t p p;
#X floatatom 156 750 5 0 0;
#X floatatom 394 750 5 0 0;
#X text 287 829 correct;
#X text 139 852 (even more confusing note: this is because pdp uses
a 3 phase communication protocol.);
#X text 452 459 (scroll down for more);
#X text 48 829 unpredictable;
#X connect 0 0 4 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 4 0 3 0;
#X connect 4 1 6 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 9 1 13 0;
#X connect 9 2 12 0;
#X connect 9 3 14 0;
#X connect 9 4 11 0;
#X connect 20 0 22 0;
#X connect 20 0 22 1;
#X connect 21 0 20 0;
#X connect 23 0 25 0;
#X connect 23 0 26 0;
#X connect 24 0 23 0;
#X connect 26 0 25 1;
#X connect 29 0 33 0;
#X connect 30 0 29 0;
#X connect 32 0 31 1;
#X connect 33 0 31 0;
#X connect 33 1 32 0;
#X connect 34 0 26 1;
#X connect 35 0 32 1;

--- NEW FILE: pdp_mix.pd ---
#N canvas 314 353 576 288 10;
#X obj 103 132 pdp_reg;
#X obj 201 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 200 155 5 0 0;
#X obj 81 48 pdp_help_input;
#X msg 81 18 start;
#X msg 130 18 stop;
#X obj 81 238 pdp_help_output;
#X text 268 80 click here;
#X obj 81 184 pdp_mix;
#X text 268 159 crossfade between 2 packets;
#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 8 2;
#X connect 3 0 0 1;
#X connect 3 0 8 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 8 0 6 0;

--- NEW FILE: pdp_help_output.pd ---
#N canvas 482 342 510 304 10;
#X obj 59 95 inlet;
#X obj 59 178 pdp_xv;
#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.;
#X obj 232 179 pdp_glx;
#X text 31 201 X11 XVideo output;
#X text 198 199 X11 openGL output;
#X text 60 217 (linux);
#X text 199 214 (linux \, mesa \, osx);
#X msg 106 141 display acer:0;
#X connect 0 0 1 0;
#X connect 8 0 1 0;

--- NEW FILE: pdp_flip_tb.pd ---
#N canvas 504 211 449 178 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 136 pdp_help_output;
#X obj 77 101 pdp_flip_tb;
#X text 222 101 flip top <-> bottom;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 3 0;

--- NEW FILE: pdp_convert.pd ---
#N canvas 556 468 575 277 10;
#X obj 46 40 pdp_help_input;
#X msg 46 10 start;
#X msg 95 10 stop;
#X obj 46 225 pdp_help_output;
#X obj 118 69 hdl 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1 -1
0;
#X obj 46 90 pdp_route 2;
#X obj 118 154 pdp_convert image/grey/*;
#X text 307 153 convert a packet;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 4 0 5 1;
#X connect 5 0 3 0;
#X connect 5 1 6 0;
#X connect 6 0 3 0;

--- NEW FILE: pdp_control.pd ---
#N canvas 259 276 910 567 10;
#X obj 143 325 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 143 415 pdp_control;
#X msg 143 366 thread \$1;
#X obj 48 54 pdp_help_input;
#X msg 48 24 start;
#X msg 105 24 stop;
#X obj 48 205 pdp_help_output;
#X obj 48 154 pdp_conv;
#X floatatom 117 86 5 0 0;
#X obj 46 361 osc~;
#X floatatom 46 326 5 0 0;
#X obj 46 430 osc~;
#X floatatom 79 402 5 0 0;
#X obj 46 460 dac~;
#X obj 143 454 print;
#X text 182 323 switch thread processing on or of;
#X text 197 455 a pdp_drop message will be sent out;
#X text 197 471 when a package is dropped;
#X text 119 155 a convolution object to burn cycles;
#X obj 666 254 pdp_control;
#X msg 666 226 collectgarbage;
#X obj 646 478 pdp_control;
#X text 175 82 increase this with thread processing enabled \, no audio
should be dropped. if you do it with thread processing disabled \,
increasing it too much can lock up the machine when real time scheduling
is enabled.;
#X msg 646 452 memlimit \$1;
#X msg 688 422 5e+07;
#X msg 615 421 0;
#X text 687 402 50M;
#X text 613 401 off;
#X text 472 178 free all unused packets. pdp's garbage collection is
"lazy" meaning packets will only be freed when the maximum usage limit
is reached.;
#X text 179 25 pdp_control: fine tune the pdp system. (threads & memory).
;
#X text 470 357 set the max memory usage limit for the packet pool.
the default is off (value <= 0).;
#X text 475 511 (this is a safety measure: in pdp it is easy to use
too much memory \, i.e. with delay lines \, which will likely crash
pd);
#X connect 0 0 2 0;
#X connect 1 0 14 0;
#X connect 2 0 1 0;
#X connect 3 0 7 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 7 0 6 0;
#X connect 8 0 7 1;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 13 0;
#X connect 12 0 11 1;
#X connect 20 0 19 0;
#X connect 23 0 21 0;
#X connect 24 0 23 0;
#X connect 25 0 23 0;

--- NEW FILE: pdp_loop.pd ---
#N canvas 427 312 733 458 10;
#X obj 32 85 metro 40;
#X obj 17 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 152 393 pdp_loop 25;
#X msg 275 109 record;
#X floatatom 83 58 5 0 0;
#X msg 39 58 stop;
#X floatatom 274 363 5 0 0;
#X floatatom 274 338 5 0 0;
#X msg 275 82 store \$1;
#X floatatom 275 57 5 0 0;
#X msg 274 158 stop;
#X obj 152 428 pdp_help_output;
#X obj 152 87 pdp_help_input;
#X msg 152 59 start;
#X msg 199 59 stop;
#X text 365 325 set playback position;
#X text 372 345 hot;
#X text 369 362 cold;
#X text 365 159 stop recording;
#X text 366 107 start recording at position 0;
#X text 365 82 store a single packet at an arbitrary position;
#X text 154 33 source playback;
#X text 16 34 loop playback;
#X text 272 393 creation arg: loop size;
#X msg 275 132 record 10 2;
#X text 365 133 start recording at position 10 \, recording 2 packets
;
#X msg 274 209 loop \$1;
#X obj 274 188 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 365 210 looping on/off;
#X msg 274 310 0;
#X msg 274 273 size \$1;
#X floatatom 274 249 5 0 0;
#X text 366 270 set a new loop size. (don't make this too large);
#X msg 561 356 collectgarbage;
#X obj 561 387 pdp_control;
#X msg 546 329 thread 1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 0 1;
#X connect 5 0 0 0;
#X connect 6 0 2 1;
#X connect 7 0 2 0;
#X connect 8 0 2 0;
#X connect 9 0 8 0;
#X connect 10 0 2 0;
#X connect 12 0 2 0;
#X connect 13 0 12 0;
#X connect 14 0 12 0;
#X connect 24 0 2 0;
#X connect 26 0 2 0;
#X connect 27 0 26 0;
#X connect 29 0 7 0;
#X connect 30 0 2 0;
#X connect 31 0 30 0;
#X connect 33 0 34 0;
#X connect 35 0 34 0;

--- NEW FILE: pdp_add.pd ---
#N canvas 180 63 511 383 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 322 pdp_help_output;
#X obj 77 279 pdp_add;
#X obj 121 246 pdp_reg;
#X obj 196 183 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 229 181 click here;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0 0 - - -;
#X msg 128 109 0.5;
#X text 229 283 adds (and saturates) 2 packets;
#X msg 230 246 chanmask \$1;
#X floatatom 230 221 5 0 0 0 - - -;
#X msg 374 131 thread \$1;
#X obj 373 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 377 164 pdp_control;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 8 0;
#X connect 4 0 3 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 8 0 4 0;
#X connect 8 0 5 1;
#X connect 9 0 8 1;
#X connect 10 0 9 0;
#X connect 12 0 4 0;
#X connect 13 0 12 0;
#X connect 14 0 16 0;
#X connect 15 0 14 0;

--- NEW FILE: pdp_or.pd ---
#N canvas 552 356 511 383 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 322 pdp_help_output;
#X obj 114 246 pdp_reg;
#X obj 196 183 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 229 181 click here;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0;
#X msg 128 109 0.5;
#X obj 77 279 pdp_or;
#X text 229 283 bitwise or;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 4 0 10 1;
#X connect 5 0 4 0;
#X connect 7 0 4 1;
#X connect 7 0 10 0;
#X connect 8 0 7 1;
#X connect 9 0 8 0;
#X connect 10 0 3 0;

--- NEW FILE: pdp_positive.pd ---
#N canvas 479 219 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 340 pdp_help_output;
#X floatatom 128 135 5 0 0;
#X obj 77 296 pdp_gain;
#X msg 145 271 1;
#X obj 77 231 pdp_positive;
#X text 224 230 test positive and return a bitmask;
#X text 225 245 >= 0 -> all one / < 0 -> all zero;
#X text 223 264 to use in conjunction with logic ops;
#X obj 77 268 pdp_xor;
#X obj 277 146 pdp_cheby;
#X obj 77 163 pdp_offset;
#X msg 128 109 -0.5;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 11 1;
#X connect 2 0 13 0;
#X connect 4 0 13 1;
#X connect 5 0 3 0;
#X connect 6 0 5 1;
#X connect 7 0 11 0;
#X connect 11 0 5 0;
#X connect 13 0 7 0;
#X connect 14 0 4 0;

--- NEW FILE: pdp_cog.pd ---
#N canvas 683 169 505 377 10;
#X floatatom 146 142 5 0 0;
#X floatatom 146 166 5 0 0;
#X floatatom 146 190 5 0 0;
#X floatatom 146 214 5 0 0;
#X floatatom 146 239 5 0 0;
#X text 32 12 pdp_cog: compute intensity \, center of gravity and standard
deviation. (interpret an image as a gaussian blob).;
#X text 201 215 standard deviation x;
#X text 200 239 standard deviation y;
#X obj 78 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 21 236 pdp_help_output;
#X obj 78 73 pdp_help_input;
#X text 200 141 average intensity;
#X text 200 168 center of gravity x;
#X text 200 190 center of gravity y;
#X text 203 47 creation argument is threshold;
#X obj 78 124 pdp_cog;
#X floatatom 375 291 5 0 0;
#X obj 226 317 pdp_cog_abs_thresh 0.1;
#X text 87 342 the same \, but takes the absolute value and performs
a thresholding operation;
#X connect 8 0 10 0;
#X connect 10 0 9 0;
#X connect 10 0 15 0;
#X connect 15 0 0 0;
#X connect 15 1 1 0;
#X connect 15 2 2 0;
#X connect 15 3 3 0;
#X connect 15 4 4 0;
#X connect 16 0 17 1;

--- NEW FILE: pdp_v4l.pd ---
#N canvas 283 209 927 686 10;
#X obj 107 53 metro 40;
#X msg 159 14 stop;
#X msg 107 14 bang;
#X msg 51 14 bang;
#X msg 210 132 open /dev/video0;
#X msg 210 156 open /dev/video1;
#X text 348 128 you can choose the input device using the 'open' message.
the default is /dev/video0;
#X msg 210 181 close;
#X text 349 182 closes the video port;
#X msg 210 207 type yv12;
#X msg 210 231 type grey;
#X text 349 210 type sets the ouput image package type. currently only
yv12 (luma/chroma color) and greyscale are supported.;
#X msg 211 260 dim 320 240;
#X msg 211 283 dim 640 480;
#X msg 212 336 channel \$1;
#X floatatom 212 312 5 0 0 0 - - -;
#X floatatom 210 459 5 0 0 0 - - -;
#X msg 210 483 freq \$1;
#X floatatom 271 459 5 0 0 0 - - -;
#X msg 271 483 freqMHz \$1;
#X text 346 459 sets the v4l tuner frequency (in v4l units and MHz)
;
#X obj 107 580 pdp_help_output;
#X text 348 526 creation arguments: <input device> <capture format>
;
#X text 347 620 i.e. if you get weird colours \, try;
#X obj 601 620 pdp_v4l /dev/video RGB24;
#X text 206 14 pdp_v4l grabs video from the video4linux device. it
sends out the most recently grabbed frame whenever a bang message is
received \, and will then discard that frame (it will be sent out on
time at most). the output framerate is limited by the device only.
;
#X text 206 89 (to make sure you receive every frame with little jitter
\, poll pdp_v4l with a high rate metronome);
#X text 348 554 capture format can be one of "auto" \, "YUV420P" \,
"YUV422" \, "RGB24" or "RGB32". for most cards autodetect (default)
should work. if not \, add the desired capture format argument when
you create a pdp_v4l object.;
#X obj 107 527 pdp_v4l;
#X text 349 338 sets the v4l channel (like tuner \, composite \, svideo
\, ...);
#X msg 212 366 norm PAL;
#X msg 211 410 norm SECAM;
#X msg 211 388 norm NTSC;
#X msg 211 431 norm AUTO;
#X text 349 377 sets the video norm;
#X connect 0 0 28 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 28 0;
#X connect 4 0 28 0;
#X connect 5 0 28 0;
#X connect 7 0 28 0;
#X connect 9 0 28 0;
#X connect 10 0 28 0;
#X connect 12 0 28 0;
#X connect 13 0 28 0;
#X connect 14 0 28 0;
#X connect 15 0 14 0;
#X connect 16 0 17 0;
#X connect 17 0 28 0;
#X connect 18 0 19 0;
#X connect 19 0 28 0;
#X connect 28 0 21 0;
#X connect 30 0 28 0;
#X connect 31 0 28 0;
#X connect 32 0 28 0;
#X connect 33 0 28 0;

--- NEW FILE: pdp_rotate.pd ---
#N canvas 467 414 562 448 10;
#X msg 195 174 centerx \$1;
#X floatatom 195 145 5 0 0;
#X floatatom 279 145 5 0 0;
#X msg 279 174 centery \$1;
#X obj 46 40 pdp_help_input;
#X msg 46 10 start;
#X msg 95 10 stop;
#X obj 46 401 pdp_help_output;
#X text 194 70 (0 \, 0) = top left;
#X text 194 84 (1 \, 1) = bottom right;
#X msg 247 113 0.5;
#X floatatom 187 318 5 0 0;
#X msg 187 288 0;
#X text 192 6 pdp_zrot: zoom and rotation;
#X obj 46 363 pdp_rotate;
#X text 239 319 right inlet sets rotation angle;
#X text 194 54 set rotation center;
#X connect 0 0 14 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 4 0 14 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 10 0 1 0;
#X connect 10 0 2 0;
#X connect 11 0 14 1;
#X connect 12 0 11 0;
#X connect 14 0 7 0;

--- NEW FILE: pdp_rawout.pd ---
#N canvas 254 556 687 380 10;
#X msg 132 63 open /tmp/otherpipe;
#X msg 177 145 open;
#X text 216 145 open default pipe;
#X obj 132 219 print done;
#X text 117 266 connect to [open< to ensure pipe stays open;
#X text 278 64 open any pipe for reading;
#X msg 147 85 close;
#X text 193 85 close pipe;
#X obj 177 125 spigot;
#X obj 230 124 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X text 134 15 pdp_rawout: write raw data to a pipe (or file);
#X text 293 169 creation args: <pipe>;
#X obj 132 169 pdp_rawout /tmp/pipe;
#X obj 15 124 pdp_help_input;
#X obj 15 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X text 116 250 outlet: bang if pipe is closed;
#X connect 0 0 12 0;
#X connect 1 0 12 0;
#X connect 6 0 12 0;
#X connect 8 0 1 0;
#X connect 9 0 8 1;
#X connect 12 0 3 0;
#X connect 12 0 8 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;

--- NEW FILE: pdp_cheby.pd ---
#N canvas 117 219 672 516 10;
#X msg 67 108 coef 0 \$1;
#X floatatom 67 84 5 0 0;
#X floatatom 137 84 5 0 0;
#X msg 137 108 coef 1 \$1;
#X floatatom 206 83 5 0 0;
#X msg 206 108 coef 2 \$1;
#X floatatom 275 84 5 0 0;
#X msg 275 108 coef 3 \$1;
#X floatatom 243 359 5 0 0;
#X text 122 394 creation arg: order (nb coefs = order + 1);
#X text 123 410 (default = minimal order = 2);
#X msg 243 309 reset;
#X obj 21 46 pdp_help_input;
#X msg 21 16 start;
#X msg 70 16 stop;
#X obj 21 445 pdp_help_output;
#X text 296 359 right inlet: number of iterations;
#X text 295 308 set all coefs to 0;
#X msg 243 338 1;
#X msg 243 267 chanmask \$1;
#X floatatom 243 244 5 0 0;
#X text 157 63 set individual coefficients;
#N canvas 0 0 450 300 graph1 0;
#X array mapping 64 float 1;
#A 0 -0.908307 -0.86545 -0.794021 -0.76545 -0.694021 -0.622593 -0.451164
-0.0511646 0.234549 0.377406 0.427406 0.477406 0.520263 0.534549 0.548835
0.534549 0.505978 0.477406 0.448835 0.420264 0.348835 0.298835 0.148835
0.0845496 -0.0511645 -0.151164 -0.236879 -0.322593 -0.436878 -0.436878
-0.436878 -0.436878 -0.422593 -0.394021 -0.36545 -0.308307 -0.26545
-0.136879 0.120264 0.291692 0.434549 0.534549 0.591692 0.648835 0.677406
0.677406 0.663121 0.648835 0.648835 0.634549 0.605978 0.605978 0.605978
0.605978 0.605978 0.605978 0.634549 0.648835 0.677406 0.705978 0.76312
0.848835 0.934549 0.977406;
#X coords 0 1 63 -1 200 140 1;
#X restore 427 20 graph;
#X msg 242 217 approx mapping;
#X obj 21 158 pdp_t;
#X text 418 165 -1 ----------- 0 ----------- 1;
#X obj 242 190 spigot;
#X obj 279 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 361 216 approximate a mapping function;
#X obj 21 403 pdp_cheby 10;
#X connect 0 0 29 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 29 0;
#X connect 4 0 5 0;
#X connect 5 0 29 0;
#X connect 6 0 7 0;
#X connect 7 0 29 0;
#X connect 8 0 29 1;
#X connect 11 0 29 0;
#X connect 12 0 24 0;
#X connect 13 0 12 0;
#X connect 14 0 12 0;
#X connect 18 0 8 0;
#X connect 19 0 29 0;
#X connect 20 0 19 0;
#X connect 23 0 29 0;
#X connect 24 0 29 0;
#X connect 24 1 26 0;
#X connect 26 0 23 0;
#X connect 27 0 26 1;
#X connect 29 0 15 0;

--- NEW FILE: pdp_pointcloud.pd ---
#N canvas 462 571 450 371 10;
#X obj 40 94 pdp_help_input;
#X obj 40 36 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 40 174 pdp_help_output;
#X text 111 11 convert an image to a point cloud;
#X text 111 43 creation argument is number of points;
#X text 111 26 (containing the points with highest intesity);
#X floatatom 168 114 5 0 0;
#X text 219 114 <- nb points;
#X obj 40 140 pdp_pointcloud 10;
#X floatatom 265 151 5 0 0;
#X msg 267 174 nbclusters \$1;
#X obj 180 216 pdp_description;
#X obj 180 243 print;
#X obj 35 296 pdp_xv;
#X obj 39 221 pdp_m_mm A A^T;
#X obj 34 273 pdp_scale 64 64;
#X obj 34 252 pdp_convert image/*/*;
#X connect 0 0 8 0;
#X connect 1 0 0 0;
#X connect 6 0 8 1;
#X connect 8 0 2 0;
#X connect 8 1 11 0;
#X connect 8 1 14 1;
#X connect 8 1 14 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 12 0;
#X connect 14 0 16 0;
#X connect 15 0 13 0;
#X connect 16 0 15 0;

--- NEW FILE: pdp_rawin.pd ---
#N canvas 504 520 687 380 10;
#X msg 137 68 open /tmp/otherpipe;
#X msg 437 157 open;
#X text 169 111 set type (how to interpret raw data);
#X obj 75 307 pdp_help_output;
#X text 476 157 open default pipe;
#X text 177 196 creation args: <pipe> <type>;
#X obj 405 218 print done;
#X text 270 244 2nd outlet: bang if pipe is closed;
#X text 271 260 connect to [open< to ensure pipe stays open;
#X text 283 69 open any pipe for reading;
#X msg 152 90 close;
#X text 198 90 close pipe;
#X obj 437 137 spigot;
#X obj 473 116 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X msg 171 129 type bitmap/rgb/320x240;
#X obj 137 174 pdp_rawin /tmp/pipe image/grey/320x240;
#X text 102 19 pdp_rawin: read raw data from a pipe (or file);
#X connect 0 0 15 0;
#X connect 1 0 15 0;
#X connect 10 0 15 0;
#X connect 12 0 1 0;
#X connect 13 0 12 1;
#X connect 14 0 15 0;
#X connect 15 0 3 0;
#X connect 15 1 6 0;
#X connect 15 1 12 0;

--- NEW FILE: pdp_sign.pd ---
#N canvas 479 219 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 340 pdp_help_output;
#X floatatom 128 135 5 0 0;
#X obj 77 296 pdp_gain;
#X msg 145 271 1;
#X msg 128 109 -0.5;
#X obj 77 231 pdp_sign;
#X text 239 231 get the sign (-1 \, 1);
#X obj 77 268 pdp_mul;
#X obj 77 163 pdp_gain;
#X obj 173 207 pdp_abs;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 10 1;
#X connect 2 0 11 0;
#X connect 4 0 11 1;
#X connect 5 0 3 0;
#X connect 6 0 5 1;
#X connect 7 0 4 0;
#X connect 8 0 10 0;
#X connect 10 0 5 0;
#X connect 11 0 8 0;

--- NEW FILE: pdp_plasma.pd ---
#N canvas 655 0 575 333 10;
#X obj 46 262 pdp_help_output;
#X obj 46 149 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 174 71 dim 320 240;
#X text 270 71 set packet dimensions;
#X msg 174 98 type grey;
#X msg 174 121 type yv12;
#X text 270 100 generate greyscale;
#X text 270 119 generate colour (default);
#X msg 174 152 seed 123;
#X text 270 152 set seed value;
#X text 167 21 pdp_noise creates a random image (with uniform distribution
between -1 and 1) when a bang is received;
#X obj 46 198 pdp_plasma;
#X floatatom 174 176 5 0 0 0 - - -;
#X text 270 176 turbulence;
#X obj 46 241 pdp_reg;
#X obj 113 221 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X connect 1 0 11 0;
#X connect 2 0 11 0;
#X connect 4 0 11 0;
#X connect 5 0 11 0;
#X connect 8 0 11 0;
#X connect 11 0 14 0;
#X connect 12 0 11 1;
#X connect 14 0 0 0;
#X connect 15 0 14 0;

--- NEW FILE: pdp_zoom.pd ---
#N canvas 467 414 562 448 10;
#X obj 46 288 pdp_zoom;
#X floatatom 121 264 5 0 0;
#X floatatom 174 130 5 0 0;
#X msg 87 160 zoomx \$1;
#X msg 174 160 zoomy \$1;
#X floatatom 87 129 5 0 0;
#X msg 282 162 centerx \$1;
#X floatatom 282 133 5 0 0;
#X floatatom 366 133 5 0 0;
#X msg 366 162 centery \$1;
#X obj 46 40 pdp_help_input;
#X msg 46 10 start;
#X msg 95 10 stop;
#X obj 46 341 pdp_help_output;
#X text 173 265 right inlet sets zoom amount;
#X text 281 42 set zoom center;
#X text 281 58 (0 \, 0) = top left;
#X text 281 72 (1 \, 1) = bottom right;
#X text 71 79 set individual axis zoom;
#X msg 142 102 1;
#X msg 334 101 0.5;
#X msg 121 234 1;
#X connect 0 0 13 0;
#X connect 1 0 0 1;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 0 0;
#X connect 10 0 0 0;
#X connect 11 0 10 0;
#X connect 12 0 10 0;
#X connect 19 0 2 0;
#X connect 19 0 5 0;
#X connect 20 0 7 0;
#X connect 20 0 8 0;
#X connect 21 0 1 0;

--- NEW FILE: pdp_bitmask.pd ---
#N canvas 504 211 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 287 pdp_help_output;
#X obj 77 243 pdp_gain;
#X msg 128 215 1;
#X text 229 182 apply a bitwise mask (16 bit);
#X floatatom 149 144 8 0 0;
#X obj 152 120 hsl 128 15 0 65535 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X floatatom 175 213 5 0 0;
#X obj 77 178 pdp_bitmask;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 4 0 3 0;
#X connect 5 0 4 1;
#X connect 7 0 10 1;
#X connect 8 0 7 0;
#X connect 9 0 4 1;
#X connect 10 0 4 0;

--- NEW FILE: pdp_hthresh.pd ---
#N canvas 504 211 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 340 pdp_help_output;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0;
#X msg 128 109 0.5;
#X obj 77 296 pdp_gain;
#X msg 128 268 1;
#X floatatom 160 199 5 0 0;
#X text 234 283 (-t > x > t) -> 0;
#X text 234 248 ( x > t) -> x;
#X text 234 266 (-t > x) -> x;
#X text 233 230 hard threshold;
#X obj 77 231 pdp_hthresh;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 14 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X connect 8 0 7 1;
#X connect 9 0 14 1;
#X connect 14 0 7 0;

--- NEW FILE: pdp_scale.pd ---
#N canvas 475 141 635 386 10;
#X msg 76 207 dim 256 256;
#X msg 76 235 dim 320 240;
#X obj 28 275 pdp_scale 320 240;
#X msg 75 181 dim 32 32;
#X msg 259 234 quality \$1;
#X obj 28 65 pdp_help_input;
#X msg 28 36 start;
#X msg 80 35 stop;
#X obj 28 317 pdp_help_output;
#X text 347 225 0 = nearest neighbour;
#X text 347 240 1 = bilinear;
#X text 74 154 set new packet dimensions;
#X text 161 28 pdp_scale rescales the packet format.;
#X text 161 56 use this if you want to combine different packet sizes.
or have movies that don't have a legal size (not a multiple of 8x8)
;
#X msg 259 204 0;
#X msg 294 204 1;
#X text 159 103 (try to avoid rescaling by using movies with equal
(legal) dimensions \, it is not a cheap operation and can easily be
done in advance);
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 8 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 14 0 4 0;
#X connect 15 0 4 0;

--- NEW FILE: pdp_histo.pd ---
#N canvas 594 324 616 432 10;
#X msg 87 208 size \$1;
#X floatatom 87 184 5 0 0;
#N canvas 0 0 450 300 graph2 0;
#X array array1 64 float 0;
#X coords 0 1 63 -1 200 140 1;
#X restore 390 32 graph;
#X obj 127 47 pdp_help_input;
#X obj 127 113 pdp_help_output;
#X obj 127 77 pdp_gain;
#X floatatom 251 50 5 0 0;
#X obj 127 23 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X msg 86 271 array array1;
#X floatatom 155 183 5 0 0;
#X msg 155 207 scale \$1;
#X text 37 355 the size is rounded to the next power of 2;
#X text 36 373 first argument is size \, second is optional scaling
factor.;
#X text 37 338 create a histogram from an image and send to a table
;
#X floatatom 229 183 5 0 0;
#X msg 229 207 samplesize \$1;
#X obj 19 299 pdp_histo array1 64 10;
#X connect 0 0 16 0;
#X connect 1 0 0 0;
#X connect 3 0 5 0;
#X connect 5 0 4 0;
#X connect 5 0 16 0;
#X connect 6 0 5 1;
#X connect 7 0 3 0;
#X connect 8 0 16 0;
#X connect 9 0 10 0;
#X connect 10 0 16 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;

--- NEW FILE: pdp_scanxy~.pd ---
#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;

--- NEW FILE: pdp_scan~.pd ---
#N canvas 387 370 666 499 10;
#X obj 73 140 pdp_scan~;
#X obj 73 113 phasor~;
#X floatatom 73 86 5 0 0;
#X obj 73 353 dac~;
#X obj 13 48 pdp_help_input;
#X msg 13 19 start;
#X obj 13 397 pdp_help_output;
#X obj 73 311 *~;
#X floatatom 89 282 5 0 0;
#X obj 73 251 hip~ 20;
#X floatatom 117 224 5 0 0;
#X floatatom 131 171 5 0 0;
#X obj 73 198 lop~ 1000;
#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
;
#X text 216 124 set interpolation between consecutive packets on/off
;
#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 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;
#X connect 2 0 1 0;
#X connect 4 0 0 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 7 0 3 0;
#X connect 7 0 3 1;
#X connect 8 0 7 1;
#X connect 9 0 7 0;
#X connect 10 0 9 1;
#X connect 11 0 12 1;
#X connect 12 0 9 0;
#X connect 13 0 0 0;
#X connect 14 0 13 0;

--- NEW FILE: pdp_grey2mask.pd ---
#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;

--- NEW FILE: pdp_route.pd ---
#N canvas 614 448 575 277 10;
#X obj 46 40 pdp_help_input;
#X msg 46 10 start;
#X msg 95 10 stop;
#X obj 46 225 pdp_help_output;
#X obj 46 172 pdp_gain 1;
#X obj 130 172 pdp_gain 2;
#X obj 118 69 hdl 15 1 0 2 empty empty empty 0 -6 0 8 -262144 -1 -1
0;
#X text 155 88 routes a packet to a specified outlet \, determined
by the right inlet;
#X text 155 124 creation argument = number of outlets (default = 2)
;
#X obj 46 90 pdp_route 2;
#X connect 0 0 9 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 6 0 9 1;
#X connect 9 0 4 0;
#X connect 9 1 5 0;

--- NEW FILE: pdp_not.pd ---
#N canvas 504 211 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 340 pdp_help_output;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0;
#X msg 128 109 0.5;
#X obj 77 231 pdp_not;
#X text 229 235 bitwise not;
#X obj 77 296 pdp_gain;
#X msg 128 268 1;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 9 0;
#X connect 9 0 3 0;
#X connect 10 0 9 1;

--- NEW FILE: pdp_and.pd ---
#N canvas 552 356 511 383 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 322 pdp_help_output;
#X obj 121 246 pdp_reg;
#X obj 196 183 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 229 181 click here;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0;
#X msg 128 109 0.5;
#X obj 77 279 pdp_and;
#X text 229 283 bitwise and;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 4 0 10 1;
#X connect 5 0 4 0;
#X connect 7 0 10 0;
#X connect 7 0 4 1;
#X connect 8 0 7 1;
#X connect 9 0 8 0;
#X connect 10 0 3 0;

--- NEW FILE: pdp_gain.pd ---
#N canvas 444 413 538 379 10;
#X msg 91 25 start;
#X msg 139 25 stop;
#X obj 91 56 pdp_help_input;
#X obj 91 312 pdp_help_output;
#X obj 91 236 pdp_gain;
#X floatatom 142 207 5 0 0;
#X text 201 205 right inlet sets overal gain;
#X text 201 252 creation argument sets initial gain;
#X text 200 270 (default = 1);
#X text 202 236 pdp_gain clips when overdriven;
#X msg 109 124 chanmask \$1;
#X floatatom 109 100 5 0 0;
#X text 203 124 set which channels are processed;
#X text 203 140 using a binary mask. LSB = chan 0;
#X text 203 157 default (any negative number) = all;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 3 0;
#X connect 5 0 4 1;
#X connect 10 0 4 0;
#X connect 11 0 10 0;

--- NEW FILE: pdp_scope~.pd ---
#N canvas 526 43 567 300 10;
#X obj 37 200 pdp_scope~;
#X obj 37 44 metro 40;
#X obj 37 19 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 94 18 5 0 0;
#X msg 131 131 type grey;
#X msg 131 109 type yv12;
#X obj 37 256 pdp_help_output;
#X msg 131 157 dim 320 240;
#X obj 59 121 osc~;
#X floatatom 59 88 5 0 0;
#X text 131 66 a very simple oscilloscope;
#X text 227 132 set output image type and dimensions;
#X connect 0 0 6 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 1 1;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 8 0;

--- NEW FILE: README ---
This directory contains help patches for the individual pdp modules and abstractions.
Use the pdp_help_input.pd and pdp_help_output.pd patches to setup your desired in/out for
the help patches.


--- NEW FILE: pdp_conv.pd ---
#N canvas 450 114 702 535 10;
#X obj 39 353 pdp_conv;
#X floatatom 90 326 5 0 0;
#X msg 87 195 hor \$1;
#X msg 86 137 ver \$1;
#X obj 87 170 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
;
#X obj 86 112 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
;
#X msg 89 264 vmask 0.25 0.5 0.25;
#X msg 89 291 hmask 0.25 0.5 0.25;
#X msg 88 239 vmask 0.25 -0.5 0.25;
#X obj 39 63 pdp_help_input;
#X msg 39 24 start;
#X msg 86 24 stop;
#X obj 39 480 pdp_help_output;
#X obj 39 436 pdp_gain;
#X floatatom 90 409 5 0 0;
#X msg 90 386 1;
#X text 162 327 right inlet sets number of iterations;
#X text 263 239 these messages set the horizontal and vertical convolution
masks. note that there is no support for 2 dimensional masks. if you
want that you'll need to factor things out. (see the pdp_conv_* abstractions
for examples);
#X text 264 157 enable/disable horizontal and vertical masks;
#X text 162 428 note: mask coefficents are between -1 and 1;
#X text 162 441 use a gain object to compensate for this;
#X msg 128 385 9;
#X connect 0 0 13 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 2 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 0 0;
#X connect 10 0 9 0;
#X connect 11 0 9 0;
#X connect 13 0 12 0;
#X connect 14 0 13 1;
#X connect 15 0 14 0;
#X connect 21 0 14 0;

--- NEW FILE: pdp_flip_lr.pd ---
#N canvas 504 211 449 178 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 136 pdp_help_output;
#X obj 77 101 pdp_flip_lr;
#X text 222 101 flip left <-> right;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 3 0;

--- NEW FILE: pdp_xor.pd ---
#N canvas 552 356 511 383 10;
#X msg 100 45 start;
#X msg 147 45 stop;
#X obj 100 77 pdp_help_input;
#X obj 100 329 pdp_help_output;
#X obj 144 252 pdp_reg;
#X obj 213 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 246 202 click here;
#X obj 100 170 pdp_gain;
#X floatatom 151 142 5 0 0;
#X msg 151 116 0.5;
#X obj 100 286 pdp_xor;
#X text 252 290 bitwise xor;
#X msg 11 205 chanmask \$1;
#X floatatom 11 180 5 0 0;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 4 0 10 1;
#X connect 5 0 4 0;
#X connect 7 0 4 1;
#X connect 7 0 10 0;
#X connect 8 0 7 1;
#X connect 9 0 8 0;
#X connect 10 0 3 0;
#X connect 12 0 10 0;
#X connect 13 0 12 0;

--- NEW FILE: pdp_chrot.pd ---
#N canvas 355 66 554 208 10;
#X obj 74 64 pdp_help_input;
#X msg 74 31 start;
#X msg 124 31 stop;
#X obj 74 121 pdp_chrot;
#X obj 74 157 pdp_help_output;
#X floatatom 151 99 5 0 0;
#X text 204 100 rotate the chroma components by this angle;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 5 0 3 1;

--- NEW FILE: pdp_zthresh.pd ---
#N canvas 504 211 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 340 pdp_help_output;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0;
#X msg 128 109 0.5;
#X obj 77 296 pdp_gain;
#X msg 128 268 1;
#X text 233 230 zero threshold ( < 0 -> 0 );
#X obj 77 231 pdp_zthresh;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X connect 8 0 7 1;
#X connect 10 0 7 0;

--- NEW FILE: pdp_reg.pd ---
#N canvas 327 276 676 444 10;
#X obj 41 318 pdp_reg;
#X obj 41 287 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
-1;
#X msg 85 15 start;
#X msg 135 15 stop;
#X obj 85 53 pdp_help_input;
#X obj 41 359 pdp_help_output;
#X text 121 90 pdp_reg works in the same way as the pd float or int
objects;
#X text 271 124 bang: sends stored packet to output;
#X text 271 109 pdp: stores packet and sends to output;
#X text 271 145 pdp: stores a new packet;
#X text 121 111 left intlet (hot):;
#X text 120 145 right intlet (cold):;
#X msg 122 236 load_png \$1;
#X obj 122 212 openpanel;
#X obj 122 190 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 219 189 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 219 235 save_png \$1;
#X text 331 226 as a png image file.;
#X text 332 211 you can save the contents of the register;
#X obj 219 211 savepanel;
#X msg 219 266 save_png /tmp/snap.png;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
#X connect 4 0 0 1;
#X connect 12 0 0 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X connect 15 0 19 0;
#X connect 16 0 0 0;
#X connect 19 0 16 0;
#X connect 20 0 0 0;

--- NEW FILE: pdp_noise.pd ---
#N canvas 614 448 575 277 10;
#X obj 46 231 pdp_help_output;
#X obj 46 198 pdp_noise;
#X obj 46 149 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 174 71 dim 320 240;
#X text 270 71 set packet dimensions;
#X msg 174 98 type grey;
#X msg 174 121 type yv12;
#X text 270 100 generate greyscale;
#X text 270 119 generate colour (default);
#X msg 174 152 seed 123;
#X text 270 152 set seed value;
#X text 167 21 pdp_noise creates a random image (with uniform distribution
between -1 and 1) when a bang is received;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 9 0 1 0;

--- NEW FILE: pdp_bqt.pd ---
#N canvas 384 88 785 659 10;
#X floatatom 88 211 5 0 0;
#X msg 27 211 onep \$1;
#X floatatom 88 242 5 0 0;
#X msg 27 246 twop \$1;
#X obj 454 406 t b f;
#X floatatom 489 369 5 0 0;
#X floatatom 488 317 5 0 0;
#X obj 454 436 pack s 0 0;
#X msg 454 469 \$1 \$2 \$3;
#X obj 489 405 t b f;
#X msg 410 370 lpf;
#X msg 409 344 hpf;
#X msg 409 398 apf;
#X msg 409 425 bsf;
#X obj 461 38 pdp_help_input;
#X msg 461 13 start;
#X msg 507 13 stop;
#X obj 27 616 pdp_help_output;
#X obj 461 93 pdp_route 3;
#X obj 533 65 hdl 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 -1
0;
#X obj 40 540 r \$0-out;
#X obj 558 231 s \$0-out;
#X floatatom 490 157 5 0 0;
#X floatatom 601 156 5 0 0;
#X text 312 358 high pass;
#X text 313 382 low pass;
#X text 314 410 all pass;
#X text 313 439 band stop;
#X text 541 367 pole Q;
#X text 99 31 it is a bit awkward to use directly;
#X text 146 210 one pole filter;
#X text 145 240 double one pole filter;
#X msg 88 180 0.1;
#X msg 502 133 0.5;
#X msg 600 133 0.5;
#X text 588 62 choose example here;
#X text 93 91 "unstable" behaviour is possible;
#X msg 490 347 0.1;
#X msg 488 293 0.3;
#X obj 27 590 pdp_gain;
#X floatatom 118 564 5 0 0;
#X msg 118 542 1;
#X text 95 107 when frequency and Q are outside their;
#X text 96 122 sensible ranges;
#X text 264 342 set the filter type:;
#X text 136 192 set the filter type:;
#X text 538 319 (between 0 and 1 \, 0.5 = nyquist);
#X text 540 333 comment;
#X text 540 305 pole frequency;
#X text 37 16 pdp_bqt: a temporal biquad filter;
#X text 99 45 try one of the abstractions (pdp_motion_blur and;
#X text 100 61 pdp_motion_phase);
#X obj 434 190 pdp_motion_blur;
#X obj 558 190 pdp_motion_phase;
#X obj 27 499 pdp_bqt;
#X msg 48 312 reset;
#X text 95 313 reset state;
#X connect 0 0 1 0;
#X connect 1 0 54 0;
#X connect 2 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 54 0;
#X connect 4 0 7 0;
#X connect 4 1 7 1;
#X connect 5 0 9 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 54 0;
#X connect 9 0 7 0;
#X connect 9 1 7 2;
#X connect 10 0 7 0;
#X connect 11 0 7 0;
#X connect 12 0 7 0;
#X connect 13 0 7 0;
#X connect 14 0 18 0;
#X connect 15 0 14 0;
#X connect 16 0 14 0;
#X connect 18 0 54 0;
#X connect 18 1 52 0;
#X connect 18 2 53 0;
#X connect 19 0 18 1;
#X connect 20 0 39 0;
#X connect 22 0 52 1;
#X connect 23 0 53 1;
#X connect 32 0 0 0;
#X connect 33 0 22 0;
#X connect 34 0 23 0;
#X connect 37 0 5 0;
#X connect 38 0 6 0;
#X connect 39 0 17 0;
#X connect 40 0 39 1;
#X connect 41 0 40 0;
#X connect 52 0 21 0;
#X connect 53 0 21 0;
#X connect 54 0 39 0;
#X connect 55 0 54 0;

--- NEW FILE: pdp_mul.pd ---
#N canvas 224 229 462 390 10;
#X msg 130 53 start;
#X msg 177 53 stop;
#X obj 130 85 pdp_help_input;
#X obj 130 345 pdp_help_output;
#X obj 174 179 pdp_reg;
#X obj 248 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 281 140 click here;
#X obj 130 310 pdp_gain;
#X floatatom 181 282 5 0 0;
#X text 282 216 multiplies 2 packets;
#X obj 130 212 pdp_mul;
#X msg 181 256 2;
#X floatatom 40 150 5 0 0;
#X msg 40 177 chanmask \$1;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 2 0 4 1;
#X connect 4 0 10 1;
#X connect 5 0 4 0;
#X connect 7 0 3 0;
#X connect 8 0 7 1;
#X connect 10 0 7 0;
#X connect 11 0 8 0;
#X connect 12 0 13 0;
#X connect 13 0 10 0;

--- NEW FILE: pdp_sthresh.pd ---
#N canvas 504 211 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 340 pdp_help_output;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0;
#X msg 128 109 0.5;
#X obj 77 296 pdp_gain;
#X msg 128 268 1;
#X obj 77 231 pdp_sthresh;
#X floatatom 160 199 5 0 0;
#X text 233 230 soft threshold;
#X text 234 283 (-t > x > t) -> 0;
#X text 234 266 (-t > x) -> (x + t);
#X text 234 248 ( x > t) -> (x - t);
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 9 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X connect 8 0 7 1;
#X connect 9 0 7 0;
#X connect 10 0 9 1;

--- NEW FILE: pdp_constant.pd ---
#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;

--- NEW FILE: pdp_xv.pd ---
#N canvas 251 11 708 682 10;
#X msg 132 223 dim 320 240;
#X msg 132 246 dim 640 480;
#X text 300 227 dim sets the window dimensions;
#X msg 131 151 create;
#X msg 131 172 destroy;
#X text 129 88 pdp_xv ouputs video in a window using the xVideo extension.
if your graphics card/driver supports it you can have multiple output
windows. if a pdp message is received and a window is not open \, one
is created automaticly.;
#X text 229 159 use these messages to explicitly create/destroy the
window;
#X msg 133 463 cursor \$1;
#X obj 133 443 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 298 464 enables/disables cursor in xv window;
#X obj 29 61 pdp_help_input;
#X msg 29 25 start;
#X msg 78 24 stop;
#X text 295 200 specify the x window display;
#X msg 131 197 display :0;
#X obj 29 587 print;
#X text 133 584 the output channel sends mouse event messages (press/release/drag
and individual p/r/d for each button);
#X obj 29 551 pdp_xv;
#X msg 132 273 pos 100 100;
#X text 300 273 set window position;
#X msg 132 336 fullscreen;
#X text 298 340 resize to entire screen;
#X text 299 305 set both at once;
#X msg 132 303 posdim 100 300 320 240;
#X msg 131 417 tile 5 5 \$1 \$2;
#X text 297 418 take a part of the screen (for tiling multiple pdp_xv's)
;
#X obj 131 396 pack 0 0;
#X obj 190 396 t b f;
#X floatatom 131 377 5 0 0 0 - - -;
#X floatatom 190 376 5 0 0 0 - - -;
#X msg 134 489 movecursor 0.5 0.5;
#X text 299 486 move the cursor inside the window;
#X connect 0 0 17 0;
#X connect 1 0 17 0;
#X connect 3 0 17 0;
#X connect 4 0 17 0;
#X connect 7 0 17 0;
#X connect 8 0 7 0;
#X connect 10 0 17 0;
#X connect 11 0 10 0;
#X connect 12 0 10 0;
#X connect 14 0 17 0;
#X connect 17 0 15 0;
#X connect 18 0 17 0;
#X connect 20 0 17 0;
#X connect 23 0 17 0;
#X connect 24 0 17 0;
#X connect 26 0 24 0;
#X connect 27 0 26 0;
#X connect 27 1 26 1;
#X connect 28 0 26 0;
#X connect 29 0 27 0;
#X connect 30 0 17 0;

--- NEW FILE: pdp_netsend.pd ---
#N canvas 236 47 523 395 10;
#X obj 174 74 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 155 43 metro 40;
#X obj 155 18 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 167 171 pdp_convert bitmap/yv12/*;
#X floatatom 238 20 5 0 0 0 - - -;
#X msg 263 132 sleepgrain \$1;
#X floatatom 263 112 5 0 0 0 - - -;
#X floatatom 308 74 5 0 0 0 - - -;
#X msg 308 94 udpsize \$1;
#X obj 295 44 hsl 128 15 1024 60000 1 0 empty empty empty -2 -6 0 8
-262144 -1 -1 4000 1;
#X msg 339 161 sleep \$1;
#X obj 379 136 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X floatatom 327 200 5 0 0 0 - - -;
#X msg 327 220 sleepperiod \$1;
#X msg 16 13 connect acer 7777;
#X obj 124 212 pdp_netsend;
#X msg 324 15 1472;
#X msg 211 81 dim 160 120;
#X msg 212 62 dim 320 240;
#X msg 18 44 connect localhost 7777;
#X obj 65 247 pdp_netreceive 7777;
#X obj 78 275 pdp_xv;
#X obj 123 136 pdp_route;
#X obj 203 130 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X floatatom 281 248 5 0 0 0 - - -;
#X msg 281 268 timeout \$1;
#X obj 154 103 pdp_v4l;
#X obj 132 275 pdp_xv;
#X text 97 334 this is still experimental (SIGSEGVs ahead);
#X connect 0 0 26 0;
#X connect 1 0 26 0;
#X connect 2 0 1 0;
#X connect 3 0 15 0;
#X connect 4 0 1 1;
#X connect 5 0 15 0;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 15 0;
#X connect 9 0 7 0;
#X connect 10 0 15 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 15 0;
#X connect 16 0 8 0;
#X connect 17 0 26 0;
#X connect 18 0 26 0;
#X connect 19 0 15 0;
#X connect 20 0 21 0;
#X connect 22 0 15 0;
#X connect 22 1 3 0;
#X connect 23 0 22 1;
#X connect 24 0 25 0;
#X connect 25 0 15 0;
#X connect 26 0 22 0;
#X connect 26 0 27 0;

--- NEW FILE: pdp_bitdepth.pd ---
#N canvas 504 211 500 438 10;
#X msg 140 61 start;
#X msg 187 61 stop;
#X obj 140 93 pdp_help_input;
#X obj 140 352 pdp_help_output;
#X obj 140 308 pdp_gain;
#X msg 191 280 1;
#X floatatom 219 209 8 0 0;
#X obj 222 185 hsl 128 15 0 8 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 2500 1;
#X floatatom 238 278 5 0 0;
#X obj 140 243 pdp_bitdepth;
#X text 292 247 set bit depth (0->16);
#X obj 140 158 pdp_gain;
#X msg 191 130 1;
#X floatatom 227 130 5 0 0;
#X msg 32 192 chanmask \$1;
#X floatatom 32 164 5 0 0;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 11 0;
#X connect 4 0 3 0;
#X connect 5 0 4 1;
#X connect 6 0 9 1;
#X connect 7 0 6 0;
#X connect 8 0 4 1;
#X connect 9 0 4 0;
#X connect 11 0 9 0;
#X connect 12 0 11 1;
#X connect 13 0 11 1;
#X connect 14 0 9 0;
#X connect 15 0 14 0;

--- NEW FILE: pdp_randmix.pd ---
#N canvas 314 353 584 288 10;
#X obj 81 184 pdp_randmix;
#X obj 117 132 pdp_reg;
#X obj 200 87 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 200 155 5 0 0;
#X obj 81 48 pdp_help_input;
#X msg 81 18 start;
#X msg 130 18 stop;
#X obj 81 238 pdp_help_output;
#X text 268 80 click here;
#X text 268 159 random crossfade between 2 packets;
#X text 268 175 0 = left \, 1 = right;
#X obj 203 125 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 6100 1;
#X connect 0 0 7 0;
#X connect 1 0 0 1;
#X connect 2 0 1 0;
#X connect 3 0 0 2;
#X connect 4 0 0 0;
#X connect 4 0 1 1;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 11 0 3 0;

--- NEW FILE: pdp_zrot.pd ---
#N canvas 467 414 562 448 10;
#X floatatom 257 275 5 0 0;
#X floatatom 174 130 5 0 0;
#X msg 87 160 zoomx \$1;
#X msg 174 160 zoomy \$1;
#X floatatom 87 129 5 0 0;
#X msg 282 162 centerx \$1;
#X floatatom 282 133 5 0 0;
#X floatatom 366 133 5 0 0;
#X msg 366 162 centery \$1;
#X obj 46 40 pdp_help_input;
#X msg 46 10 start;
#X msg 95 10 stop;
#X obj 46 401 pdp_help_output;
#X text 281 58 (0 \, 0) = top left;
#X text 281 72 (1 \, 1) = bottom right;
#X text 71 79 set individual axis zoom;
#X msg 142 102 1;
#X msg 334 101 0.5;
#X msg 257 245 1;
#X obj 46 363 pdp_zrot;
#X text 309 276 second inlet sets zoom amount;
#X floatatom 257 333 5 0 0;
#X msg 257 303 0;
#X text 309 334 third inlet sets rotation angle;
#X text 281 42 set zoom/rotation center;
#X text 192 6 pdp_zrot: zoom and rotation;
#X connect 0 0 19 1;
#X connect 1 0 3 0;
#X connect 2 0 19 0;
#X connect 3 0 19 0;
#X connect 4 0 2 0;
#X connect 5 0 19 0;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 19 0;
#X connect 9 0 19 0;
#X connect 10 0 9 0;
#X connect 11 0 9 0;
#X connect 16 0 1 0;
#X connect 16 0 4 0;
#X connect 17 0 6 0;
#X connect 17 0 7 0;
#X connect 18 0 0 0;
#X connect 19 0 12 0;
#X connect 21 0 19 2;
#X connect 22 0 21 0;

--- NEW FILE: pdp_mix2.pd ---
#N canvas 314 353 576 288 10;
#X obj 98 132 pdp_reg;
#X obj 201 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 205 138 5 0 0;
#X obj 81 48 pdp_help_input;
#X msg 81 18 start;
#X msg 130 18 stop;
#X obj 81 238 pdp_help_output;
#X text 268 80 click here;
#X obj 81 201 pdp_mix2;
#X floatatom 205 161 5 0 0;
#X text 158 199 pdp_mix2 adds two packets after applying attenuation
;
#X text 268 136 left packet attenuation;
#X text 268 159 right packet attenuation;
#X connect 0 0 8 1;
#X connect 1 0 0 0;
#X connect 2 0 8 2;
#X connect 3 0 0 1;
#X connect 3 0 8 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 8 0 6 0;
#X connect 9 0 8 3;

--- NEW FILE: pdp_qt~.pd ---
#N canvas 400 126 692 254 10;
#X obj 62 122 pdp_qt~;
#X obj 90 164 dac~;
#X msg 39 51 play;
#X obj 133 42 openpanel;
#X msg 133 67 open \$1;
#X msg 133 14 bang;
#X text 257 67 pdp_qt~ is the same as pdp_qt exept that it also outputs
the audio data corresponding to the current frame on its 2 rightmost
outlets. if there is a lag between audio and video a pdp_del object
can be inserted to delay the image. note that in order to get acceptable
audio quality with relatively few dropouts you might need to increase
the pd audio latency.;
#X msg 15 24 loop 1;
#X floatatom 84 52 5 0 0;
#X obj 62 214 pdp_help_output;
#X connect 0 0 9 0;
#X connect 0 3 1 0;
#X connect 0 4 1 1;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 3 0;
#X connect 7 0 0 0;
#X connect 8 0 0 1;

--- NEW FILE: pdp_abs.pd ---
#N canvas 504 211 500 438 10;
#X msg 77 38 start;
#X msg 124 38 stop;
#X obj 77 70 pdp_help_input;
#X obj 77 340 pdp_help_output;
#X obj 77 163 pdp_gain;
#X floatatom 128 135 5 0 0;
#X msg 128 109 0.5;
#X obj 77 296 pdp_gain;
#X msg 128 268 1;
#X text 229 235 absolute value;
#X obj 77 231 pdp_abs;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X connect 8 0 7 1;
#X connect 10 0 7 0;

--- NEW FILE: pdp_bq.pd ---
#N canvas 364 134 765 779 10;
#X floatatom 100 598 5 0 0;
#X msg 28 361 ver \$1;
#X msg 28 393 hor \$1;
#X obj 96 362 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 95 389 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 28 629 pdp_bq;
#X floatatom 89 495 5 0 0;
#X msg 28 495 onep \$1;
#X floatatom 89 526 5 0 0;
#X msg 28 530 twop \$1;
#X obj 85 272 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 87 304 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 79 209 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 82 244 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 28 209 lr \$1;
#X msg 28 244 rl \$1;
#X msg 28 277 tb \$1;
#X msg 28 305 bt \$1;
#X obj 454 406 t b f;
#X floatatom 489 369 5 0 0;
#X floatatom 488 317 5 0 0;
#X obj 454 436 pack s 0 0;
#X msg 454 469 \$1 \$2 \$3;
#X obj 489 405 t b f;
#X msg 410 370 lpf;
#X msg 409 344 hpf;
#X msg 409 398 apf;
#X msg 409 425 bsf;
#X obj 461 38 pdp_help_input;
#X msg 461 13 start;
#X msg 507 13 stop;
#X obj 28 746 pdp_help_output;
#X text 159 598 right inlet sets number of passes;
#X text 37 16 pdp_bq: a spatial biquad filter;
#X obj 495 196 pdp_blur;
#X obj 598 194 pdp_phase;
#X obj 461 93 pdp_route 3;
#X obj 533 65 hdl 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1 -1
0;
#X obj 41 670 r \$0-out;
#X obj 495 246 s \$0-out;
#X floatatom 544 119 5 0 0;
#X floatatom 617 117 5 0 0;
#X text 312 358 high pass;
#X text 313 382 low pass;
#X text 314 410 all pass;
#X text 313 439 band stop;
#X text 541 367 pole Q;
#X text 94 31 it is a bit awkward to use directly;
#X text 94 45 try one of the abstractions (pdp_blur and;
#X text 95 61 pdp_phase);
#X text 122 208 left->right;
#X text 124 242 right->left;
#X text 126 272 top->bottom;
#X text 126 300 bottom->top;
#X text 133 359 bt and tb;
#X text 132 383 lr and rl;
#X text 147 494 one pole filter;
#X text 146 524 double one pole filter;
#X msg 89 464 0.1;
#X msg 556 95 0.5;
#X msg 616 94 0.5;
#X text 588 62 choose example here;
#X msg 672 118 1;
#X msg 673 140 0;
#X msg 673 163 -1;
#X msg 712 116 1;
#X msg 713 138 0;
#X msg 713 161 -1;
#X text 93 91 "unstable" behaviour is possible;
#X msg 490 347 0.1;
#X msg 488 293 0.3;
#X obj 28 720 pdp_gain;
#X floatatom 112 693 5 0 0;
#X msg 112 671 1;
#X text 95 107 when frequency and Q are outside their;
#X text 96 122 sensible ranges;
#X text 122 180 set filter direction:;
#X text 264 342 set the filter type:;
#X text 137 476 set the filter type:;
#X text 538 319 (between 0 and 1 \, 0.5 = nyquist);
#X text 540 333 comment;
#X text 540 305 pole frequency;
#X msg 100 572 1;
#X msg 457 611 chanmask \$1;
#X floatatom 457 585 5 0 0;
#X text 456 633 binary channel mask;
#X connect 0 0 5 1;
#X connect 1 0 5 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 4 0 2 0;
#X connect 5 0 71 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 8 0 9 0;
#X connect 9 0 5 0;
#X connect 10 0 16 0;
#X connect 11 0 17 0;
#X connect 12 0 14 0;
#X connect 13 0 15 0;
#X connect 14 0 5 0;
#X connect 15 0 5 0;
#X connect 16 0 5 0;
#X connect 17 0 5 0;
#X connect 18 0 21 0;
#X connect 18 1 21 1;
#X connect 19 0 23 0;
#X connect 20 0 18 0;
#X connect 21 0 22 0;
#X connect 22 0 5 0;
#X connect 23 0 21 0;
#X connect 23 1 21 2;
#X connect 24 0 21 0;
#X connect 25 0 21 0;
#X connect 26 0 21 0;
#X connect 27 0 21 0;
#X connect 28 0 36 0;
#X connect 29 0 28 0;
#X connect 30 0 28 0;
#X connect 34 0 39 0;
#X connect 35 0 39 0;
#X connect 36 0 5 0;
#X connect 36 1 34 0;
#X connect 36 2 35 0;
#X connect 37 0 36 1;
#X connect 38 0 71 0;
#X connect 40 0 34 1;
#X connect 41 0 35 1;
#X connect 58 0 6 0;
#X connect 59 0 40 0;
#X connect 60 0 41 0;
#X connect 62 0 35 2;
#X connect 63 0 35 2;
#X connect 64 0 35 2;
#X connect 65 0 35 3;
#X connect 66 0 35 3;
#X connect 67 0 35 3;
#X connect 69 0 19 0;
#X connect 70 0 20 0;
#X connect 71 0 31 0;
#X connect 72 0 71 1;
#X connect 73 0 72 0;
#X connect 82 0 0 0;
#X connect 83 0 5 0;
#X connect 84 0 83 0;

--- NEW FILE: pdp_del.pd ---
#N canvas 414 20 609 368 10;
#X floatatom 107 116 5 0 0 0 - - -;
#X floatatom 64 207 5 0 0 0 - - -;
#X obj 20 60 pdp_help_input;
#X msg 20 31 start;
#X msg 72 30 stop;
#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 180 (dont make this too large \, packets are not compressed!)
;
#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 obj 176 259 pdp_description;
#X obj 176 285 print;
#X msg 339 259 _debug;
#X connect 0 0 11 1;
#X connect 1 0 5 2;
#X connect 2 0 5 0;
#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 7 0 1 0;
#X connect 11 0 5 1;
#X connect 11 0 14 0;
#X connect 16 0 11 0;

--- NEW FILE: pdp_qt.pd ---
#N canvas 400 126 740 623 10;
#X obj 59 391 pdp_qt;
#X floatatom 77 429 5 0 0;
#X floatatom 127 430 5 0 0;
#X obj 56 41 metro 40;
#X msg 56 13 bang;
#X msg 97 13 stop;
#X msg 15 13 bang;
#X obj 140 41 openpanel;
#X msg 140 66 open \$1;
#X msg 140 13 bang;
#X msg 140 92 close;
#X text 249 66 open/close for file access;
#X floatatom 140 120 5 0 0;
#X floatatom 140 146 5 0 0;
#X text 248 117 float on left inlet selects a frame for output;
#X msg 140 197 loop \$1;
#X obj 203 182 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 250 198 automatic looping can be enabled/disabled;
#X text 251 9 pdp_qt plays a quicktime movie.;
#X text 250 221 this enables automatic playback at the frame rate specified
in the movie file. in pdp_qt~ playback is synchronized to the audio
stream.;
#X msg 142 341 dump array 0;
#X text 252 330 if the movie contains audio \, this command dumps the
audio data into an array specified by the first argument. the second
argument is the audio channel (default = 0 = left);
#X msg 142 291 stop;
#X text 251 289 stops automatic playback (same as autoplay 0);
#X msg 141 222 autoplay 1;
#X msg 142 267 play;
#X text 252 432 the second outlet outputs the current frame number.
the third outlet outputs the total number of frames in a movie when
it is opened.;
#X msg 142 315 cont;
#X text 251 269 starts automatic playback (same as 0 \, autplay 1 \,
bang);
#X text 251 310 resumes automatic playback (same as autplay 1 \, bang)
;
#X text 249 137 float on right inlet selects the frame to be read on
the next sync event (bang message / internal sync).;
#X obj 59 462 pdp_help_output;
#X obj 335 535 table array;
#X obj 448 535 tabplay~ array;
#X obj 448 576 dac~;
#X obj 448 506 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X connect 0 0 31 0;
#X connect 0 1 1 0;
#X connect 0 2 2 0;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 9 0 7 0;
#X connect 10 0 0 0;
#X connect 12 0 0 0;
#X connect 13 0 0 1;
#X connect 15 0 0 0;
#X connect 16 0 15 0;
#X connect 20 0 0 0;
#X connect 22 0 0 0;
#X connect 24 0 0 0;
#X connect 25 0 0 0;
#X connect 27 0 0 0;
#X connect 33 0 34 0;
#X connect 33 0 34 1;
#X connect 35 0 33 0;





More information about the Pd-cvs mailing list