[PD-cvs] externals/pdp/abstractions pdp_affine.pd, 1.2, 1.3 pdp_agc.pd, 1.2, 1.3 pdp_blur.pd, 1.2, 1.3 pdp_blur_hor.pd, 1.2, 1.3 pdp_blur_ver.pd, 1.2, 1.3 pdp_cheby3o.pd, 1.2, 1.3 pdp_contrast.pd, 1.2, 1.3 pdp_conv_alledge.pd, 1.2, 1.3 pdp_conv_emboss.pd, 1.2, 1.3 pdp_conv_smooth.pd, 1.2, 1.3 pdp_conv_sobel_edge.pd, 1.3, 1.4 pdp_conv_sobel_hor.pd, 1.2, 1.3 pdp_conv_sobel_ver.pd, 1.2, 1.3 pdp_diff.pd, 1.2, 1.3 pdp_dither.pd, 1.2, 1.3 pdp_gain3.pd, 1.2, 1.3 pdp_gradient.pd, 1.2, 1.3 pdp_grey.pd, 1.2, 1.3 pdp_invert.pd, 1.2, 1.3 pdp_m_inverse.pd, 1.2, 1.3 pdp_motion_blur.pd, 1.2, 1.3 pdp_motion_fade.pd, 1.2, 1.3 pdp_motion_phase.pd, 1.2, 1.3 pdp_offset.pd, 1.2, 1.3 pdp_phase.pd, 1.3, 1.4 pdp_phase_hor.pd, 1.2, 1.3 pdp_phase_ver.pd, 1.2, 1.3 pdp_png_to.pd, 1.2, 1.3 pdp_pps.pd, 1.2, 1.3 pdp_qt_control.pd, 1.2, 1.3 pdp_qtloop2~.pd, 1.2, 1.3 pdp_qtloop~.pd, 1.2, 1.3 pdp_saturation.pd, 1.3, 1.4 pdp_save_png_sequence.pd, 1.2, 1.3 pdp_sub.pd, 1.2, 1.3 pdp_tag.pd, 1.2, 1.3 pdp_xv_keycursor.pd, 1.2, 1.3 rgb2ycrcb.pd, 1.2, 1.3

Hans-Christoph Steiner eighthave at users.sourceforge.net
Fri Dec 16 01:52:43 CET 2005


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

Added Files:
	pdp_affine.pd pdp_agc.pd pdp_blur.pd pdp_blur_hor.pd 
	pdp_blur_ver.pd pdp_cheby3o.pd pdp_contrast.pd 
	pdp_conv_alledge.pd pdp_conv_emboss.pd pdp_conv_smooth.pd 
	pdp_conv_sobel_edge.pd pdp_conv_sobel_hor.pd 
	pdp_conv_sobel_ver.pd pdp_diff.pd pdp_dither.pd pdp_gain3.pd 
	pdp_gradient.pd pdp_grey.pd pdp_invert.pd pdp_m_inverse.pd 
	pdp_motion_blur.pd pdp_motion_fade.pd pdp_motion_phase.pd 
	pdp_offset.pd pdp_phase.pd pdp_phase_hor.pd pdp_phase_ver.pd 
	pdp_png_to.pd pdp_pps.pd pdp_qt_control.pd pdp_qtloop2~.pd 
	pdp_qtloop~.pd pdp_saturation.pd pdp_save_png_sequence.pd 
	pdp_sub.pd pdp_tag.pd pdp_xv_keycursor.pd rgb2ycrcb.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_phase_hor.pd ---
#N canvas 304 524 534 291 10;
#X obj 25 21 inlet;
#X obj 25 249 outlet;
#X obj 25 209 pdp_bq;
#X obj 42 144 pdp_ut_addscaleclip -1 -0.5 0.05 0.48;
#X obj 42 44 inlet;
#X msg 89 44 0;
#X obj 89 18 loadbang;
#X msg 42 176 apf \$1 0.15;
#X obj 338 114 moses 0;
#X text 99 235 this uses pdp_bq as an allpass filter to produce a phase
shift effect in the horizontal direction. 2nd inlet sets direction
and amount. range is from -1 to 1;
#X obj 42 93 abs;
#X msg 304 191 lr 0;
#X msg 344 191 rl 1;
#X msg 384 191 lr 1;
#X msg 422 191 rl 0;
#X msg 89 93 ver 0;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 7 0;
#X connect 4 0 10 0;
#X connect 4 0 8 0;
#X connect 5 0 10 0;
#X connect 5 0 8 0;
#X connect 5 0 15 0;
#X connect 6 0 5 0;
#X connect 6 0 11 0;
#X connect 6 0 12 0;
#X connect 7 0 2 0;
#X connect 8 0 12 0;
#X connect 8 0 11 0;
#X connect 8 1 14 0;
#X connect 8 1 13 0;
#X connect 10 0 3 0;
#X connect 11 0 2 0;
#X connect 12 0 2 0;
#X connect 13 0 2 0;
#X connect 14 0 2 0;
#X connect 15 0 2 0;

--- NEW FILE: pdp_conv_sobel_edge.pd ---
#N canvas 222 642 607 202 10;
#X obj 15 35 pdp_conv_sobel_hor;
#X obj 149 34 pdp_conv_sobel_ver;
#X obj 15 114 pdp_add;
#X obj 15 74 pdp_mul;
#X obj 149 71 pdp_mul;
#X text 123 105 this uses the horizontal and vertical sobel directional
masks squared as an edge detector.;
#X obj 14 -6 inlet;
#X obj 15 151 outlet;
#X obj 15 15 pdp_trigger p p;
#X connect 0 0 3 0;
#X connect 0 0 3 1;
#X connect 1 0 4 0;
#X connect 1 0 4 1;
#X connect 2 0 7 0;
#X connect 3 0 2 0;
#X connect 4 0 2 1;
#X connect 6 0 8 0;
#X connect 8 0 0 0;
#X connect 8 1 1 0;

--- NEW FILE: pdp_motion_blur.pd ---
#N canvas 119 483 508 168 10;
#X obj 29 17 inlet;
#X obj 29 124 outlet;
#X obj 29 99 pdp_bqt;
#X obj 87 18 inlet;
#X obj 87 42 pdp_ut_logmap_comp 0.005 0.4;
#X msg 87 68 lpf \$1 0.25;
#X text 97 108 pdp_motion_blur uses pdp_bqt (time biquad filter) configured
as a lowpass filter to produce a motion blur effect.;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;

--- NEW FILE: pdp_dither.pd ---
#N canvas 563 412 450 378 10;
#X obj 209 213 pdp_abs;
#X obj 209 144 pdp_noise;
#X obj 57 249 pdp_sub;
#X obj 209 172 pdp_grey;
#X obj 57 148 pdp_grey;
#X obj 57 88 inlet;
#X msg 209 114 type grey;
#X obj 57 204 pdp_contrast \$1;
#X obj 57 308 outlet;
#X obj 57 117 pdp_t p b;
#X obj 157 87 inlet;
#X obj 209 86 loadbang;
#X text 25 8 a dither effect;
#X text 26 45 returns a grey image (image/grey/*);
#X obj 57 277 pdp_sign;
#X text 26 23 right inlet is contrast;
#X connect 0 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 14 0;
#X connect 3 0 0 0;
#X connect 4 0 7 0;
#X connect 5 0 9 0;
#X connect 6 0 1 0;
#X connect 7 0 2 0;
#X connect 9 0 4 0;
#X connect 9 1 1 0;
#X connect 10 0 7 1;
#X connect 11 0 6 0;
#X connect 14 0 8 0;

--- NEW FILE: pdp_qt_control.pd ---
#N canvas 287 151 577 553 10;
#X obj 390 48 inlet;
#X text 315 10 nb of frames;
#X text 313 23 connect pdp_qt's 3rd outlet here;
#X obj 390 99 s \$0-frames;
#X obj 8 9 inlet;
#X msg 150 186 pp;
#X msg 53 85 set l;
#X msg 104 87 set pp;
#X msg 160 87 set r;
#N canvas 821 623 335 233 randplay 0;
#X obj 82 122 random;
#X obj 111 96 r \$0-frames;
#X msg 73 81 bang;
#X obj 69 39 inlet;
#X obj 82 153 outlet;
#X text 154 24 random frame playback;
#X connect 0 0 4 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X restore 377 288 pd randplay;
#N canvas 418 263 365 227 loopplay 0;
#X obj 63 79 f 0;
#X obj 63 101 + 1;
#X obj 63 147 mod;
#X obj 70 121 r \$0-frames;
#X msg 62 59 bang;
#X obj 62 30 inlet;
#X obj 63 182 outlet;
#X text 166 33 normal looped playback;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
#X connect 2 0 6 0;
#X connect 3 0 2 1;
#X connect 4 0 0 0;
#X connect 5 0 4 0;
#X restore 59 284 pd loopplay;
#X obj 4 35 route bang;
#N canvas 253 244 365 227 rloopplay 0;
#X obj 63 79 f 0;
#X obj 63 147 mod;
#X obj 96 129 r \$0-frames;
#X msg 62 59 bang;
#X obj 62 30 inlet;
#X obj 63 182 outlet;
#X obj 63 101 + 1;
#X obj 133 79 r \$0-frames;
#X obj 132 102 - 1;
#X text 166 33 reverse looped playback;
#X connect 0 0 6 0;
#X connect 1 0 0 1;
#X connect 1 0 5 0;
#X connect 2 0 1 1;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 6 0 1 0;
#X connect 7 0 8 0;
#X connect 8 0 6 1;
#X restore 152 284 pd rloopplay;
#X msg 215 87 set rl;
#N canvas 0 0 450 300 addjitter 0;
#X obj 150 65 inlet;
#X obj 177 244 outlet;
#X obj 259 66 inlet;
#X obj 259 90 abs;
#X obj 225 173 r \$0-frames;
#X obj 186 201 mod;
#X obj 259 113 + 1;
#X obj 211 139 random 1;
#X text 32 26 add jitter. sort of. something like the nervous effect.
;
#X obj 160 115 t f b;
#X obj 185 169 +;
#X connect 0 0 9 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 5 1;
#X connect 5 0 1 0;
#X connect 6 0 7 1;
#X connect 7 0 10 1;
#X connect 9 0 10 0;
#X connect 9 1 7 0;
#X connect 10 0 5 0;
#X restore 148 395 pd addjitter;
#X obj 150 426 outlet;
#X obj 53 60 route loop pingpong random rloop nervous;
#X obj 95 419 print;
#N canvas 751 514 434 327 pingpongplay 1;
#X obj 117 73 r \$0-frames;
#X msg 62 59 bang;
#X obj 62 30 inlet;
#X obj 56 243 outlet;
#X text 120 13 pingpong (palindrome) looped playback;
#X obj 118 121 * 2;
#X obj 55 191 -;
#X obj 55 213 abs;
#X obj 63 79 f 0;
#X floatatom 113 203 5 0 0 0 - - -;
#X obj 58 108 + 1;
#X obj 62 141 mod;
#X obj 117 98 - 1;
#X connect 0 0 12 0;
#X connect 1 0 8 0;
#X connect 2 0 1 0;
#X connect 5 0 11 1;
#X connect 6 0 7 0;
#X connect 7 0 3 0;
#X connect 7 0 9 0;
#X connect 8 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 6 0;
#X connect 11 0 8 1;
#X connect 12 0 5 0;
#X connect 12 0 6 1;
#X restore 249 284 pd pingpongplay;
#X obj 150 217 route l rl pp r;
#X text 60 12 left input: metro and control;
#X text 49 465 loop modes: loop (normal) \, rloop (reverse loop) \,
pingpong (palindrome) \, random. send a nervous <amount> message to
add some random jitter.;
#X obj 390 75 abs;
#X connect 0 0 22 0;
#X connect 4 0 11 0;
#X connect 5 0 19 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 8 0 5 0;
#X connect 9 0 14 0;
#X connect 10 0 14 0;
#X connect 11 0 5 0;
#X connect 11 1 16 0;
#X connect 12 0 14 0;
#X connect 13 0 5 0;
#X connect 14 0 15 0;
#X connect 16 0 6 0;
#X connect 16 1 7 0;
#X connect 16 2 8 0;
#X connect 16 3 13 0;
#X connect 16 4 14 1;
#X connect 18 0 14 0;
#X connect 19 0 10 0;
#X connect 19 1 12 0;
#X connect 19 2 18 0;
#X connect 19 3 9 0;
#X connect 22 0 3 0;

--- NEW FILE: pdp_invert.pd ---
#N canvas 487 324 440 275 10;
#X obj 34 51 inlet;
#X obj 34 236 outlet;
#X obj 34 173 pdp_gain;
#X obj 34 100 pdp_cheby 1;
#X obj 153 24 loadbang;
#X msg 141 146 chanmask 6;
#X msg 153 58 chanmask 1 \, coef 0 1 \, coef 1 -1;
#X msg 141 120 -1;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 2 0;
#X connect 6 0 3 0;
#X connect 6 0 7 0;
#X connect 7 0 2 1;
#X connect 7 0 5 0;

--- NEW FILE: pdp_phase.pd ---
#N canvas 304 524 746 291 10;
#X obj 25 21 inlet;
#X obj 25 249 outlet;
#X obj 25 209 pdp_bq;
#X obj 42 144 pdp_ut_addscaleclip -1 -0.5 0.05 0.48;
#X obj 42 44 inlet;
#X msg 118 109 0;
#X obj 178 22 loadbang;
#X msg 304 191 lr 1;
#X msg 344 191 rl 0;
#X msg 42 176 apf \$1 0.15;
#X obj 287 22 inlet;
#X msg 384 191 lr 0;
#X msg 422 191 rl 1;
#X msg 539 191 bt 1;
#X msg 579 191 tb 0;
#X msg 619 191 bt 0;
#X msg 672 191 tb 1;
#X obj 287 86 select 0;
#X msg 227 191 lr 0;
#X msg 265 191 rl 0;
#X obj 522 19 inlet;
#X obj 522 84 select 0;
#X obj 338 114 moses 0;
#X obj 573 114 moses 0;
#X msg 241 53 1;
#X msg 463 191 tb 0;
#X msg 501 191 bt 0;
#X text 99 235 this uses pdp_bq as an allpass filter to produce a phase
shift effect. 2nd inlet sets amount. 3rd and 4th inlets set directions.
;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 9 0;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 6 0 5 0;
#X connect 6 0 7 0;
#X connect 6 0 8 0;
#X connect 6 0 24 0;
#X connect 7 0 2 0;
#X connect 8 0 2 0;
#X connect 9 0 2 0;
#X connect 10 0 17 0;
#X connect 11 0 2 0;
#X connect 12 0 2 0;
#X connect 13 0 2 0;
#X connect 14 0 2 0;
#X connect 16 0 2 0;
#X connect 17 0 18 0;
#X connect 17 0 19 0;
#X connect 17 1 22 0;
#X connect 18 0 2 0;
#X connect 19 0 2 0;
#X connect 20 0 21 0;
#X connect 21 0 25 0;
#X connect 21 0 26 0;
#X connect 21 1 23 0;
#X connect 22 0 8 0;
#X connect 22 0 7 0;
#X connect 22 1 12 0;
#X connect 22 1 11 0;
#X connect 23 0 14 0;
#X connect 23 0 13 0;
#X connect 23 1 16 0;
#X connect 23 1 15 0;
#X connect 24 0 17 0;
#X connect 24 0 21 0;
#X connect 25 0 2 0;
#X connect 26 0 2 0;

--- NEW FILE: pdp_diff.pd ---
#N canvas 550 527 517 215 10;
#X obj 62 132 pdp_sub;
#X obj 62 104 pdp_reg;
#X obj 62 72 pdp_trigger bang pdp;
#X obj 62 38 inlet;
#X obj 62 163 outlet;
#X text 161 17 compute the difference between current;
#X text 161 33 and previous frame;
#X connect 0 0 4 0;
#X connect 1 0 0 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 2 1 0 0;
#X connect 3 0 2 0;

--- NEW FILE: pdp_affine.pd ---
#N canvas 600 556 450 300 10;
#X obj 47 39 inlet;
#X obj 111 39 inlet;
#X obj 170 38 inlet;
#X obj 98 151 pdp_cheby;
#X obj 63 205 outlet;
#X text 26 7 for patch compatibility with older versions of pdp;
#X msg 119 98 coef 1 \$1;
#X msg 197 97 coef 0 \$1;
#X connect 0 0 3 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 3 0 4 0;
#X connect 6 0 3 0;
#X connect 7 0 3 0;

--- NEW FILE: pdp_agc.pd ---
#N canvas 572 396 450 300 10;
#X obj 174 115 pdp_cog;
#X obj 174 222 /;
#X obj 174 147 t b f;
#X obj 116 89 pdp_t p p;
#X obj 116 252 pdp_gain;
#X text 22 13 an automatic gain control using the pdp_cog object;
#X obj 23 40 inlet;
#X obj 238 146 inlet;
#X obj 174 183 f \$1;
#X obj 116 279 outlet;
#X text 158 36 creation argument or right inlet;
#X text 157 51 is desired average intensity;
#X obj 23 62 route chanmask;
#X msg 23 102 chanmask \$1;
#X connect 0 0 2 0;
#X connect 1 0 4 1;
#X connect 2 0 8 0;
#X connect 2 1 1 1;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 9 0;
#X connect 6 0 12 0;
#X connect 7 0 8 1;
#X connect 8 0 1 0;
#X connect 12 0 13 0;
#X connect 12 1 3 0;
#X connect 13 0 4 0;

--- NEW FILE: pdp_offset.pd ---
#N canvas 515 434 450 300 10;
#X obj 48 69 inlet;
#X obj 48 243 outlet;
#X obj 48 191 pdp_cheby;
#X msg 173 93 coef 0 \$1;
#X obj 103 69 loadbang;
#X obj 173 68 inlet;
#X obj 103 111 float \$1;
#X text 45 21 add an offset to an image;
#X msg 103 138 reset \, coef 1 1 \, coef 0 \$1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 3 0;
#X connect 6 0 8 0;
#X connect 8 0 2 0;

--- NEW FILE: pdp_conv_emboss.pd ---
#N canvas 172 505 641 290 10;
#X obj 30 55 inlet;
#X obj 29 206 outlet;
#X obj 29 93 pdp_conv;
#X obj 29 126 pdp_add;
#X obj 108 9 loadbang;
#X obj 218 86 pdp_conv;
#X obj 29 176 pdp_affine 1;
#X msg 108 151 0.5;
#X msg 108 37 hmask 1 0 0;
#X msg 218 35 hmask 0 0 1;
#X obj 145 151 inlet;
#X text 142 178 this uses pdp_conv \, pdp_add and pdp_affine to produce
an emboss effect using the convolution mask (-1 0 0 \; 0 0 0 \; 0 0
1) the right inlet sets the chroma offset.;
#X msg 218 60 vmask 0 0 1;
#X msg 108 60 vmask -1 0 0;
#X msg 108 128 chanmask 1;
#X connect 0 0 2 0;
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 4 0 8 0;
#X connect 4 0 9 0;
#X connect 5 0 3 1;
#X connect 6 0 1 0;
#X connect 7 0 6 2;
#X connect 8 0 2 0;
#X connect 8 0 13 0;
#X connect 9 0 5 0;
#X connect 9 0 12 0;
#X connect 10 0 6 2;
#X connect 12 0 5 0;
#X connect 13 0 2 0;
#X connect 13 0 14 0;
#X connect 14 0 6 0;
#X connect 14 0 7 0;

--- NEW FILE: pdp_tag.pd ---
#N canvas 700 231 450 300 10;
#X obj 56 25 inlet;
#X obj 55 191 outlet;
#X msg 162 174 \$1 \$2 \$3 \$4;
#X text 148 31 tag a pdp message (for routing);
#X obj 0 110 symbol \$1;
#X obj 56 68 unpack s s 0;
#X obj 55 139 pack s s s 0;
#X obj 39 91 t b s;
#X obj 55 165 route list;
#X connect 0 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 5 1 6 2;
#X connect 5 2 6 3;
#X connect 6 0 8 0;
#X connect 7 0 4 0;
#X connect 7 1 6 1;
#X connect 8 0 1 0;

--- NEW FILE: pdp_save_png_sequence.pd ---
#N canvas 654 482 490 382 10;
#X obj 54 65 inlet;
#X obj 119 362 pdp_reg;
#X obj 119 130 pdp_t b p;
#X obj 119 186 + 1;
#X obj 54 93 route bang;
#X obj 119 251 makefilename /tmp/frame%d.png;
#X obj 119 215 moses \$1;
#X obj 140 279 print;
#X msg 119 305 save_png \$1;
#X msg 54 126 0;
#X text 146 10 save a png sequence in the /tmp directory;
#X text 146 25 creation argument is the number of frames;
#X obj 119 160 f \$1;
#X text 146 40 send a bang to start writing;
#X connect 0 0 4 0;
#X connect 2 0 12 0;
#X connect 2 1 1 0;
#X connect 3 0 6 0;
#X connect 3 0 12 1;
#X connect 4 0 9 0;
#X connect 4 1 2 0;
#X connect 5 0 7 0;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 8 0 1 0;
#X connect 9 0 12 1;
#X connect 12 0 3 0;

--- NEW FILE: pdp_gradient.pd ---
#N canvas 465 0 719 454 10;
#X obj 49 19 inlet;
#X obj 216 399 outlet;
#X obj 216 235 pdp_gain;
#X obj 216 286 pdp_gain;
#X obj 216 340 pdp_gain;
#X msg 361 217 chanmask 1;
#X msg 361 268 chanmask 2;
#X obj 361 178 loadbang;
#X obj 99 267 unpack 0 0 0;
#X msg 361 322 chanmask 4;
#X obj 216 146 pdp_grey2mask;
#X obj 5 198 unpack 0 0 0;
#X obj 267 207 r \$0-ch1;
#X obj 267 260 r \$0-ch2;
#X obj 267 312 r \$0-ch3;
#X obj 5 328 s \$0-ch1;
#X obj 127 328 s \$0-ch3;
#X obj 66 328 s \$0-ch2;
#X obj 5 229 pdp_ut_rgb2ycrcb;
#X msg 111 46 rgb 1 0.5 0;
#X msg 111 74 ycrcb 1 0.5 0;
#X text 230 46 set a red/green/blue gradient;
#X text 140 16 a gradient abstraction based on gain and grey2mask;
#X obj 49 118 route rgb ycrcb;
#X text 308 391 hint: replace pdp_gain by pdp_cheby to get nonlinear
gradients.;
#X text 229 76 set a luma/chroma_red/chroma_blue gradient;
#X text 322 146 this copies luma channel to chroma channels;
#X connect 0 0 23 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 3 0;
#X connect 6 0 9 0;
#X connect 7 0 5 0;
#X connect 7 0 19 0;
#X connect 8 0 15 0;
#X connect 8 1 17 0;
#X connect 8 2 16 0;
#X connect 9 0 4 0;
#X connect 10 0 2 0;
#X connect 11 0 18 0;
#X connect 11 1 18 1;
#X connect 11 2 18 2;
#X connect 12 0 2 1;
#X connect 13 0 3 1;
#X connect 14 0 4 1;
#X connect 18 0 15 0;
#X connect 18 1 17 0;
#X connect 18 2 16 0;
#X connect 19 0 23 0;
#X connect 20 0 23 0;
#X connect 23 0 11 0;
#X connect 23 1 8 0;
#X connect 23 2 10 0;

--- NEW FILE: pdp_m_inverse.pd ---
#N canvas 805 557 415 150 10;
#X obj 21 49 pdp_m_LU;
#X obj 21 24 inlet;
#X obj 21 103 outlet;
#X text 150 31 computes a matrix inverse using the;
#X text 149 48 LU decomposition (PA = LU);
#X text 148 84 (uses double precision processing);
#X obj 21 77 pdp_m_LU_inverse;
#X connect 0 0 6 0;
#X connect 1 0 0 0;
#X connect 6 0 2 0;

--- NEW FILE: pdp_conv_sobel_ver.pd ---
#N canvas 222 642 591 202 10;
#X obj 29 55 inlet;
#X obj 29 131 outlet;
#X obj 29 93 pdp_conv;
#X obj 108 9 loadbang;
#X msg 108 37 hmask 0.5 1 0.5;
#X msg 108 60 vmask 1 0 -1;
#X text 108 101 this uses pdp_conv to produce the horizontal sobel
edge detector with convolution mask (-.5 -1 -0.5 \; 0 0 0 \; 0.5 1
.5);
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;

--- NEW FILE: rgb2ycrcb.pd ---
#N canvas 318 162 450 300 10;
#X obj 94 76 inlet;
#X obj 144 76 inlet;
#X obj 195 76 inlet;
#X text 94 53 red;
#X text 143 52 green;
#X text 197 53 blue;

--- NEW FILE: pdp_phase_ver.pd ---
#N canvas 304 524 518 291 10;
#X obj 25 21 inlet;
#X obj 25 249 outlet;
#X obj 25 209 pdp_bq;
#X obj 42 144 pdp_ut_addscaleclip -1 -0.5 0.05 0.48;
#X obj 42 44 inlet;
#X msg 89 44 0;
#X obj 89 18 loadbang;
#X obj 338 114 moses 0;
#X obj 42 93 abs;
#X msg 42 176 apf \$1 0.15;
#X msg 89 93 hor 0;
#X msg 304 191 tb 1;
#X msg 344 191 bt 0;
#X msg 384 191 tb 0;
#X msg 422 191 bt 1;
#X text 99 235 this uses pdp_bq as an allpass filter to produce a phase
shift effect in the vertical direction. 2nd inlet sets direction and
amount. range is from -1 to 1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 9 0;
#X connect 4 0 8 0;
#X connect 4 0 7 0;
#X connect 5 0 8 0;
#X connect 5 0 7 0;
#X connect 5 0 10 0;
#X connect 6 0 5 0;
#X connect 6 0 11 0;
#X connect 6 0 12 0;
#X connect 7 0 12 0;
#X connect 7 0 11 0;
#X connect 7 1 14 0;
#X connect 7 1 13 0;
#X connect 8 0 3 0;
#X connect 9 0 2 0;
#X connect 10 0 2 0;
#X connect 11 0 2 0;
#X connect 12 0 2 0;
#X connect 13 0 2 0;
#X connect 14 0 2 0;

--- NEW FILE: pdp_gain3.pd ---
#N canvas 576 356 409 204 10;
#X obj 107 82 pdp_gain;
#X obj 107 115 pdp_gain;
#X obj 107 146 pdp_gain;
#X obj 107 50 inlet;
#X obj 184 49 inlet;
#X obj 250 49 inlet;
#X obj 309 48 inlet;
#X obj 107 178 outlet;
#X obj 19 22 loadbang;
#X msg 19 50 chanmask 1;
#X msg 19 84 chanmask 2;
#X msg 19 117 chanmask 4;
#X text 113 14 set gain independently for 3 channels;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 3 0 0 0;
#X connect 4 0 0 1;
#X connect 5 0 1 1;
#X connect 6 0 2 1;
#X connect 8 0 9 0;
#X connect 9 0 0 0;
#X connect 9 0 10 0;
#X connect 10 0 1 0;
#X connect 10 0 11 0;
#X connect 11 0 2 0;

--- NEW FILE: pdp_motion_phase.pd ---
#N canvas 58 0 508 168 10;
#X obj 29 17 inlet;
#X obj 29 124 outlet;
#X obj 29 99 pdp_bqt;
#X obj 87 18 inlet;
#X text 94 102 pdp_motion_blur uses pdp_bqt (time biquad filter) configured
as an allpass filter to produce a motion phase shift effect.;
#X obj 87 42 pdp_ut_logmap_comp 0.01 0.4;
#X msg 87 68 apf \$1 0.25;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 2 0;

--- NEW FILE: pdp_sub.pd ---
#N canvas 577 543 450 300 10;
#X obj 48 49 inlet;
#X obj 118 47 inlet;
#X obj 47 161 outlet;
#X obj 48 104 pdp_mix2 1 -1;
#X connect 0 0 3 0;
#X connect 1 0 3 1;
#X connect 3 0 2 0;

--- NEW FILE: pdp_saturation.pd ---
#N canvas 322 388 509 326 10;
#X obj 39 105 inlet;
#X obj 270 103 inlet;
#X obj 39 255 outlet;
#X obj 85 105 loadbang;
#X text 32 14 adjust colour saturation by applying a gain to the chroma
channels.;
#X text 31 47 this only works for image/YCrCb/* packets and 3 channel
image/multi/* packets containing luma and chroma channels.;
#X obj 39 192 pdp_gain;
#X msg 85 155 chanmask 6 \, gain \$1;
#X obj 85 131 f \$1;
#X connect 0 0 6 0;
#X connect 1 0 6 1;
#X connect 3 0 8 0;
#X connect 6 0 2 0;
#X connect 7 0 6 0;
#X connect 8 0 7 0;

--- NEW FILE: pdp_qtloop2~.pd ---
#N canvas 526 20 677 778 10;
#X obj 82 83 inlet;
#X obj 255 82 inlet;
#X obj 103 506 pdp_loop;
#X obj 154 702 outlet;
#X obj 18 473 r \$0-loopin;
#X obj 24 145 s \$0-filename;
#X text 60 59 bang or hot frame;
#X text 142 727 packet outlet;
#X msg 132 137 bang;
#X obj 82 111 route open bang;
#X obj 103 554 pdp_convert image/YCrCb/*;
#X obj 294 214 s \$0-playaudioframe;
#X obj 294 237 outlet;
#X obj 132 375 mod;
#X obj 178 345 r \$0-nbframes;
#X obj 418 363 outlet;
#X obj 495 137 outlet~;
#X obj 581 133 outlet~;
#N canvas 98 558 711 881 more_logic 0;
#X obj 215 518 pdp_qt;
#X obj 246 772 symbol \$0-L;
#X obj 340 773 symbol \$0-R;
#X msg 246 797 dump \$1 0;
#X msg 340 797 dump \$1 1;
#X msg 140 473 open \$1;
#X obj 21 367 symbol;
#X obj 216 729 t f b;
#X obj 232 490 r \$0-qtin;
#X obj 340 833 s \$0-qtin;
#X obj 245 318 s \$0-loopin;
#X obj 21 338 r \$0-filename;
#X obj 215 692 s \$0-loopin;
#X text 337 227 new movie loaded \, nb of frames received here;
#X text 268 730 dump audio;
#X text 374 288 set loop size;
#X obj 215 463 until;
#X text 262 465 dump frames;
#X obj 215 258 t f f;
#X msg 245 289 size \$1 \, record;
#X text 374 303 start recording;
#X obj 199 435 f 0;
#X obj 252 551 s \$0-nbframes;
#X obj 215 227 r \$0-nbframes;
#X msg 21 494 DONE;
#X obj 21 671 print pdp_qtloop~;
#X obj 215 661 pdp_convert bitmap/yv12/*;
#X obj 215 348 t f f;
#X obj 233 601 pack 0 0;
#X obj 21 393 t b b b s;
#X msg 233 627 decoding frame \$1 of \$2;
#X obj 233 576 + 1;
#X text 407 661 images are stored in 12bpp;
#X obj 217 173 outlet~;
#X obj 340 172 outlet~;
#X obj 217 106 * 1920;
#X obj 217 41 r \$0-playaudioframe;
#X text 215 18 restart audio playback from frame #;
#X text 277 106 samplerate / framerate;
#X obj 32 32 table \$0-L;
#X obj 32 56 table \$0-R;
#N canvas 367 318 450 300 fracframemodulo 0;
#X obj 93 43 inlet;
#X obj 93 274 outlet;
#X obj 93 97 /;
#X obj 109 67 r \$0-nbframes;
#X obj 123 147 int;
#X obj 93 122 t f f;
#X obj 93 179 -;
#X obj 109 220 r \$0-nbframes;
#X obj 93 248 *;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 2 1;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 5 1 4 0;
#X connect 6 0 8 0;
#X connect 7 0 8 1;
#X connect 8 0 1 0;
#X restore 217 68 pd fracframemodulo;
#X obj 216 144 tabreadmix~ \$0-L;
#X obj 340 143 tabreadmix~ \$0-R;
#X obj 518 73 inlet;
#X connect 0 0 26 0;
#X connect 0 1 31 0;
#X connect 0 2 22 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 9 0;
#X connect 4 0 9 0;
#X connect 5 0 0 0;
#X connect 6 0 29 0;
#X connect 7 1 1 0;
#X connect 7 1 2 0;
#X connect 8 0 0 0;
#X connect 11 0 6 0;
#X connect 16 0 0 0;
#X connect 18 0 27 0;
#X connect 18 1 19 0;
#X connect 19 0 10 0;
#X connect 21 0 16 0;
#X connect 23 0 18 0;
#X connect 24 0 25 0;
#X connect 26 0 12 0;
#X connect 27 0 21 1;
#X connect 27 0 28 1;
#X connect 28 0 30 0;
#X connect 29 0 24 0;
#X connect 29 1 7 0;
#X connect 29 2 21 0;
#X connect 29 3 5 0;
#X connect 30 0 25 0;
#X connect 31 0 28 0;
#X connect 35 0 42 0;
#X connect 35 0 43 0;
#X connect 36 0 41 0;
#X connect 41 0 35 0;
#X connect 42 0 33 0;
#X connect 43 0 34 0;
#X connect 44 0 43 1;
#X connect 44 0 42 1;
#X restore 495 104 pd more_logic;
#X obj 132 170 f;
#X obj 132 287 t f f;
#X text 240 61 cold frame;
#X obj 162 375 mod;
#X obj 162 319 + 1;
#X obj 118 613 pdp_route;
#X obj 154 661 pdp_mix;
#X text 273 257 frame nb outlet;
#X msg 176 461 0;
#X msg 208 461 1;
#X obj 176 488 f;
#X text 215 408 get current and next frame from pdp_loop;
#X obj 132 219 int;
#X obj 206 267 -;
#X obj 132 196 t f f f;
#X obj 132 249 t f f;
#X text 277 317 crossfade fraction;
#X obj 206 317 s \$0-frac;
#X obj 198 631 r \$0-frac;
#X obj 206 292 * -1;
#X obj 103 408 t f b;
#X obj 162 408 t f b;
#X text 397 385 nb frames outlet;
#X text 249 19 like pdp_qtloop~ but uses tabreadmix~ from creb;
#X obj 497 77 inlet;
#X text 479 57 grain size;
#X connect 0 0 9 0;
#X connect 1 0 19 1;
#X connect 2 0 10 0;
#X connect 4 0 2 0;
#X connect 8 0 19 0;
#X connect 9 0 5 0;
#X connect 9 1 8 0;
#X connect 9 2 19 0;
#X connect 10 0 24 0;
#X connect 13 0 39 0;
#X connect 14 0 13 1;
#X connect 14 0 22 1;
#X connect 14 0 15 0;
#X connect 18 0 16 0;
#X connect 18 1 17 0;
#X connect 19 0 33 0;
#X connect 20 0 13 0;
#X connect 20 1 23 0;
#X connect 22 0 40 0;
#X connect 23 0 22 0;
#X connect 24 0 25 0;
#X connect 24 1 25 1;
#X connect 25 0 3 0;
#X connect 27 0 29 0;
#X connect 28 0 29 0;
#X connect 29 0 24 1;
#X connect 31 0 34 0;
#X connect 32 0 38 0;
#X connect 33 0 31 0;
#X connect 33 1 32 1;
#X connect 33 2 12 0;
#X connect 33 2 11 0;
#X connect 34 0 20 0;
#X connect 34 1 32 0;
#X connect 37 0 25 2;
#X connect 38 0 36 0;
#X connect 39 0 2 0;
#X connect 39 1 27 0;
#X connect 40 0 2 0;
#X connect 40 1 28 0;
#X connect 43 0 18 0;

--- NEW FILE: pdp_conv_smooth.pd ---
#N canvas 490 446 522 199 10;
#X obj 29 17 inlet;
#X obj 29 156 outlet;
#X obj 29 97 pdp_conv;
#X obj 95 13 loadbang;
#X obj 292 12 inlet;
#X msg 95 36 mask 0.33 0.33 0.33;
#X text 107 108 pdp_conv_smooth is an averaging convolution filter.
second inlet sets number of passes.;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 2 1;
#X connect 5 0 2 0;

--- NEW FILE: pdp_blur_ver.pd ---
#N canvas 368 520 521 227 10;
#X obj 26 33 inlet;
#X obj 26 174 outlet;
#X obj 26 134 pdp_bq;
#X obj 70 66 pdp_ut_addscaleclip -1 -0.5 0.05 0.48;
#X obj 70 33 inlet;
#X msg 181 34 2;
#X msg 70 98 lpf \$1 0.25;
#X msg 136 34 0;
#X obj 136 10 loadbang;
#X text 100 138 this uses pdp_bq as a 2 pass lowpass filter to produce
a vertical blur effect;
#X msg 209 98 ver 1;
#X msg 163 98 hor 0;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 2 1;
#X connect 6 0 2 0;
#X connect 7 0 3 0;
#X connect 8 0 7 0;
#X connect 8 0 5 0;
#X connect 8 0 11 0;
#X connect 8 0 10 0;
#X connect 10 0 2 0;
#X connect 11 0 2 0;

--- NEW FILE: pdp_pps.pd ---
#N canvas 115 450 614 279 10;
#X obj 41 53 pdp_trigger;
#X obj 113 90 timer;
#X obj 113 187 /;
#X obj 113 125 t b f;
#X msg 113 155 1000;
#X obj 41 21 inlet;
#X obj 113 219 outlet;
#X text 151 36 pdp_pps uses pdp_trigger to measure the number of packets
per second. you can use this as a performance monitor.;
#X connect 0 1 1 1;
#X connect 0 1 1 0;
#X connect 1 0 3 0;
#X connect 2 0 6 0;
#X connect 3 0 4 0;
#X connect 3 1 2 1;
#X connect 4 0 2 0;
#X connect 5 0 0 0;

--- NEW FILE: pdp_qtloop~.pd ---
#N canvas 526 20 677 778 10;
#X obj 82 83 inlet;
#X obj 255 82 inlet;
#X obj 103 506 pdp_loop;
#X obj 154 702 outlet;
#X obj 18 473 r \$0-loopin;
#X obj 24 145 s \$0-filename;
#X text 60 59 bang or hot frame;
#X text 142 727 packet outlet;
#X msg 132 137 bang;
#X obj 82 111 route open bang;
#X obj 103 554 pdp_convert image/YCrCb/*;
#X obj 294 214 s \$0-playaudioframe;
#X obj 294 237 outlet;
#X obj 132 375 mod;
#X obj 178 345 r \$0-nbframes;
#X obj 418 363 outlet;
#X obj 495 137 outlet~;
#X obj 581 133 outlet~;
#N canvas 98 558 711 881 more_logic 0;
#X obj 215 518 pdp_qt;
#X obj 246 772 symbol \$0-L;
#X obj 340 773 symbol \$0-R;
#X msg 246 797 dump \$1 0;
#X msg 340 797 dump \$1 1;
#X msg 140 473 open \$1;
#X obj 21 367 symbol;
#X obj 216 729 t f b;
#X obj 232 490 r \$0-qtin;
#X obj 340 833 s \$0-qtin;
#X obj 245 318 s \$0-loopin;
#X obj 21 338 r \$0-filename;
#X obj 215 692 s \$0-loopin;
#X text 337 227 new movie loaded \, nb of frames received here;
#X text 268 730 dump audio;
#X text 374 288 set loop size;
#X obj 215 463 until;
#X text 262 465 dump frames;
#X obj 215 258 t f f;
#X msg 245 289 size \$1 \, record;
#X text 374 303 start recording;
#X obj 199 435 f 0;
#X obj 252 551 s \$0-nbframes;
#X obj 215 227 r \$0-nbframes;
#X msg 21 494 DONE;
#X obj 21 671 print pdp_qtloop~;
#X obj 215 661 pdp_convert bitmap/yv12/*;
#X obj 215 348 t f f;
#X obj 233 601 pack 0 0;
#X obj 21 393 t b b b s;
#X msg 233 627 decoding frame \$1 of \$2;
#X obj 233 576 + 1;
#X text 407 661 images are stored in 12bpp;
#X obj 217 173 outlet~;
#X obj 340 172 outlet~;
#X obj 217 106 * 1920;
#X obj 217 41 r \$0-playaudioframe;
#X text 215 18 restart audio playback from frame #;
#X text 277 106 samplerate / framerate;
#X obj 32 32 table \$0-L;
#X obj 32 56 table \$0-R;
#N canvas 367 318 450 300 fracframemodulo 0;
#X obj 93 43 inlet;
#X obj 93 274 outlet;
#X obj 93 97 /;
#X obj 109 67 r \$0-nbframes;
#X obj 123 147 int;
#X obj 93 122 t f f;
#X obj 93 179 -;
#X obj 109 220 r \$0-nbframes;
#X obj 93 248 *;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 2 1;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 5 1 4 0;
#X connect 6 0 8 0;
#X connect 7 0 8 1;
#X connect 8 0 1 0;
#X restore 217 68 pd fracframemodulo;
#X obj 216 144 tabplay~ \$0-L;
#X obj 340 143 tabplay~ \$0-R;
#X connect 0 0 26 0;
#X connect 0 1 31 0;
#X connect 0 2 22 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 9 0;
#X connect 4 0 9 0;
#X connect 5 0 0 0;
#X connect 6 0 29 0;
#X connect 7 1 1 0;
#X connect 7 1 2 0;
#X connect 8 0 0 0;
#X connect 11 0 6 0;
#X connect 16 0 0 0;
#X connect 18 0 27 0;
#X connect 18 1 19 0;
#X connect 19 0 10 0;
#X connect 21 0 16 0;
#X connect 23 0 18 0;
#X connect 24 0 25 0;
#X connect 26 0 12 0;
#X connect 27 0 21 1;
#X connect 27 0 28 1;
#X connect 28 0 30 0;
#X connect 29 0 24 0;
#X connect 29 1 7 0;
#X connect 29 2 21 0;
#X connect 29 3 5 0;
#X connect 30 0 25 0;
#X connect 31 0 28 0;
#X connect 35 0 42 0;
#X connect 35 0 43 0;
#X connect 36 0 41 0;
#X connect 41 0 35 0;
#X connect 42 0 33 0;
#X connect 43 0 34 0;
#X restore 495 104 pd more_logic;
#X obj 132 170 f;
#X obj 132 287 t f f;
#X text 240 61 cold frame;
#X obj 162 375 mod;
#X obj 162 319 + 1;
#X obj 118 613 pdp_route;
#X obj 154 661 pdp_mix;
#X text 273 257 frame nb outlet;
#X msg 176 461 0;
#X msg 208 461 1;
#X obj 176 488 f;
#X text 215 408 get current and next frame from pdp_loop;
#X obj 132 219 int;
#X obj 206 267 -;
#X obj 132 196 t f f f;
#X obj 132 249 t f f;
#X text 277 317 crossfade fraction;
#X obj 206 317 s \$0-frac;
#X obj 198 631 r \$0-frac;
#X obj 206 292 * -1;
#X obj 103 408 t f b;
#X obj 162 408 t f b;
#X text 397 385 nb frames outlet;
#X connect 0 0 9 0;
#X connect 1 0 19 1;
#X connect 2 0 10 0;
#X connect 4 0 2 0;
#X connect 8 0 19 0;
#X connect 9 0 5 0;
#X connect 9 1 8 0;
#X connect 9 2 19 0;
#X connect 10 0 24 0;
#X connect 13 0 39 0;
#X connect 14 0 13 1;
#X connect 14 0 22 1;
#X connect 14 0 15 0;
#X connect 18 0 16 0;
#X connect 18 1 17 0;
#X connect 19 0 33 0;
#X connect 20 0 13 0;
#X connect 20 1 23 0;
#X connect 22 0 40 0;
#X connect 23 0 22 0;
#X connect 24 0 25 0;
#X connect 24 1 25 1;
#X connect 25 0 3 0;
#X connect 27 0 29 0;
#X connect 28 0 29 0;
#X connect 29 0 24 1;
#X connect 31 0 34 0;
#X connect 32 0 38 0;
#X connect 33 0 31 0;
#X connect 33 1 32 1;
#X connect 33 2 12 0;
#X connect 33 2 11 0;
#X connect 34 0 20 0;
#X connect 34 1 32 0;
#X connect 37 0 25 2;
#X connect 38 0 36 0;
#X connect 39 0 2 0;
#X connect 39 1 27 0;
#X connect 40 0 2 0;
#X connect 40 1 28 0;

--- NEW FILE: pdp_contrast.pd ---
#N canvas 700 349 450 324 10;
#X obj 42 159 pdp_sthresh;
#X obj 42 261 pdp_gain;
#X msg 100 211 -1;
#X obj 100 235 /;
#X obj 189 196 - 1;
#X obj 189 168 * 2;
#X text 10 -1 contrast enhancement (works on YCrCb and greyscale);
#X obj 170 117 moses 0.49;
#X msg 235 141 0.49;
#X obj 170 94 / 2;
#X msg 87 101 chanmask 1;
#X obj 170 46 loadbang;
#X obj 170 69 f \$1;
#X obj 42 47 inlet;
#X obj 238 47 inlet;
#X obj 42 285 outlet;
#X text 11 13 i.e. to process the output of pdp_agc;
#X obj 170 142 f;
#X obj 42 185 pdp_t p b;
#X connect 0 0 18 0;
#X connect 1 0 15 0;
#X connect 2 0 3 0;
#X connect 3 0 1 1;
#X connect 4 0 3 1;
#X connect 5 0 4 0;
#X connect 7 0 17 0;
#X connect 7 1 8 0;
#X connect 8 0 17 0;
#X connect 9 0 7 0;
#X connect 10 0 1 0;
#X connect 10 0 0 0;
#X connect 11 0 10 0;
#X connect 11 0 12 0;
#X connect 12 0 9 0;
#X connect 13 0 0 0;
#X connect 14 0 9 0;
#X connect 17 0 0 1;
#X connect 17 0 5 0;
#X connect 18 0 1 0;
#X connect 18 1 2 0;

--- NEW FILE: pdp_grey.pd ---
#N canvas 608 510 395 122 10;
#X obj 39 23 inlet;
#X obj 39 51 pdp_convert image/grey/*;
#X obj 39 79 outlet;
#X text 101 21 backwards compatibility abstraction;
#X connect 0 0 1 0;
#X connect 1 0 2 0;

--- NEW FILE: pdp_xv_keycursor.pd ---
#N canvas 135 108 708 682 10;
#X obj 19 103 print;
#X obj 19 67 pdp_xv;
#X obj 111 168 route keypress;
#X obj 367 215 table \$0-x;
#X obj 87 394 tabwrite \$0-x;
#X obj 396 335 tabread \$0-x;
#X obj 486 335 tabread \$0-y;
#X obj 409 383 pack s 0 0;
#X obj 183 392 tabwrite \$0-y;
#X obj 77 260 route motion;
#X obj 88 367 unpack 0 0;
#X obj 444 215 table \$0-y;
#X obj 87 339 spigot;
#X msg 157 311 0;
#X msg 125 312 1;
#X obj 157 288 route keyrelease;
#X msg 385 360 movecursor;
#X msg 409 412 \$1 \$2 \$3;
#X obj 18 468 outlet;
#X obj 17 128 t a a;
#X obj 403 277 t b f f;
#X obj 88 426 outlet;
#X obj 152 423 outlet;
#X obj 267 428 outlet;
#X obj 239 231 t f f;
#X obj 409 438 s \$0-control;
#X obj 19 40 r \$0-control;
#X obj 20 16 inlet;
#X text 182 53 a keyboard/mouse controller using pdp_xv;
#X text 180 76 hold a key while moving the mouse to update the x/y
controller value. hint: turn off keyboard autoropeat using "xset r
off" in a terminal window.;
#X text 252 454 scan code;
#X text 82 450 x coord;
#X text 151 449 y coord;
#X text 9 494 plain events;
#X obj 450 119 inlet;
#X obj 450 143 unpack 0 0 0;
#X obj 382 175 tabwrite \$0-x;
#X obj 480 175 tabwrite \$0-y;
#X connect 1 0 0 0;
#X connect 1 0 19 0;
#X connect 2 0 24 0;
#X connect 2 1 9 0;
#X connect 5 0 7 1;
#X connect 6 0 7 2;
#X connect 7 0 17 0;
#X connect 9 0 12 0;
#X connect 9 1 15 0;
#X connect 10 0 4 0;
#X connect 10 0 21 0;
#X connect 10 1 8 0;
#X connect 10 1 22 0;
#X connect 12 0 10 0;
#X connect 13 0 12 1;
#X connect 14 0 12 1;
#X connect 15 0 13 0;
#X connect 16 0 7 0;
#X connect 17 0 25 0;
#X connect 19 0 18 0;
#X connect 19 1 2 0;
#X connect 20 0 16 0;
#X connect 20 1 5 0;
#X connect 20 2 6 0;
#X connect 24 0 4 1;
#X connect 24 0 8 1;
#X connect 24 0 23 0;
#X connect 24 0 14 0;
#X connect 24 1 20 0;
#X connect 26 0 1 0;
#X connect 27 0 1 0;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 35 1 37 0;
#X connect 35 2 37 1;
#X connect 35 2 36 1;

--- NEW FILE: pdp_blur.pd ---
#N canvas 344 526 521 227 10;
#X obj 26 33 inlet;
#X obj 26 174 outlet;
#X obj 26 134 pdp_bq;
#X obj 70 66 pdp_ut_addscaleclip -1 -0.5 0.05 0.48;
#X obj 70 33 inlet;
#X msg 181 34 2;
#X msg 70 98 lpf \$1 0.25;
#X msg 136 34 0;
#X obj 136 10 loadbang;
#X msg 163 98 hor 1;
#X msg 209 98 ver 1;
#X text 100 138 this uses pdp_bq as a 2 pass lowpass filter to produce
a blur effect in all directions;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 2 1;
#X connect 6 0 2 0;
#X connect 7 0 3 0;
#X connect 8 0 7 0;
#X connect 8 0 5 0;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 2 0;
#X connect 10 0 2 0;

--- NEW FILE: pdp_conv_sobel_hor.pd ---
#N canvas 222 642 591 202 10;
#X obj 29 55 inlet;
#X obj 29 132 outlet;
#X obj 29 93 pdp_conv;
#X obj 108 9 loadbang;
#X msg 108 37 vmask 0.5 1 0.5;
#X msg 108 60 hmask -1 0 1;
#X text 108 101 this uses pdp_conv to produce the vertical sobel edge
detector with convolution mask (-.5 0 0.5 \; -1 0 1 \; -0.5 0 .5);
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;

--- NEW FILE: pdp_conv_alledge.pd ---
#N canvas 245 202 522 199 10;
#X obj 29 17 inlet;
#X obj 29 156 outlet;
#X obj 29 97 pdp_conv;
#X msg 95 36 hmask 0.33 0.33 0.33;
#X msg 95 59 vmask -0.33 -0.33 -0.33;
#X obj 29 126 pdp_add;
#X obj 95 13 loadbang;
#X obj 292 34 int;
#X obj 292 56 * 2;
#X obj 292 79 - 1;
#X obj 292 12 inlet;
#X text 101 115 pdp_alledge is an all edge sensitive convolution filter
using pdp_add and pdp_conv to compose a non separable edge detection
convolution mask (pdp_conv can only compute separable convolution masks).
the right inlet sets number of times the filter is run (2n-1);
#X connect 0 0 2 0;
#X connect 0 0 5 1;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 5 0 1 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 2 1;
#X connect 10 0 7 0;

--- NEW FILE: pdp_motion_fade.pd ---
#N canvas 58 0 508 168 10;
#X obj 29 17 inlet;
#X obj 29 124 outlet;
#X obj 29 99 pdp_bqt;
#X obj 87 18 inlet;
#X text 94 102 pdp_motion_fade uses pdp_bqt (time biquad filter) configured
as an highpass filter to produce a motion triggered fade-out effect.
;
#X obj 340 -1 loadbang;
#X obj 340 24 f \$1;
#X obj 87 42 pdp_ut_logmap_comp 0.01 0.4;
#X msg 87 68 hpf \$1 0.25;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 7 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 2 0;

--- NEW FILE: pdp_cheby3o.pd ---
#N canvas 29 385 450 300 10;
#X obj 42 87 inlet;
#X obj 194 189 outlet;
#X obj 194 159 pdp_cheby 3;
#X msg 115 87 coef 0 \$1;
#X msg 194 86 coef 1 \$1;
#X msg 278 85 coef 2 \$1;
#X msg 358 84 coef 3 \$1;
#X obj 115 62 inlet;
#X obj 194 62 inlet;
#X obj 278 61 inlet;
#X obj 358 60 inlet;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 3 0;
#X connect 8 0 4 0;
#X connect 9 0 5 0;
#X connect 10 0 6 0;

--- NEW FILE: pdp_png_to.pd ---
#N canvas 0 0 450 300 10;
#X obj 37 50 inlet;
#X obj 102 262 outlet;
#X obj 102 209 pdp_convert \$1;
#X obj 102 180 pdp_reg;
#X text 34 15 load a png file and convert to a packet type specified
by the creation argument. default = bitmap/*/*;
#X obj 102 121 symbol;
#X msg 102 149 load_png \$1 \, bang;
#X obj 37 81 route bang;
#X msg 37 208 bang;
#X obj 102 236 pdp_reg;
#X connect 0 0 7 0;
#X connect 2 0 9 0;
#X connect 3 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 7 1 5 0;
#X connect 8 0 9 0;
#X connect 9 0 1 0;

--- NEW FILE: pdp_blur_hor.pd ---
#N canvas 344 526 521 227 10;
#X obj 26 33 inlet;
#X obj 26 174 outlet;
#X obj 26 134 pdp_bq;
#X obj 70 66 pdp_ut_addscaleclip -1 -0.5 0.05 0.48;
#X obj 70 33 inlet;
#X msg 181 34 2;
#X msg 70 98 lpf \$1 0.25;
#X msg 136 34 0;
#X obj 136 10 loadbang;
#X msg 163 98 hor 1;
#X msg 209 98 ver 0;
#X text 100 138 this uses pdp_bq as a 2 pass lowpass filter to produce
a horzontal blur effect;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 2 1;
#X connect 6 0 2 0;
#X connect 7 0 3 0;
#X connect 8 0 7 0;
#X connect 8 0 5 0;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 2 0;
#X connect 10 0 2 0;





More information about the Pd-cvs mailing list