From b694c274836ac8b04d644711ac324eac2e9ab83e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 16 Dec 2005 01:05:40 +0000 Subject: checking in pdp 0.12.4 from http://zwizwa.fartit.com/pd/pdp/pdp-0.12.4.tar.gz svn path=/trunk/externals/pdp/; revision=4232 --- doc/objects/README | 4 ++ doc/objects/pdp_abs.pd | 21 ++++++ doc/objects/pdp_add.pd | 34 +++++++++ doc/objects/pdp_and.pd | 24 +++++++ doc/objects/pdp_bitdepth.pd | 32 +++++++++ doc/objects/pdp_bitmask.pd | 22 ++++++ doc/objects/pdp_bq.pd | 154 +++++++++++++++++++++++++++++++++++++++++ doc/objects/pdp_bqt.pd | 98 ++++++++++++++++++++++++++ doc/objects/pdp_cheby.pd | 66 ++++++++++++++++++ doc/objects/pdp_chrot.pd | 13 ++++ doc/objects/pdp_cog.pd | 32 +++++++++ doc/objects/pdp_constant.pd | 21 ++++++ doc/objects/pdp_control.pd | 59 ++++++++++++++++ doc/objects/pdp_conv.pd | 44 ++++++++++++ doc/objects/pdp_convert.pd | 17 +++++ doc/objects/pdp_del.pd | 31 +++++++++ doc/objects/pdp_description.pd | 28 ++++++++ doc/objects/pdp_flip_lr.pd | 11 +++ doc/objects/pdp_flip_tb.pd | 11 +++ doc/objects/pdp_gain.pd | 23 ++++++ doc/objects/pdp_grey2mask.pd | 25 +++++++ doc/objects/pdp_help_input.pd | 79 +++++++++++++++++++++ doc/objects/pdp_help_output.pd | 14 ++++ doc/objects/pdp_histo.pd | 36 ++++++++++ doc/objects/pdp_hthresh.pd | 26 +++++++ doc/objects/pdp_loop.pd | 62 +++++++++++++++++ doc/objects/pdp_mix.pd | 21 ++++++ doc/objects/pdp_mix2.pd | 25 +++++++ doc/objects/pdp_mul.pd | 28 ++++++++ doc/objects/pdp_netsend.pd | 62 +++++++++++++++++ doc/objects/pdp_noise.pd | 21 ++++++ doc/objects/pdp_not.pd | 21 ++++++ doc/objects/pdp_or.pd | 24 +++++++ doc/objects/pdp_plasma.pd | 29 ++++++++ doc/objects/pdp_pointcloud.pd | 32 +++++++++ doc/objects/pdp_positive.pd | 27 ++++++++ doc/objects/pdp_qt.pd | 71 +++++++++++++++++++ doc/objects/pdp_qt~.pd | 25 +++++++ doc/objects/pdp_randmix.pd | 24 +++++++ doc/objects/pdp_rawin.pd | 28 ++++++++ doc/objects/pdp_rawout.pd | 28 ++++++++ doc/objects/pdp_reg.pd | 38 ++++++++++ doc/objects/pdp_rotate.pd | 30 ++++++++ doc/objects/pdp_route.pd | 22 ++++++ doc/objects/pdp_scale.pd | 32 +++++++++ doc/objects/pdp_scanxy~.pd | 76 ++++++++++++++++++++ doc/objects/pdp_scan~.pd | 41 +++++++++++ doc/objects/pdp_scope~.pd | 23 ++++++ doc/objects/pdp_sign.pd | 25 +++++++ doc/objects/pdp_snap.pd | 21 ++++++ doc/objects/pdp_sthresh.pd | 26 +++++++ doc/objects/pdp_trigger.pd | 79 +++++++++++++++++++++ doc/objects/pdp_v4l.pd | 71 +++++++++++++++++++ doc/objects/pdp_xor.pd | 28 ++++++++ doc/objects/pdp_xv.pd | 61 ++++++++++++++++ doc/objects/pdp_zoom.pd | 41 +++++++++++ doc/objects/pdp_zrot.pd | 47 +++++++++++++ doc/objects/pdp_zthresh.pd | 21 ++++++ 58 files changed, 2135 insertions(+) create mode 100644 doc/objects/README create mode 100644 doc/objects/pdp_abs.pd create mode 100644 doc/objects/pdp_add.pd create mode 100644 doc/objects/pdp_and.pd create mode 100644 doc/objects/pdp_bitdepth.pd create mode 100644 doc/objects/pdp_bitmask.pd create mode 100644 doc/objects/pdp_bq.pd create mode 100644 doc/objects/pdp_bqt.pd create mode 100644 doc/objects/pdp_cheby.pd create mode 100644 doc/objects/pdp_chrot.pd create mode 100644 doc/objects/pdp_cog.pd create mode 100644 doc/objects/pdp_constant.pd create mode 100644 doc/objects/pdp_control.pd create mode 100644 doc/objects/pdp_conv.pd create mode 100644 doc/objects/pdp_convert.pd create mode 100644 doc/objects/pdp_del.pd create mode 100644 doc/objects/pdp_description.pd create mode 100644 doc/objects/pdp_flip_lr.pd create mode 100644 doc/objects/pdp_flip_tb.pd create mode 100644 doc/objects/pdp_gain.pd create mode 100644 doc/objects/pdp_grey2mask.pd create mode 100644 doc/objects/pdp_help_input.pd create mode 100644 doc/objects/pdp_help_output.pd create mode 100644 doc/objects/pdp_histo.pd create mode 100644 doc/objects/pdp_hthresh.pd create mode 100644 doc/objects/pdp_loop.pd create mode 100644 doc/objects/pdp_mix.pd create mode 100644 doc/objects/pdp_mix2.pd create mode 100644 doc/objects/pdp_mul.pd create mode 100644 doc/objects/pdp_netsend.pd create mode 100644 doc/objects/pdp_noise.pd create mode 100644 doc/objects/pdp_not.pd create mode 100644 doc/objects/pdp_or.pd create mode 100644 doc/objects/pdp_plasma.pd create mode 100644 doc/objects/pdp_pointcloud.pd create mode 100644 doc/objects/pdp_positive.pd create mode 100644 doc/objects/pdp_qt.pd create mode 100644 doc/objects/pdp_qt~.pd create mode 100644 doc/objects/pdp_randmix.pd create mode 100644 doc/objects/pdp_rawin.pd create mode 100644 doc/objects/pdp_rawout.pd create mode 100644 doc/objects/pdp_reg.pd create mode 100644 doc/objects/pdp_rotate.pd create mode 100644 doc/objects/pdp_route.pd create mode 100644 doc/objects/pdp_scale.pd create mode 100644 doc/objects/pdp_scanxy~.pd create mode 100644 doc/objects/pdp_scan~.pd create mode 100644 doc/objects/pdp_scope~.pd create mode 100644 doc/objects/pdp_sign.pd create mode 100644 doc/objects/pdp_snap.pd create mode 100644 doc/objects/pdp_sthresh.pd create mode 100644 doc/objects/pdp_trigger.pd create mode 100644 doc/objects/pdp_v4l.pd create mode 100644 doc/objects/pdp_xor.pd create mode 100644 doc/objects/pdp_xv.pd create mode 100644 doc/objects/pdp_zoom.pd create mode 100644 doc/objects/pdp_zrot.pd create mode 100644 doc/objects/pdp_zthresh.pd (limited to 'doc/objects') diff --git a/doc/objects/README b/doc/objects/README new file mode 100644 index 0000000..94f8bb5 --- /dev/null +++ b/doc/objects/README @@ -0,0 +1,4 @@ +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. + diff --git a/doc/objects/pdp_abs.pd b/doc/objects/pdp_abs.pd new file mode 100644 index 0000000..eef5a94 --- /dev/null +++ b/doc/objects/pdp_abs.pd @@ -0,0 +1,21 @@ +#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; diff --git a/doc/objects/pdp_add.pd b/doc/objects/pdp_add.pd new file mode 100644 index 0000000..fa5cd1f --- /dev/null +++ b/doc/objects/pdp_add.pd @@ -0,0 +1,34 @@ +#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; diff --git a/doc/objects/pdp_and.pd b/doc/objects/pdp_and.pd new file mode 100644 index 0000000..e352b16 --- /dev/null +++ b/doc/objects/pdp_and.pd @@ -0,0 +1,24 @@ +#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; diff --git a/doc/objects/pdp_bitdepth.pd b/doc/objects/pdp_bitdepth.pd new file mode 100644 index 0000000..4c5ae11 --- /dev/null +++ b/doc/objects/pdp_bitdepth.pd @@ -0,0 +1,32 @@ +#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; diff --git a/doc/objects/pdp_bitmask.pd b/doc/objects/pdp_bitmask.pd new file mode 100644 index 0000000..c92ab9e --- /dev/null +++ b/doc/objects/pdp_bitmask.pd @@ -0,0 +1,22 @@ +#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; diff --git a/doc/objects/pdp_bq.pd b/doc/objects/pdp_bq.pd new file mode 100644 index 0000000..3078c45 --- /dev/null +++ b/doc/objects/pdp_bq.pd @@ -0,0 +1,154 @@ +#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; diff --git a/doc/objects/pdp_bqt.pd b/doc/objects/pdp_bqt.pd new file mode 100644 index 0000000..5076168 --- /dev/null +++ b/doc/objects/pdp_bqt.pd @@ -0,0 +1,98 @@ +#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; diff --git a/doc/objects/pdp_cheby.pd b/doc/objects/pdp_cheby.pd new file mode 100644 index 0000000..68e24a4 --- /dev/null +++ b/doc/objects/pdp_cheby.pd @@ -0,0 +1,66 @@ +#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; diff --git a/doc/objects/pdp_chrot.pd b/doc/objects/pdp_chrot.pd new file mode 100644 index 0000000..fb59ed5 --- /dev/null +++ b/doc/objects/pdp_chrot.pd @@ -0,0 +1,13 @@ +#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; diff --git a/doc/objects/pdp_cog.pd b/doc/objects/pdp_cog.pd new file mode 100644 index 0000000..70d8ef7 --- /dev/null +++ b/doc/objects/pdp_cog.pd @@ -0,0 +1,32 @@ +#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; diff --git a/doc/objects/pdp_constant.pd b/doc/objects/pdp_constant.pd new file mode 100644 index 0000000..b17c488 --- /dev/null +++ b/doc/objects/pdp_constant.pd @@ -0,0 +1,21 @@ +#N canvas 306 280 575 277 10; +#X obj 46 231 pdp_help_output; +#X obj 46 149 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 125 76 dim 320 240; +#X text 221 76 set packet dimensions; +#X msg 125 103 type grey; +#X msg 125 126 type yv12; +#X obj 46 198 pdp_constant; +#X floatatom 125 172 5 0 0; +#X text 221 105 generate greyscale image; +#X text 221 124 generate colour image (default); +#X text 221 174 set constant; +#X text 118 26 pdp_constant creates an image filled with a constant +when a bang is received; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 4 0 6 0; +#X connect 5 0 6 0; +#X connect 6 0 0 0; +#X connect 7 0 6 1; diff --git a/doc/objects/pdp_control.pd b/doc/objects/pdp_control.pd new file mode 100644 index 0000000..cfe7704 --- /dev/null +++ b/doc/objects/pdp_control.pd @@ -0,0 +1,59 @@ +#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; diff --git a/doc/objects/pdp_conv.pd b/doc/objects/pdp_conv.pd new file mode 100644 index 0000000..aed62e2 --- /dev/null +++ b/doc/objects/pdp_conv.pd @@ -0,0 +1,44 @@ +#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; diff --git a/doc/objects/pdp_convert.pd b/doc/objects/pdp_convert.pd new file mode 100644 index 0000000..498aaa3 --- /dev/null +++ b/doc/objects/pdp_convert.pd @@ -0,0 +1,17 @@ +#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; diff --git a/doc/objects/pdp_del.pd b/doc/objects/pdp_del.pd new file mode 100644 index 0000000..607a632 --- /dev/null +++ b/doc/objects/pdp_del.pd @@ -0,0 +1,31 @@ +#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; diff --git a/doc/objects/pdp_description.pd b/doc/objects/pdp_description.pd new file mode 100644 index 0000000..f065d83 --- /dev/null +++ b/doc/objects/pdp_description.pd @@ -0,0 +1,28 @@ +#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; diff --git a/doc/objects/pdp_flip_lr.pd b/doc/objects/pdp_flip_lr.pd new file mode 100644 index 0000000..b28c3bd --- /dev/null +++ b/doc/objects/pdp_flip_lr.pd @@ -0,0 +1,11 @@ +#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; diff --git a/doc/objects/pdp_flip_tb.pd b/doc/objects/pdp_flip_tb.pd new file mode 100644 index 0000000..7048a75 --- /dev/null +++ b/doc/objects/pdp_flip_tb.pd @@ -0,0 +1,11 @@ +#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; diff --git a/doc/objects/pdp_gain.pd b/doc/objects/pdp_gain.pd new file mode 100644 index 0000000..7e3f50b --- /dev/null +++ b/doc/objects/pdp_gain.pd @@ -0,0 +1,23 @@ +#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; diff --git a/doc/objects/pdp_grey2mask.pd b/doc/objects/pdp_grey2mask.pd new file mode 100644 index 0000000..9a561ff --- /dev/null +++ b/doc/objects/pdp_grey2mask.pd @@ -0,0 +1,25 @@ +#N canvas 369 257 656 300 10; +#X obj 46 40 pdp_help_input; +#X msg 46 10 start; +#X msg 95 10 stop; +#X obj 46 275 pdp_help_output; +#X obj 90 146 pdp_grey2mask; +#X obj 46 183 pdp_mul; +#X obj 46 247 pdp_gain; +#X floatatom 97 220 5 0 0; +#X text 194 136 convert a grey scale image or the luma channel of a +colour image to an image mask. (to be used for multiplication); +#X obj 90 119 pdp_reg; +#X obj 172 73 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 197 70 click here to propagate a new mask; +#X connect 0 0 5 0; +#X connect 0 0 9 1; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 4 0 5 1; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X connect 7 0 6 1; +#X connect 9 0 4 0; +#X connect 10 0 9 0; diff --git a/doc/objects/pdp_help_input.pd b/doc/objects/pdp_help_input.pd new file mode 100644 index 0000000..3a9edf7 --- /dev/null +++ b/doc/objects/pdp_help_input.pd @@ -0,0 +1,79 @@ +#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; diff --git a/doc/objects/pdp_help_output.pd b/doc/objects/pdp_help_output.pd new file mode 100644 index 0000000..0ed52d5 --- /dev/null +++ b/doc/objects/pdp_help_output.pd @@ -0,0 +1,14 @@ +#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; diff --git a/doc/objects/pdp_histo.pd b/doc/objects/pdp_histo.pd new file mode 100644 index 0000000..f99a27e --- /dev/null +++ b/doc/objects/pdp_histo.pd @@ -0,0 +1,36 @@ +#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; diff --git a/doc/objects/pdp_hthresh.pd b/doc/objects/pdp_hthresh.pd new file mode 100644 index 0000000..6d71925 --- /dev/null +++ b/doc/objects/pdp_hthresh.pd @@ -0,0 +1,26 @@ +#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; diff --git a/doc/objects/pdp_loop.pd b/doc/objects/pdp_loop.pd new file mode 100644 index 0000000..b097cd8 --- /dev/null +++ b/doc/objects/pdp_loop.pd @@ -0,0 +1,62 @@ +#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; diff --git a/doc/objects/pdp_mix.pd b/doc/objects/pdp_mix.pd new file mode 100644 index 0000000..12dc169 --- /dev/null +++ b/doc/objects/pdp_mix.pd @@ -0,0 +1,21 @@ +#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; diff --git a/doc/objects/pdp_mix2.pd b/doc/objects/pdp_mix2.pd new file mode 100644 index 0000000..aa492b1 --- /dev/null +++ b/doc/objects/pdp_mix2.pd @@ -0,0 +1,25 @@ +#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; diff --git a/doc/objects/pdp_mul.pd b/doc/objects/pdp_mul.pd new file mode 100644 index 0000000..24d6461 --- /dev/null +++ b/doc/objects/pdp_mul.pd @@ -0,0 +1,28 @@ +#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; diff --git a/doc/objects/pdp_netsend.pd b/doc/objects/pdp_netsend.pd new file mode 100644 index 0000000..8828c17 --- /dev/null +++ b/doc/objects/pdp_netsend.pd @@ -0,0 +1,62 @@ +#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; diff --git a/doc/objects/pdp_noise.pd b/doc/objects/pdp_noise.pd new file mode 100644 index 0000000..732d4a1 --- /dev/null +++ b/doc/objects/pdp_noise.pd @@ -0,0 +1,21 @@ +#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; diff --git a/doc/objects/pdp_not.pd b/doc/objects/pdp_not.pd new file mode 100644 index 0000000..c213080 --- /dev/null +++ b/doc/objects/pdp_not.pd @@ -0,0 +1,21 @@ +#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; diff --git a/doc/objects/pdp_or.pd b/doc/objects/pdp_or.pd new file mode 100644 index 0000000..22e91e6 --- /dev/null +++ b/doc/objects/pdp_or.pd @@ -0,0 +1,24 @@ +#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; diff --git a/doc/objects/pdp_plasma.pd b/doc/objects/pdp_plasma.pd new file mode 100644 index 0000000..3a9a566 --- /dev/null +++ b/doc/objects/pdp_plasma.pd @@ -0,0 +1,29 @@ +#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; diff --git a/doc/objects/pdp_pointcloud.pd b/doc/objects/pdp_pointcloud.pd new file mode 100644 index 0000000..c7c7f47 --- /dev/null +++ b/doc/objects/pdp_pointcloud.pd @@ -0,0 +1,32 @@ +#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; diff --git a/doc/objects/pdp_positive.pd b/doc/objects/pdp_positive.pd new file mode 100644 index 0000000..5452d2d --- /dev/null +++ b/doc/objects/pdp_positive.pd @@ -0,0 +1,27 @@ +#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; diff --git a/doc/objects/pdp_qt.pd b/doc/objects/pdp_qt.pd new file mode 100644 index 0000000..9ff6154 --- /dev/null +++ b/doc/objects/pdp_qt.pd @@ -0,0 +1,71 @@ +#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; diff --git a/doc/objects/pdp_qt~.pd b/doc/objects/pdp_qt~.pd new file mode 100644 index 0000000..b03e4e1 --- /dev/null +++ b/doc/objects/pdp_qt~.pd @@ -0,0 +1,25 @@ +#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; diff --git a/doc/objects/pdp_randmix.pd b/doc/objects/pdp_randmix.pd new file mode 100644 index 0000000..6614979 --- /dev/null +++ b/doc/objects/pdp_randmix.pd @@ -0,0 +1,24 @@ +#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; diff --git a/doc/objects/pdp_rawin.pd b/doc/objects/pdp_rawin.pd new file mode 100644 index 0000000..6dcc342 --- /dev/null +++ b/doc/objects/pdp_rawin.pd @@ -0,0 +1,28 @@ +#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: ; +#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; diff --git a/doc/objects/pdp_rawout.pd b/doc/objects/pdp_rawout.pd new file mode 100644 index 0000000..0f231bf --- /dev/null +++ b/doc/objects/pdp_rawout.pd @@ -0,0 +1,28 @@ +#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: ; +#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; diff --git a/doc/objects/pdp_reg.pd b/doc/objects/pdp_reg.pd new file mode 100644 index 0000000..dca00ef --- /dev/null +++ b/doc/objects/pdp_reg.pd @@ -0,0 +1,38 @@ +#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; diff --git a/doc/objects/pdp_rotate.pd b/doc/objects/pdp_rotate.pd new file mode 100644 index 0000000..6c60c60 --- /dev/null +++ b/doc/objects/pdp_rotate.pd @@ -0,0 +1,30 @@ +#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; diff --git a/doc/objects/pdp_route.pd b/doc/objects/pdp_route.pd new file mode 100644 index 0000000..c9d341d --- /dev/null +++ b/doc/objects/pdp_route.pd @@ -0,0 +1,22 @@ +#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; diff --git a/doc/objects/pdp_scale.pd b/doc/objects/pdp_scale.pd new file mode 100644 index 0000000..9ed7996 --- /dev/null +++ b/doc/objects/pdp_scale.pd @@ -0,0 +1,32 @@ +#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; diff --git a/doc/objects/pdp_scanxy~.pd b/doc/objects/pdp_scanxy~.pd new file mode 100644 index 0000000..5edad44 --- /dev/null +++ b/doc/objects/pdp_scanxy~.pd @@ -0,0 +1,76 @@ +#N canvas 362 152 806 785 10; +#X floatatom 73 226 5 0 0; +#X obj 73 602 dac~; +#X obj 13 48 pdp_help_input; +#X msg 13 19 start; +#X obj 13 632 pdp_help_output; +#X obj 73 546 *~; +#X floatatom 89 517 5 0 0; +#X obj 73 486 hip~ 20; +#X floatatom 117 459 5 0 0; +#X floatatom 131 406 5 0 0; +#X obj 73 433 lop~ 1000; +#X msg 222 342 interpolate \$1; +#X obj 222 316 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 251 313 set interpolation between consecutive packets on/off +; +#X text 216 377 (the audio crossfade size is determined by the pd blocksize. +so you can use a block~ object to set this); +#X obj 73 375 pdp_scanxy~; +#X floatatom 145 228 5 0 0; +#X floatatom 73 146 5 0 0; +#X msg 224 225 0; +#X msg 255 225 0.25; +#X obj 224 197 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 61 20 stop; +#X obj 13 96 pdp_blur; +#X floatatom 58 72 5 0 0; +#X floatatom 161 167 5 0 0; +#X obj 145 198 * 1; +#X text 220 46 pdp_scanxy~: scanned synthesis with coordinate input. +(0 \, 0) = top left \, (1 \, 1) = bottom right; +#X obj 73 267 osc~; +#X obj 145 266 osc~; +#X text 223 164 set frequency ratio for lissajous path; +#X text 250 196 resync phase; +#X obj 73 293 *~ 0.5; +#X obj 145 293 *~ 0.5; +#X obj 73 318 +~ 0.5; +#X obj 145 318 +~ 0.5; +#X text 220 87 the waveform is scanned from the luma plane of an image. +the path is determined by the left(x) and right(y) coordinate inlets. +; +#X connect 0 0 27 0; +#X connect 2 0 22 0; +#X connect 3 0 2 0; +#X connect 5 0 1 0; +#X connect 5 0 1 1; +#X connect 6 0 5 1; +#X connect 7 0 5 0; +#X connect 8 0 7 1; +#X connect 9 0 10 1; +#X connect 10 0 7 0; +#X connect 11 0 15 0; +#X connect 12 0 11 0; +#X connect 15 0 10 0; +#X connect 16 0 28 0; +#X connect 17 0 0 0; +#X connect 17 0 25 0; +#X connect 18 0 27 1; +#X connect 19 0 28 1; +#X connect 20 0 18 0; +#X connect 20 0 19 0; +#X connect 21 0 2 0; +#X connect 22 0 4 0; +#X connect 22 0 15 0; +#X connect 23 0 22 1; +#X connect 24 0 25 1; +#X connect 25 0 16 0; +#X connect 27 0 31 0; +#X connect 28 0 32 0; +#X connect 31 0 33 0; +#X connect 32 0 34 0; +#X connect 33 0 15 0; +#X connect 34 0 15 1; diff --git a/doc/objects/pdp_scan~.pd b/doc/objects/pdp_scan~.pd new file mode 100644 index 0000000..69b0900 --- /dev/null +++ b/doc/objects/pdp_scan~.pd @@ -0,0 +1,41 @@ +#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; diff --git a/doc/objects/pdp_scope~.pd b/doc/objects/pdp_scope~.pd new file mode 100644 index 0000000..eeeaabe --- /dev/null +++ b/doc/objects/pdp_scope~.pd @@ -0,0 +1,23 @@ +#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; diff --git a/doc/objects/pdp_sign.pd b/doc/objects/pdp_sign.pd new file mode 100644 index 0000000..2e3f775 --- /dev/null +++ b/doc/objects/pdp_sign.pd @@ -0,0 +1,25 @@ +#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; diff --git a/doc/objects/pdp_snap.pd b/doc/objects/pdp_snap.pd new file mode 100644 index 0000000..b5c2752 --- /dev/null +++ b/doc/objects/pdp_snap.pd @@ -0,0 +1,21 @@ +#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; diff --git a/doc/objects/pdp_sthresh.pd b/doc/objects/pdp_sthresh.pd new file mode 100644 index 0000000..0267fc5 --- /dev/null +++ b/doc/objects/pdp_sthresh.pd @@ -0,0 +1,26 @@ +#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; diff --git a/doc/objects/pdp_trigger.pd b/doc/objects/pdp_trigger.pd new file mode 100644 index 0000000..2cabece --- /dev/null +++ b/doc/objects/pdp_trigger.pd @@ -0,0 +1,79 @@ +#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; diff --git a/doc/objects/pdp_v4l.pd b/doc/objects/pdp_v4l.pd new file mode 100644 index 0000000..3b1ea9d --- /dev/null +++ b/doc/objects/pdp_v4l.pd @@ -0,0 +1,71 @@ +#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: +; +#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; diff --git a/doc/objects/pdp_xor.pd b/doc/objects/pdp_xor.pd new file mode 100644 index 0000000..40366e2 --- /dev/null +++ b/doc/objects/pdp_xor.pd @@ -0,0 +1,28 @@ +#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; diff --git a/doc/objects/pdp_xv.pd b/doc/objects/pdp_xv.pd new file mode 100644 index 0000000..ef77559 --- /dev/null +++ b/doc/objects/pdp_xv.pd @@ -0,0 +1,61 @@ +#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; diff --git a/doc/objects/pdp_zoom.pd b/doc/objects/pdp_zoom.pd new file mode 100644 index 0000000..19ec1a7 --- /dev/null +++ b/doc/objects/pdp_zoom.pd @@ -0,0 +1,41 @@ +#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; diff --git a/doc/objects/pdp_zrot.pd b/doc/objects/pdp_zrot.pd new file mode 100644 index 0000000..f3937a0 --- /dev/null +++ b/doc/objects/pdp_zrot.pd @@ -0,0 +1,47 @@ +#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; diff --git a/doc/objects/pdp_zthresh.pd b/doc/objects/pdp_zthresh.pd new file mode 100644 index 0000000..df5209b --- /dev/null +++ b/doc/objects/pdp_zthresh.pd @@ -0,0 +1,21 @@ +#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; -- cgit v1.2.1