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/examples/example01.pd | 45 +++++++++++++++ doc/examples/example02.pd | 44 ++++++++++++++ doc/examples/example03.pd | 86 ++++++++++++++++++++++++++++ doc/examples/example04.pd | 85 +++++++++++++++++++++++++++ doc/examples/example05.pd | 142 ++++++++++++++++++++++++++++++++++++++++++++++ doc/examples/example06.pd | 76 +++++++++++++++++++++++++ doc/examples/example07.pd | 73 ++++++++++++++++++++++++ doc/examples/example08.pd | 57 +++++++++++++++++++ doc/examples/example09.pd | 35 ++++++++++++ doc/examples/example10.pd | 55 ++++++++++++++++++ doc/examples/example11.pd | 80 ++++++++++++++++++++++++++ doc/examples/example12.pd | 42 ++++++++++++++ doc/examples/example13.pd | 104 +++++++++++++++++++++++++++++++++ doc/examples/example14.pd | 54 ++++++++++++++++++ doc/examples/example15.pd | 27 +++++++++ 15 files changed, 1005 insertions(+) create mode 100644 doc/examples/example01.pd create mode 100644 doc/examples/example02.pd create mode 100644 doc/examples/example03.pd create mode 100644 doc/examples/example04.pd create mode 100644 doc/examples/example05.pd create mode 100644 doc/examples/example06.pd create mode 100644 doc/examples/example07.pd create mode 100644 doc/examples/example08.pd create mode 100644 doc/examples/example09.pd create mode 100644 doc/examples/example10.pd create mode 100644 doc/examples/example11.pd create mode 100644 doc/examples/example12.pd create mode 100644 doc/examples/example13.pd create mode 100644 doc/examples/example14.pd create mode 100644 doc/examples/example15.pd (limited to 'doc/examples') diff --git a/doc/examples/example01.pd b/doc/examples/example01.pd new file mode 100644 index 0000000..94db2ea --- /dev/null +++ b/doc/examples/example01.pd @@ -0,0 +1,45 @@ +#N canvas 657 0 518 446 10; +#X obj 133 414 pdp_xv; +#X obj 177 76 pdp_v4l; +#X obj 177 33 metro 40; +#X obj 176 8 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 35 149 pdp_conv; +#X obj 35 173 pdp_conv_sobel_edge; +#X obj 412 60 pdp_control; +#X msg 412 32 thread \$1; +#X obj 412 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 133 352 pdp_gradient; +#X obj 133 288 pdp_motion_phase; +#X msg 254 30 type grey; +#X obj 35 125 pdp_del 8; +#X obj 35 198 pdp_gain 6; +#X msg 240 252 0.45; +#X text 223 125 8 frames delay; +#X text 223 149 smooth; +#X text 223 174 edge detect; +#X text 222 200 amplify; +#X text 232 6 process in greyscale; +#X text 322 287 motion phase shifter; +#X text 320 354 grey -> colour palette; +#X msg 36 323 rgb 1 0.5 0; +#X obj 133 252 pdp_add; +#X msg 133 216 debug; +#X connect 1 0 12 0; +#X connect 1 0 23 1; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 13 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 0 0; +#X connect 10 0 9 0; +#X connect 11 0 1 0; +#X connect 12 0 4 0; +#X connect 13 0 23 0; +#X connect 14 0 10 1; +#X connect 22 0 9 0; +#X connect 23 0 10 0; +#X connect 24 0 23 0; diff --git a/doc/examples/example02.pd b/doc/examples/example02.pd new file mode 100644 index 0000000..0a46e04 --- /dev/null +++ b/doc/examples/example02.pd @@ -0,0 +1,44 @@ +#N canvas 85 437 473 316 10; +#X obj 91 268 pdp_xv; +#X obj 91 73 pdp_v4l; +#X obj 91 30 metro 40; +#X obj 90 5 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1 +; +#X obj 326 57 pdp_control; +#X msg 326 29 thread \$1; +#X obj 326 5 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 146 3 process in greyscale; +#X obj 135 195 pdp_gain; +#X obj 135 222 pdp_gain; +#X msg 168 27 type yv12; +#X obj 91 129 pdp_mix; +#X msg 169 51 type grey; +#X obj 216 194 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 0.62 256; +#X obj 139 103 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 0.82 256; +#X obj 215 133 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 8 256; +#X obj 135 162 pdp_del 25; +#X obj 216 173 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -6 0 10 +-262144 -1 -1 1.5 256; +#X text 289 177 gains clip at -1 \, 1; +#X msg 159 129 reset; +#X connect 1 0 11 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 8 0 9 0; +#X connect 9 0 11 1; +#X connect 10 0 1 0; +#X connect 11 0 0 0; +#X connect 11 0 16 0; +#X connect 12 0 1 0; +#X connect 13 0 9 1; +#X connect 14 0 11 2; +#X connect 15 0 16 1; +#X connect 16 0 8 0; +#X connect 17 0 8 1; +#X connect 19 0 16 0; diff --git a/doc/examples/example03.pd b/doc/examples/example03.pd new file mode 100644 index 0000000..0eddd0d --- /dev/null +++ b/doc/examples/example03.pd @@ -0,0 +1,86 @@ +#N canvas 141 84 841 685 10; +#X obj 68 318 pdp_noise; +#X obj 68 85 metro 40; +#X obj 68 58 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 68 484 pdp_del 50; +#X obj 112 424 pdp_gain; +#X floatatom 240 518 5 0 0; +#X obj 68 514 pdp_blur; +#X obj 243 499 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 10100 1; +#X floatatom 240 367 5 0 0; +#X obj 243 342 hsl 128 15 0 5 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X floatatom 240 587 5 0 0; +#X obj 243 567 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 4100 1; +#X floatatom 239 428 5 0 0; +#X obj 242 409 hsl 128 15 -5 5 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 11900 1; +#X msg 15 460 reset; +#X obj 68 459 pdp_add; +#X obj 68 357 pdp_gain; +#X text 203 7 this example shows how to use a delay line with a loop +gain > 1 and some processing inside the loop to produce a plasma like +effect. (WARNING: this can produce a very intense strobe effect \, +so if you're sensitive to flashing lights please be careful...); +#X text 391 407 a |gain| > 1 ensures regeneration; +#X floatatom 119 56 5 0 0; +#X obj 68 582 pdp_motion_phase; +#X floatatom 133 459 5 0 0; +#X text 392 495 blur ensures spatial coupling (determines the speed +at which "blobs" move around the screen); +#X text 392 565 a motion phase effect to spice it up (this causes local +negative feedback around suddon changes); +#X msg 109 13 40; +#X msg 144 13 1000; +#X msg 109 250 type grey; +#X msg 109 135 type yv12; +#X obj 68 619 pdp_xv; +#X text 201 247 it also works for black and white \, but all negative +colours will be clipped to 0 (black) on output.; +#X text 393 340 mix in some noise to get it going (set blur to minimal +when starting so the added noise won't be blurred to black); +#X text 202 96 it illustrates one of the advantages of working in an +additive/subtractive colour space. (here yuv or YCrCb). since legal +colours can be both positive and negative \, the analogy with audio +signals is easily drawn. this network can be seen as a nonlinear feedback +delay network. (nonlinear because of the saturating gain). the image +delay line can be seen as a parallel delay line \, one for each pixel. +coupling between the delays is done using a spatial blur effect. the +additional temporal filtering isn't necessary \, but it produces a +nice additional effect.; +#X obj 534 661 pdp_control; +#X obj 534 684 print; +#X msg 534 637 thread \$1; +#X obj 534 614 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X connect 0 0 16 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 15 1; +#X connect 6 0 20 0; +#X connect 7 0 5 0; +#X connect 7 0 6 1; +#X connect 9 0 8 0; +#X connect 9 0 16 1; +#X connect 11 0 10 0; +#X connect 11 0 20 1; +#X connect 13 0 12 0; +#X connect 13 0 4 1; +#X connect 14 0 3 0; +#X connect 15 0 3 0; +#X connect 16 0 15 0; +#X connect 19 0 1 1; +#X connect 20 0 4 0; +#X connect 20 0 28 0; +#X connect 21 0 3 1; +#X connect 24 0 19 0; +#X connect 25 0 19 0; +#X connect 26 0 0 0; +#X connect 27 0 0 0; +#X connect 32 0 33 0; +#X connect 34 0 32 0; +#X connect 35 0 34 0; diff --git a/doc/examples/example04.pd b/doc/examples/example04.pd new file mode 100644 index 0000000..501d283 --- /dev/null +++ b/doc/examples/example04.pd @@ -0,0 +1,85 @@ +#N canvas 89 39 931 736 10; +#X obj 68 204 pdp_noise; +#X obj 68 85 metro 40; +#X obj 68 58 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 112 303 pdp_gain; +#X floatatom 240 518 5 0 0; +#X obj 68 514 pdp_blur; +#X obj 243 499 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 6500 1; +#X floatatom 240 233 5 0 0; +#X obj 243 208 hsl 128 15 0 5 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X floatatom 240 587 5 0 0; +#X obj 243 567 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 5000 1; +#X floatatom 239 307 5 0 0; +#X obj 242 288 hsl 128 15 -5 5 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 8920 1; +#X msg 15 339 reset; +#X obj 68 338 pdp_add; +#X obj 68 243 pdp_gain; +#X text 393 286 a |gain| > 1 ensures regeneration; +#X floatatom 119 56 5 0 0; +#X obj 68 582 pdp_motion_phase; +#X floatatom 133 338 5 0 0; +#X text 392 495 blur ensures spatial coupling (determines the speed +at which "blobs" move around the screen); +#X text 392 565 a motion phase effect to spice it up (this causes local +negative feedback around suddon changes); +#X msg 109 13 40; +#X msg 144 13 1000; +#X msg 146 119 type grey; +#X msg 147 90 type yv12; +#X obj 68 619 pdp_xv; +#X text 393 206 mix in some noise to get it going (set blur to minimal +when starting so the added noise won't be blurred to black); +#X obj 68 363 pdp_del 50; +#X text 242 14 this example is like example03 with a zoom / rotation +object thrown in; +#X obj 68 480 pdp_zrot; +#X floatatom 239 377 5 0 0; +#X obj 242 358 hsl 128 15 0.1 10 1 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 8567 1; +#X floatatom 239 446 5 0 0; +#X obj 242 426 hsl 128 15 0 360 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 300 1; +#X text 393 357 zoom; +#X msg 239 334 1; +#X msg 239 403 0; +#X msg 239 261 1; +#X text 392 420 rotation; +#X connect 0 0 15 0; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 14 1; +#X connect 5 0 18 0; +#X connect 6 0 4 0; +#X connect 6 0 5 1; +#X connect 8 0 7 0; +#X connect 8 0 15 1; +#X connect 10 0 9 0; +#X connect 10 0 18 1; +#X connect 12 0 11 0; +#X connect 12 0 3 1; +#X connect 13 0 28 0; +#X connect 14 0 28 0; +#X connect 15 0 14 0; +#X connect 17 0 1 1; +#X connect 18 0 3 0; +#X connect 18 0 26 0; +#X connect 19 0 28 1; +#X connect 22 0 17 0; +#X connect 23 0 17 0; +#X connect 24 0 0 0; +#X connect 25 0 0 0; +#X connect 28 0 30 0; +#X connect 30 0 5 0; +#X connect 31 0 30 1; +#X connect 32 0 31 0; +#X connect 33 0 30 2; +#X connect 34 0 33 0; +#X connect 36 0 32 0; +#X connect 37 0 34 0; +#X connect 38 0 12 0; diff --git a/doc/examples/example05.pd b/doc/examples/example05.pd new file mode 100644 index 0000000..02bc688 --- /dev/null +++ b/doc/examples/example05.pd @@ -0,0 +1,142 @@ +#N canvas 584 220 538 637 10; +#X obj 10 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 120 117 pdp_grey; +#X obj 435 194 pdp_control; +#X msg 435 167 thread 0; +#X obj 121 224 pdp_reg; +#X floatatom 81 7 5 0 0; +#X msg 35 10 stop; +#X floatatom 187 341 5 0 0; +#X obj 120 410 pdp_zrot; +#X floatatom 188 389 5 0 0; +#X obj 120 453 pdp_blur; +#X floatatom 188 435 5 0 0; +#X obj 120 92 pdp_noise; +#X obj 120 70 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#N canvas 623 175 567 478 nlmap 0; +#X obj 89 138 pdp_affine; +#X msg 123 108 -1; +#X msg 156 108 1; +#X obj 92 161 pdp_mul; +#X obj 95 189 pdp_gain; +#X floatatom 234 159 5 0 0; +#X msg 259 119 3.73; +#X obj 100 272 pdp_affine; +#X msg 134 242 -1; +#X msg 167 242 1; +#X obj 103 295 pdp_mul; +#X obj 106 323 pdp_gain; +#X floatatom 168 299 5 0 0; +#X msg 185 271 3.73; +#X obj 254 54 inlet; +#X obj 79 55 inlet; +#X obj 98 405 outlet; +#X obj 164 60 loadbang; +#X obj 190 84 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 260 220 this computes f(f(image)); +#X text 261 236 with f(x) = k*x*(1-x); +#X text 286 160 k; +#X text 260 253 the logistic map; +#X text 173 353 2 iterations are used to eliminate most of the high +frequency flickering; +#X connect 0 0 3 0; +#X connect 1 0 0 1; +#X connect 2 0 0 2; +#X connect 3 0 4 0; +#X connect 4 0 10 1; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 5 0 12 0; +#X connect 6 0 5 0; +#X connect 7 0 10 0; +#X connect 8 0 7 1; +#X connect 9 0 7 2; +#X connect 10 0 11 0; +#X connect 11 0 16 0; +#X connect 12 0 11 1; +#X connect 13 0 12 0; +#X connect 14 0 5 0; +#X connect 15 0 3 1; +#X connect 15 0 0 0; +#X connect 17 0 18 0; +#X connect 18 0 2 0; +#X connect 18 0 1 0; +#X connect 18 0 6 0; +#X connect 18 0 8 0; +#X connect 18 0 9 0; +#X restore 121 274 pd nlmap; +#X obj 73 576 pdp_xv; +#X floatatom 180 232 5 0 0; +#X text 196 275 2 iterations of the logistic map function; +#X obj 121 143 pdp_mul; +#X obj 297 94 pdp_noise; +#X obj 297 72 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 297 121 pdp_mul; +#X obj 73 521 pdp_saturation; +#X floatatom 166 490 5 0 0; +#X obj 30 36 metro 70; +#X msg 181 206 3.8; +#X msg 186 318 1.17; +#X msg 188 368 -2.33; +#X text 242 341 zoom; +#X text 241 391 rotate; +#X msg 188 414 0.33; +#X text 139 12 feedback with nonlinear mapping + zoom + rotate + blur +; +#X msg 82 -15 40; +#X msg 116 -15 500; +#X text 111 47 grey1; +#X obj 212 119 pdp_grey; +#X obj 212 94 pdp_noise; +#X obj 212 72 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 203 49 grey2; +#X text 287 50 colour1; +#X obj 388 95 pdp_noise; +#X obj 388 73 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 378 51 colour2; +#X msg 238 463 -0.5; +#X msg 282 463 0.5; +#X connect 0 0 24 0; +#X connect 1 0 18 1; +#X connect 1 0 18 0; +#X connect 3 0 2 0; +#X connect 4 0 14 0; +#X connect 5 0 24 1; +#X connect 6 0 24 0; +#X connect 7 0 8 1; +#X connect 8 0 10 0; +#X connect 9 0 8 2; +#X connect 10 0 4 1; +#X connect 11 0 10 1; +#X connect 12 0 1 0; +#X connect 13 0 12 0; +#X connect 14 0 8 0; +#X connect 14 0 22 0; +#X connect 16 0 14 1; +#X connect 18 0 4 0; +#X connect 19 0 21 1; +#X connect 19 0 21 0; +#X connect 20 0 19 0; +#X connect 21 0 4 0; +#X connect 22 0 15 0; +#X connect 23 0 22 1; +#X connect 24 0 4 0; +#X connect 25 0 16 0; +#X connect 26 0 7 0; +#X connect 27 0 9 0; +#X connect 30 0 11 0; +#X connect 32 0 5 0; +#X connect 33 0 5 0; +#X connect 35 0 4 0; +#X connect 36 0 35 0; +#X connect 37 0 36 0; +#X connect 40 0 4 0; +#X connect 41 0 40 0; +#X connect 43 0 23 0; +#X connect 44 0 23 0; diff --git a/doc/examples/example06.pd b/doc/examples/example06.pd new file mode 100644 index 0000000..82de63b --- /dev/null +++ b/doc/examples/example06.pd @@ -0,0 +1,76 @@ +#N canvas 92 197 605 585 10; +#X obj 24 85 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 42 25 stop; +#X msg 80 24 bang; +#X floatatom 122 25 5 0 0; +#X obj 60 485 pdp_xv; +#X obj 60 439 pdp_bq; +#X obj 111 334 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X obj 169 332 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X obj 97 278 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 154 277 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 95 303 lr \$1; +#X msg 150 304 rl \$1; +#X msg 99 350 tb \$1; +#X msg 154 351 bt \$1; +#X obj 392 240 hsl 128 15 0.05 0.5 1 1 empty empty empty -2 -6 0 8 +-262144 -1 -1 3000 1; +#X obj 450 280 hsl 128 15 0.1 10 1 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 1900 1; +#X obj 391 307 t b f; +#X obj 394 345 pack s 0 0; +#X msg 391 378 \$1 \$2 \$3; +#X obj 447 310 t b f; +#X msg 301 199 lpf; +#X msg 333 200 apf; +#X obj 130 198 random 2; +#X obj 195 198 random 2; +#X obj 60 147 pdp_trigger; +#X obj 128 235 random 2; +#X obj 193 235 random 2; +#X obj 60 111 pdp_v4l; +#X obj 301 121 loadbang; +#X obj 60 53 metro 40; +#X text 388 219 frequency; +#X text 447 261 Q; +#X text 312 175 filter type; +#X connect 0 0 27 0; +#X connect 1 0 29 0; +#X connect 2 0 29 0; +#X connect 3 0 29 1; +#X connect 5 0 4 0; +#X connect 6 0 12 0; +#X connect 7 0 13 0; +#X connect 8 0 10 0; +#X connect 9 0 11 0; +#X connect 10 0 5 0; +#X connect 11 0 5 0; +#X connect 12 0 5 0; +#X connect 13 0 5 0; +#X connect 14 0 16 0; +#X connect 15 0 19 0; +#X connect 16 0 17 0; +#X connect 16 1 17 1; +#X connect 17 0 18 0; +#X connect 18 0 5 0; +#X connect 19 0 17 0; +#X connect 19 1 17 2; +#X connect 20 0 17 0; +#X connect 21 0 17 0; +#X connect 22 0 8 0; +#X connect 23 0 9 0; +#X connect 24 0 5 0; +#X connect 24 1 23 0; +#X connect 24 1 22 0; +#X connect 24 1 26 0; +#X connect 24 1 25 0; +#X connect 25 0 6 0; +#X connect 26 0 7 0; +#X connect 27 0 24 0; +#X connect 28 0 20 0; +#X connect 29 0 27 0; diff --git a/doc/examples/example07.pd b/doc/examples/example07.pd new file mode 100644 index 0000000..0c1ca8c --- /dev/null +++ b/doc/examples/example07.pd @@ -0,0 +1,73 @@ +#N canvas 466 98 659 764 10; +#X obj 18 649 pdp_xv; +#X obj 17 58 pdp_noise; +#X obj 16 14 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 17 325 pdp_add; +#X obj 17 277 pdp_gain; +#X obj 87 277 pdp_gain; +#X floatatom 127 238 5 0 0; +#X floatatom 174 238 5 0 0; +#X obj 17 120 pdp_mix; +#X floatatom 96 92 5 0 0; +#X obj 16 35 metro 40; +#X obj 17 87 pdp_grey; +#X msg 96 70 0.8; +#X floatatom 76 212 5 0 0; +#X obj 105 375 pdp_del 1; +#X msg 163 349 1; +#X obj 17 440 pdp_add; +#X obj 105 400 pdp_gain; +#X floatatom 208 382 5 0 0; +#X obj 17 243 pdp_blur; +#X msg 133 69 1; +#X floatatom 76 560 5 0 0; +#X obj 17 591 pdp_blur; +#X obj 18 619 pdp_gain; +#X floatatom 101 594 5 0 0; +#X msg 73 535 0.22; +#X msg 208 358 -0.61; +#X msg 132 214 4.3; +#X msg 178 215 -6.69; +#X msg 76 183 0.32; +#X msg 130 566 4; +#X text 287 386 subtract previous frame (time derivative); +#X text 97 47 some noise to get started; +#X text 235 216 construct a laplace like operator by blurring the image +and subtractiong the original from it; +#X text 371 12 a surface wave patch; +#X floatatom 67 8 5 0 0; +#X connect 1 0 11 0; +#X connect 2 0 10 0; +#X connect 3 0 16 0; +#X connect 4 0 3 0; +#X connect 5 0 3 1; +#X connect 6 0 4 1; +#X connect 7 0 5 1; +#X connect 8 0 5 0; +#X connect 8 0 14 0; +#X connect 8 0 19 0; +#X connect 9 0 8 2; +#X connect 10 0 1 0; +#X connect 11 0 8 0; +#X connect 12 0 9 0; +#X connect 13 0 19 1; +#X connect 14 0 17 0; +#X connect 15 0 14 1; +#X connect 16 0 22 0; +#X connect 16 0 8 1; +#X connect 17 0 16 1; +#X connect 18 0 17 1; +#X connect 19 0 4 0; +#X connect 20 0 9 0; +#X connect 21 0 22 1; +#X connect 22 0 23 0; +#X connect 23 0 0 0; +#X connect 24 0 23 1; +#X connect 25 0 21 0; +#X connect 26 0 18 0; +#X connect 27 0 6 0; +#X connect 28 0 7 0; +#X connect 29 0 13 0; +#X connect 30 0 24 0; +#X connect 35 0 10 1; diff --git a/doc/examples/example08.pd b/doc/examples/example08.pd new file mode 100644 index 0000000..9008ccd --- /dev/null +++ b/doc/examples/example08.pd @@ -0,0 +1,57 @@ +#N canvas 508 53 640 487 10; +#X obj 17 376 pdp_xv; +#X obj 17 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 17 32 metro 40; +#X floatatom 67 8 5 0 0 0 - - -; +#X obj 17 58 pdp_v4l; +#X obj 17 279 pdp_zrot; +#X obj 175 144 unpack 0 0; +#X obj 280 263 * 360; +#X obj 281 240 * 3; +#X msg 140 303 cursor; +#X obj 140 280 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X floatatom 325 226 5 0 0 0 - - -; +#X floatatom 325 249 5 0 0 0 - - -; +#X obj 175 108 route drag; +#X obj 17 231 pdp_mix; +#X floatatom 61 205 5 0 0 0 - - -; +#X obj 17 453 print; +#X obj 17 422 spigot; +#X obj 54 397 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 83 396 print the mouse event messages; +#X floatatom 175 180 5 0 0 0 - - -; +#X floatatom 240 182 5 0 0 0 - - -; +#X text 109 41 using the mouse pointer in an xv window to control a +patch; +#X text 262 108 drag event coordinates mapped to zoom and rotation +; +#X msg 86 178 0.98; +#X msg 47 177 0; +#X connect 0 0 13 0; +#X connect 0 0 17 0; +#X connect 1 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 2 1; +#X connect 4 0 14 0; +#X connect 5 0 0 0; +#X connect 5 0 14 1; +#X connect 6 0 8 0; +#X connect 6 0 20 0; +#X connect 6 1 7 0; +#X connect 6 1 21 0; +#X connect 7 0 5 2; +#X connect 8 0 5 1; +#X connect 9 0 0 0; +#X connect 10 0 9 0; +#X connect 11 0 8 1; +#X connect 12 0 7 1; +#X connect 13 0 6 0; +#X connect 14 0 5 0; +#X connect 15 0 14 2; +#X connect 17 0 16 0; +#X connect 18 0 17 1; +#X connect 24 0 15 0; +#X connect 25 0 15 0; diff --git a/doc/examples/example09.pd b/doc/examples/example09.pd new file mode 100644 index 0000000..2da1b51 --- /dev/null +++ b/doc/examples/example09.pd @@ -0,0 +1,35 @@ +#N canvas 43 348 497 337 10; +#X obj 88 104 pdp_grey2mask; +#X obj 88 148 pdp_gain; +#X obj 88 174 pdp_gain; +#X obj 88 198 pdp_gain; +#X msg 6 130 chanmask 1; +#X msg 6 180 chanmask 4; +#X msg 6 156 chanmask 2; +#X obj 6 103 loadbang; +#X floatatom 208 130 5 0 0; +#X floatatom 208 156 5 0 0; +#X floatatom 208 180 5 0 0; +#X obj 88 234 pdp_xv; +#X obj 88 40 metro 30; +#X obj 88 13 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 88 75 pdp_v4l; +#X text 26 267 a simple colour gradient patch using grey2mask and individual +channel gains (set with the binary chanmask); +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 11 0; +#X connect 4 0 1 0; +#X connect 4 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 2 0; +#X connect 6 0 5 0; +#X connect 7 0 4 0; +#X connect 8 0 1 1; +#X connect 9 0 2 1; +#X connect 10 0 3 1; +#X connect 12 0 14 0; +#X connect 13 0 12 0; +#X connect 14 0 0 0; diff --git a/doc/examples/example10.pd b/doc/examples/example10.pd new file mode 100644 index 0000000..129209d --- /dev/null +++ b/doc/examples/example10.pd @@ -0,0 +1,55 @@ +#N canvas 147 266 497 337 10; +#X obj 88 104 pdp_grey2mask; +#X msg 6 130 chanmask 1; +#X msg 6 186 chanmask 4; +#X msg 6 158 chanmask 2; +#X obj 6 103 loadbang; +#X floatatom 207 130 5 0 0; +#X floatatom 253 130 5 0 0; +#X floatatom 299 130 5 0 0; +#X obj 88 234 pdp_xv; +#X obj 88 40 metro 30; +#X obj 88 13 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 88 75 pdp_v4l; +#X obj 88 148 pdp_cheby3o; +#X floatatom 345 130 5 0 0; +#X floatatom 207 158 5 0 0; +#X floatatom 253 158 5 0 0; +#X floatatom 299 158 5 0 0; +#X obj 88 176 pdp_cheby3o; +#X floatatom 345 158 5 0 0; +#X floatatom 207 186 5 0 0; +#X floatatom 253 186 5 0 0; +#X floatatom 299 186 5 0 0; +#X obj 88 204 pdp_cheby3o; +#X floatatom 345 186 5 0 0; +#X text 26 267 a more complex colour gradient patch using grey2mask +and individual channel chebychev colour shapers (set with the binary +chanmask); +#X connect 0 0 12 0; +#X connect 1 0 3 0; +#X connect 1 0 12 0; +#X connect 1 0 12 0; +#X connect 2 0 22 0; +#X connect 3 0 2 0; +#X connect 3 0 17 0; +#X connect 4 0 1 0; +#X connect 5 0 12 1; +#X connect 6 0 12 2; +#X connect 7 0 12 3; +#X connect 9 0 11 0; +#X connect 10 0 9 0; +#X connect 11 0 0 0; +#X connect 12 0 17 0; +#X connect 13 0 12 4; +#X connect 14 0 17 1; +#X connect 15 0 17 2; +#X connect 16 0 17 3; +#X connect 17 0 22 0; +#X connect 18 0 17 4; +#X connect 19 0 22 1; +#X connect 20 0 22 2; +#X connect 21 0 22 3; +#X connect 22 0 8 0; +#X connect 23 0 22 4; diff --git a/doc/examples/example11.pd b/doc/examples/example11.pd new file mode 100644 index 0000000..c427e9a --- /dev/null +++ b/doc/examples/example11.pd @@ -0,0 +1,80 @@ +#N canvas 210 529 680 275 10; +#N canvas 0 0 450 300 graph1 0; +#X array mapping 64 float 1; +#A 0 0.0916017 -0.201423 -0.477099 -0.711681 -0.884964 -0.982024 -0.9945 +-0.921318 -0.76878 -0.550026 -0.283897 0.00668462 0.296691 0.561142 +0.777261 0.926433 0.995809 0.979413 0.878658 0.702222 0.465302 0.188305 +-0.104911 -0.389091 -0.639758 -0.835322 -0.958937 -0.999957 -0.954848 +-0.827497 -0.628871 -0.37608 -0.0908956 0.202118 0.477722 0.712179 +0.885295 0.982158 0.994426 0.92104 0.768324 0.54943 0.283212 -0.00739881 +-0.297373 -0.561733 -0.777711 -0.926702 -0.995875 -0.979271 -0.87832 +-0.701718 -0.464675 -0.187609 0.105617 0.389745 0.640304 0.835712 0.959139 +0.999952 0.954637 0.827096 0.628316 0.375418; +#X coords 0 1 63 -1 200 140 1; +#X restore 242 21 graph; +#X msg 50 142 approx mapping; +#X obj 20 86 pdp_t; +#X text 235 165 -1 ----------- 0 ----------- 1; +#X obj 50 115 spigot; +#X obj 87 92 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 20 225 pdp_cheby 10; +#X obj 515 138 tabsend~ mapping; +#X obj 515 112 osc~; +#X floatatom 515 65 5 0 0; +#X floatatom 573 64 5 0 0; +#N canvas 0 0 450 300 fblock 0; +#X obj 36 36 inlet; +#X obj 101 35 inlet; +#X obj 42 196 outlet; +#X obj 104 83 samplerate~; +#X obj 59 158 +; +#X obj 103 144 *; +#X obj 103 59 t b b f; +#X text 200 35 fblock: compute block relative frequencies; +#X text 200 79 right inlet is also "active"; +#X text 201 119 main usage is to compute block synchronous frequencies +; +#X text 200 134 for spectral domain processing; +#X text 201 49 out = left + right * (sys samplerate / blocksize); +#X obj 101 115 / 64; +#X connect 0 0 4 0; +#X connect 1 0 6 0; +#X connect 3 0 12 0; +#X connect 4 0 2 0; +#X connect 5 0 4 1; +#X connect 6 0 4 0; +#X connect 6 1 3 0; +#X connect 6 2 5 1; +#X connect 12 0 5 0; +#X restore 515 89 pd fblock; +#X obj 20 40 metro 40; +#X obj 20 62 pdp_v4l; +#X msg 515 37 0.17; +#X text 236 208 send a signal to a table and use this as an intensity +mapping function in pdp_cheby; +#X obj 20 250 pdp_xv; +#X obj 20 15 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X msg 573 36 3; +#X msg 133 207 chanmask \$1; +#X floatatom 133 185 5 0 0; +#X msg 133 165 1; +#X connect 1 0 6 0; +#X connect 2 0 6 0; +#X connect 2 1 4 0; +#X connect 4 0 1 0; +#X connect 5 0 4 1; +#X connect 6 0 16 0; +#X connect 8 0 7 0; +#X connect 9 0 11 0; +#X connect 10 0 11 1; +#X connect 11 0 8 0; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 14 0 9 0; +#X connect 17 0 12 0; +#X connect 18 0 10 0; +#X connect 19 0 6 0; +#X connect 20 0 19 0; +#X connect 21 0 20 0; diff --git a/doc/examples/example12.pd b/doc/examples/example12.pd new file mode 100644 index 0000000..faa2730 --- /dev/null +++ b/doc/examples/example12.pd @@ -0,0 +1,42 @@ +#N canvas 578 52 635 489 10; +#X obj 83 183 metro 40; +#X obj 83 154 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 83 361 pdp_xv; +#X obj 165 299 pdp_loop 50; +#X obj 218 167 f 0; +#X obj 218 198 + 1; +#X obj 218 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 247 140 0; +#X obj 165 361 pdp_xv; +#X msg 165 259 store \$1; +#X obj 83 225 pdp_v4l; +#X msg 29 118 open /dev/video1; +#X floatatom 218 230 5 0 0; +#X obj 312 385 pdp_save_png_sequence 50; +#X obj 312 351 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 29 96 open /dev/video0; +#X text 337 349 <- click to save sequence in /tmp dir; +#X text 247 106 <- click to make a snapshot; +#X text 288 139 <- click to reset recording to loop; +#X text 273 229 <- recorded frame; +#X text 28 27 make loop of snapshots; +#X connect 0 0 10 0; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 3 0 8 0; +#X connect 3 0 13 0; +#X connect 4 0 5 0; +#X connect 5 0 4 1; +#X connect 5 0 9 0; +#X connect 5 0 12 0; +#X connect 6 0 4 0; +#X connect 7 0 4 1; +#X connect 9 0 3 0; +#X connect 10 0 2 0; +#X connect 10 0 3 0; +#X connect 11 0 10 0; +#X connect 14 0 13 0; +#X connect 15 0 11 0; diff --git a/doc/examples/example13.pd b/doc/examples/example13.pd new file mode 100644 index 0000000..369c895 --- /dev/null +++ b/doc/examples/example13.pd @@ -0,0 +1,104 @@ +#N canvas 419 114 799 646 10; +#X obj 450 429 pdp_xv; +#X obj 545 76 pdp_control; +#X msg 545 48 thread \$1; +#X obj 545 24 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X obj 134 40 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X msg 471 397 size 640 480; +#X obj 239 393 +; +#X obj 190 432 vsl 15 128 1 0 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 190 393 -; +#X obj 59 386 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 59 401 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 59 416 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 205 432 vsl 15 128 1 0 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 220 432 vsl 15 128 1 0 0 0 empty empty empty 0 -8 0 8 -262144 +-1 -1 0 1; +#X obj 190 366 unpack f f; +#X obj 62 317 unpack f f; +#X obj 68 360 +; +#X obj 45 360 -; +#X obj 151 264 pack f f; +#X obj 215 265 pack f f; +#X msg 295 77 dim 320 240; +#X obj 134 72 metro 40; +#X msg 294 54 dim 640 480; +#X obj 134 100 pdp_v4l; +#X obj 450 366 pdp_zoom; +#X floatatom 450 308 5 0 0; +#X msg 553 311 centerx \$1; +#X floatatom 553 289 5 0 0; +#X floatatom 636 292 5 0 0; +#X msg 635 310 centery \$1; +#X obj 511 197 unpack f f f f; +#X obj 450 287 min; +#X obj 446 252 expr .5/($f1+.02); +#X obj 572 252 expr .5/($f1+.02); +#X msg 450 339 zoomx \$1 \, zoomy \$1; +#X msg 295 8 open /dev/video0; +#X msg 295 30 open /dev/video1; +#X obj 309 244 pack f f f f; +#X obj 134 156 pdp_diff; +#X text 208 156 <- compute difference between current and previous +frame; +#X obj 134 226 pdp_cog_abs_thresh 0.15; +#X text 331 492 using the blob tracker on a difference signal to detect +motion; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 21 0; +#X connect 5 0 0 0; +#X connect 6 0 13 0; +#X connect 8 0 7 0; +#X connect 14 0 12 0; +#X connect 14 0 8 0; +#X connect 14 0 6 0; +#X connect 14 1 8 1; +#X connect 14 1 6 1; +#X connect 15 0 17 0; +#X connect 15 0 16 0; +#X connect 15 0 10 0; +#X connect 15 1 16 1; +#X connect 15 1 17 1; +#X connect 16 0 11 0; +#X connect 17 0 9 0; +#X connect 18 0 15 0; +#X connect 19 0 14 0; +#X connect 20 0 23 0; +#X connect 21 0 23 0; +#X connect 22 0 23 0; +#X connect 23 0 38 0; +#X connect 24 0 0 0; +#X connect 25 0 34 0; +#X connect 26 0 24 0; +#X connect 27 0 26 0; +#X connect 28 0 29 0; +#X connect 29 0 24 0; +#X connect 30 0 27 0; +#X connect 30 1 32 0; +#X connect 30 2 28 0; +#X connect 30 3 33 0; +#X connect 31 0 25 0; +#X connect 32 0 31 0; +#X connect 33 0 31 1; +#X connect 34 0 24 0; +#X connect 35 0 23 0; +#X connect 36 0 23 0; +#X connect 37 0 30 0; +#X connect 38 0 24 0; +#X connect 38 0 40 0; +#X connect 40 1 18 0; +#X connect 40 1 37 0; +#X connect 40 2 19 0; +#X connect 40 2 37 2; +#X connect 40 3 18 1; +#X connect 40 3 37 1; +#X connect 40 4 19 1; +#X connect 40 4 37 3; diff --git a/doc/examples/example14.pd b/doc/examples/example14.pd new file mode 100644 index 0000000..f29e1b2 --- /dev/null +++ b/doc/examples/example14.pd @@ -0,0 +1,54 @@ +#N canvas 621 348 611 467 10; +#X obj 168 329 pdp_xv; +#X obj 168 78 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 168 142 pdp_v4l; +#X obj 168 108 metro 40; +#X msg 265 83 open /dev/video1; +#X floatatom 311 151 5 0 0; +#X obj 168 194 pdp_agc 0.5; +#X floatatom 310 211 5 0 0; +#X obj 168 245 pdp_contrast 0.5; +#X msg 4 157 chanmask \$1; +#X floatatom 4 133 5 0 0; +#X msg 4 104 1; +#X msg 35 104 3; +#X msg 67 104 5; +#X msg 99 104 7; +#X obj 314 192 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 12300 1; +#X obj 314 132 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 7900 1; +#X msg 265 58 open /dev/video0; +#X floatatom 310 272 5 0 0; +#X obj 314 253 hsl 128 15 0 3 0 1 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X obj 168 298 pdp_saturation 0.5; +#X text 7 79 Y; +#X text 36 78 YCr; +#X text 68 79 YCb; +#X text 98 78 YCrCb; +#X text 25 15 some basic image enhancements; +#X text 13 60 agc color channels; +#X obj 183 166 pdp_flip_lr; +#X connect 1 0 3 0; +#X connect 2 0 27 0; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 6 1; +#X connect 6 0 8 0; +#X connect 7 0 8 1; +#X connect 8 0 20 0; +#X connect 9 0 6 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 13 0 10 0; +#X connect 14 0 10 0; +#X connect 15 0 7 0; +#X connect 16 0 5 0; +#X connect 17 0 2 0; +#X connect 18 0 20 1; +#X connect 19 0 18 0; +#X connect 20 0 0 0; +#X connect 27 0 6 0; diff --git a/doc/examples/example15.pd b/doc/examples/example15.pd new file mode 100644 index 0000000..5301fc0 --- /dev/null +++ b/doc/examples/example15.pd @@ -0,0 +1,27 @@ +#N canvas 632 359 559 496 10; +#X obj 127 57 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 127 81 metro 40; +#X obj 148 57 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 126 110 pdp_v4l; +#X msg 229 56 open /dev/video0; +#X msg 228 80 open /dev/video1; +#X obj 126 151 pdp_motion_fade 1; +#X obj 126 174 pdp_contrast 0.16; +#X obj 126 199 pdp_mul; +#X obj 126 224 pdp_gain 22; +#X text 7 2 using motion_fade \, contrast \, mul and gain to get a +motion triggered effect; +#X obj 126 258 pdp_xv; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 7 0; +#X connect 7 0 8 1; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 11 0; -- cgit v1.2.1