From 7f203c118c84640e736112f3281691cbf1d6e87e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juha=20Vehvil=C3=A4inen?= Date: Tue, 9 Jul 2002 12:49:51 +0000 Subject: *** empty log message *** svn path=/trunk/Framestein/; revision=35 --- Patches/16 example-PeRColate.pd | 96 +++++++++++ Patches/50 example-externals.pd | 342 +++++++++++++++++++++++++++++++++++++ Patches/README.txt | 2 +- Patches/externals-documentation.pd | 342 ------------------------------------- 4 files changed, 439 insertions(+), 343 deletions(-) create mode 100644 Patches/16 example-PeRColate.pd create mode 100644 Patches/50 example-externals.pd delete mode 100644 Patches/externals-documentation.pd diff --git a/Patches/16 example-PeRColate.pd b/Patches/16 example-PeRColate.pd new file mode 100644 index 0000000..4bd278a --- /dev/null +++ b/Patches/16 example-PeRColate.pd @@ -0,0 +1,96 @@ +#N canvas 230 1 792 686 10; +#X obj 11 41 fs.main; +#X msg 11 11 6001; +#X msg 62 12 reset; +#X obj 70 284 fs.frame; +#X obj 70 566 fs.frame; +#X obj 70 476 fs.copy; +#X text 168 301 plugins can also be copy operations; +#X text 69 590 note: 16 bit display is way faster than 24 or 32 in +my machine \, so i recommend trying out which one performs best.; +#X msg 70 61 virvezoom.jpg; +#X obj 70 38 init; +#X obj 199 520 init; +#X msg 199 542 291 x 325 \, 0 + 370; +#X msg 167 349 eclipse02 200 100 50 8 8; +#X msg 178 148 traffic 1 0.8 0.9 0.75 0.51 0.2 0.12 0.1 0.7; +#X msg 179 174 modgain 12 230 50; +#X obj 608 108 r rgbseek_check; +#X floatatom 608 129 5 0 0; +#X text 197 15 PeRColate PLUGINS -- effects and copy operations; +#X msg 178 231 eclipse 200 100 50 8 8; +#X msg 179 61 cga 45 39 168; +#X msg 179 198 rgbavg 12 230 50 1; +#X msg 179 109 rgbseek 100 200 100 50 50 50 rgbseek_check; +#X msg 90 528 virvezoom.jpg; +#X msg 179 84 constrain 160 20 35 255 214 123; +#X text 649 128 result of rgbseek; +#X text 375 83 restrict image color to lie between boundaries; +#X text 298 197 averaging of rgb values (rgbavg ) +; +#X text 299 210 mode :: 1 .. 12 (0 = bypass); +#X text 319 231 produce colored 'patchwork carpet' \; -); +#X text 319 246 (eclipse ); +#X text 293 174 'modulo gain' :: add values to color and calc. mod +255; +#X text 438 107 seek for existance of color; +#X text 197 125 (rgbseek ); +#X text 449 148 tristimulus matrix operation; +#X text 450 161 parameters: 9 matrix values (floats); +#X msg 132 477 bang; +#X msg 25 227 bang; +#X msg 168 432 cutout 16 32 64 128 0; +#X text 304 431 rectangular cutout (cutout +); +#X text 164 475 bang fs.frame to get it processed..; +#X text 375 263 (eclipse03 +); +#X msg 180 263 eclipse03 200 100 50 8 8 0 1 23; +#X msg 168 402 rene 20 153 74 5 0 5 180 25 125; +#X text 366 394 chroma keying with transparency; +#X text 347 323 chroma keying (keyscreen ); +#X text 364 408 (rene + ); +#X msg 168 323 keyscreen 20 153 74 50 50 80; +#X msg 168 374 fromage 8 8 8 8 0; +#X text 280 374 create 'prison bars'; +#X text 325 453 averaging of rgb values (rgbavg ) +; +#X text 326 466 mode :: 1 .. 12 (0 = bypass); +#X text 64 644 get PeRColate at http://www.akustische-kunst.de/puredata/PeRColate +; +#X msg 206 454 rgbavg 12 230 50 9; +#X connect 1 0 0 0; +#X connect 1 0 2 0; +#X connect 2 0 0 1; +#X connect 3 0 5 0; +#X connect 5 0 4 0; +#X connect 8 0 3 0; +#X connect 9 0 8 0; +#X connect 10 0 11 0; +#X connect 11 0 4 0; +#X connect 12 0 5 1; +#X connect 12 0 35 0; +#X connect 13 0 3 0; +#X connect 14 0 3 0; +#X connect 15 0 16 0; +#X connect 18 0 3 0; +#X connect 19 0 3 0; +#X connect 20 0 3 0; +#X connect 21 0 3 0; +#X connect 22 0 4 0; +#X connect 23 0 3 0; +#X connect 35 0 3 0; +#X connect 36 0 3 0; +#X connect 37 0 5 1; +#X connect 37 0 35 0; +#X connect 41 0 3 0; +#X connect 42 0 5 1; +#X connect 42 0 35 0; +#X connect 46 0 5 1; +#X connect 46 0 35 0; +#X connect 47 0 5 1; +#X connect 47 0 35 0; +#X connect 52 0 35 0; +#X connect 52 0 5 1; diff --git a/Patches/50 example-externals.pd b/Patches/50 example-externals.pd new file mode 100644 index 0000000..5204ec2 --- /dev/null +++ b/Patches/50 example-externals.pd @@ -0,0 +1,342 @@ +#N canvas 438 30 547 593 12; +#X text 21 21 Externals for video:; +#N canvas 148 3 736 665 vframe 0; +#X obj 34 275 fs.frame; +#X obj 55 377 vimport; +#X obj 221 427 fs.frame; +#X msg 244 398 320x240; +#X msg 253 178 bang; +#X text 302 176 set vframe to import to; +#X text 26 509 Connect vframe directly to fs.frame to display it with +a bang.; +#X msg 253 206 bang; +#X text 302 198 import image \, and bang vframe again to display it +; +#X obj 150 331 vframe 640 480; +#X msg 34 245 320x240 \, noize \, colortv; +#X text 26 553 Here \, vframe is bigger (640x480) than the two fs.frames +(320x240). This is okay - as long as the fs.frames you import from +and to are of the same size \, the image will be right. If you import +to fs.frame of a different size than the fs.frame you imported from +-> garbage.; +#X msg 349 423 dock vframe \, 330+260; +#X obj 34 220 init; +#X obj 244 373 init; +#X text 17 14 vframe works much like fs.frame \, except the image is +in Pure Data's memory space. This allows converting images to signals +\, for example.; +#X text 16 74 args: width and height.; +#X text 18 103 vframe has no image loading or display functionality. +Images can be imported to and from fs.frame:; +#X connect 0 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 9 0; +#X connect 7 0 0 0; +#X connect 7 0 9 0; +#X connect 9 0 1 1; +#X connect 9 0 2 0; +#X connect 10 0 0 0; +#X connect 12 0 2 0; +#X connect 13 0 10 0; +#X connect 14 0 3 0; +#X restore 64 216 pd vframe; +#X obj 67 122 fs.main; +#X msg 67 86 6001; +#X text 160 215 basic image container; +#N canvas 256 206 618 418 vplugin 0; +#X obj 94 226 vframe; +#X obj 143 156 vplugin; +#X text 13 10 vframe can execute Framestein-plugins. vplugin has the +path to these plugins - open it up \, correct the path \, and try it. +; +#X msg 161 99 noize; +#X msg 218 99 colortv; +#X obj 94 286 fs.frame; +#X msg 201 240 dock vplugin \, 200+235; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 6 0 5 0; +#X restore 64 262 pd vplugin; +#X text 158 261 execute Framestein-plugins; +#N canvas 187 -3 640 677 vcopy 0; +#X obj 87 204 vcopy; +#X msg 240 145 tile \$1; +#X floatatom 240 116 5 0 0; +#X floatatom 240 176 5 0 0; +#X msg 240 201 xbend \$1; +#X obj 87 341 fs.frame; +#X obj 114 61 r vcopyexample; +#X obj 87 129 vref; +#X msg 87 98 bang; +#X floatatom 97 159 5 0 0; +#X msg 167 341 320x240; +#X obj 87 294 vframe 320 240; +#X msg 240 283 xbend \$1 \$2; +#X obj 240 258 pack f f; +#X floatatom 240 233 5 0 0; +#X floatatom 299 233 5 0 0; +#X msg 311 259 bang; +#X obj 386 201 random 320; +#X obj 386 227 random 320; +#X floatatom 386 113 5 0 0; +#X msg 118 379 dock vcopy \, 90+400; +#X text 17 9 Some plugins operate on two images. This is done with +vcopy:; +#X obj 167 315 init; +#X obj 386 139 fps 0.25; +#X connect 0 0 11 0; +#X connect 1 0 0 1; +#X connect 1 0 8 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 0 1; +#X connect 4 0 8 0; +#X connect 6 0 7 1; +#X connect 7 0 0 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 10 0 5 0; +#X connect 11 0 5 0; +#X connect 12 0 0 1; +#X connect 12 0 8 0; +#X connect 13 0 12 0; +#X connect 14 0 13 0; +#X connect 15 0 13 1; +#X connect 15 0 16 0; +#X connect 16 0 13 0; +#X connect 17 0 14 0; +#X connect 18 0 15 0; +#X connect 19 0 23 0; +#X connect 20 0 5 0; +#X connect 22 0 10 0; +#X connect 23 0 17 0; +#X connect 23 0 18 0; +#X restore 64 310 pd vcopy; +#X text 159 309 execute plugins that use two images; +#N canvas 148 7 833 572 vsig~ 0; +#X text 14 9 vsig~: convert image to signal; +#X obj 201 140 vframe; +#X obj 209 182 vsig~; +#X obj 209 446 vsnapshot~; +#X obj 257 185 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 +-1; +#X obj 201 109 vplugin; +#X obj 284 413 vframe; +#X msg 201 75 noize \, colortv; +#X msg 378 99 \; pd dsp 1; +#X obj 209 485 fs.frame; +#X msg 284 387 bang; +#X text 402 204 - image signal; +#X text 403 228 - sync signal; +#X text 403 253 - bang when bottomright of image is reached; +#X text 383 302 vsnapshot~ inlets:; +#X text 382 180 vsig~ outlets:; +#X text 402 330 - image signal; +#X text 403 354 - sync signal; +#X text 403 380 - vframe to write image to; +#X obj 45 289 dac~; +#X floatatom 89 255 5 0 0; +#X text 83 289 sounds great!; +#X obj 45 255 *~ 0; +#X text 14 25 vsnapshot~: convert signal to image; +#X msg 273 102 black; +#X obj 44 370 osc~ 2; +#X obj 44 397 *~ 0; +#X floatatom 86 397 5 0 0; +#X text 100 372 looks great!; +#X floatatom 44 345 5 0 0; +#X msg 44 485 dock vsig~ \, 12+87; +#X obj 378 72 init; +#X obj 284 361 init; +#X connect 1 0 2 0; +#X connect 2 0 22 0; +#X connect 2 0 3 0; +#X connect 2 1 3 1; +#X connect 2 2 4 0; +#X connect 3 0 9 0; +#X connect 5 0 1 0; +#X connect 6 0 3 2; +#X connect 7 0 5 0; +#X connect 10 0 6 0; +#X connect 20 0 22 1; +#X connect 22 0 19 0; +#X connect 22 0 19 1; +#X connect 24 0 5 0; +#X connect 25 0 26 0; +#X connect 26 0 3 0; +#X connect 27 0 26 1; +#X connect 29 0 25 0; +#X connect 30 0 9 0; +#X connect 31 0 8 0; +#X connect 31 0 7 0; +#X connect 32 0 10 0; +#X restore 64 360 pd vsig~ and vsnapshot~; +#X text 161 392 convert image to signal and back; +#N canvas 239 28 735 584 vrgb~ 0; +#X obj 389 140 vframe 320 240; +#X obj 389 171 vsig~; +#X text 9 7 vrgb~: separate red \, green and blue channels; +#X obj 240 239 vimport; +#X obj 181 188 fs.frame; +#X obj 188 77 reset; +#X obj 188 102 t b b b; +#X msg 234 77 bang; +#X msg 277 77 \; pd dsp 1; +#X obj 435 174 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 +-1; +#X obj 389 221 vrgb~; +#X obj 389 345 vsnapshot~; +#X obj 482 327 vframe 320 240; +#X obj 482 277 reset; +#X msg 482 302 bang; +#X obj 389 387 fs.frame; +#X msg 482 379 320x240; +#X obj 427 269 *~ 1; +#X obj 571 88 phasor~ 1; +#X obj 571 112 avg~; +#X obj 571 141 < 0.5; +#X obj 571 166 * -1; +#X obj 616 141 >= 0.5; +#X obj 616 166 * 1; +#X obj 571 191 +; +#X floatatom 571 216 5 0 0; +#X floatatom 571 63 5 0 0; +#X msg 367 429 dock vrgb~ \, 25+300; +#X obj 567 360 s vcopyexample; +#X obj 389 304 vcolor~; +#X obj 389 269 *~ 1; +#X text 8 26 vcolor~: merge red \, green and blue channels; +#X msg 41 152 yska320x240.jpg \, bang; +#X connect 0 0 1 0; +#X connect 0 0 3 1; +#X connect 1 0 10 0; +#X connect 1 1 11 1; +#X connect 1 2 9 0; +#X connect 4 0 3 0; +#X connect 5 0 6 0; +#X connect 5 0 7 0; +#X connect 6 0 0 0; +#X connect 6 1 32 0; +#X connect 6 2 0 0; +#X connect 7 0 6 0; +#X connect 7 0 8 0; +#X connect 7 0 6 0; +#X connect 10 0 30 0; +#X connect 10 1 17 0; +#X connect 11 0 15 0; +#X connect 12 0 11 2; +#X connect 12 0 28 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 14 0 16 0; +#X connect 16 0 15 0; +#X connect 17 0 29 1; +#X connect 18 0 19 0; +#X connect 19 0 22 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 21 0 24 0; +#X connect 22 0 23 0; +#X connect 23 0 24 1; +#X connect 24 0 25 0; +#X connect 25 0 17 1; +#X connect 25 0 30 1; +#X connect 26 0 18 0; +#X connect 27 0 15 0; +#X connect 29 0 11 0; +#X connect 30 0 29 0; +#X connect 32 0 4 0; +#X restore 64 440 pd vrgb~; +#X text 162 439 separate red \, green and blue channels; +#X text 159 144 ... click on "dock" on subpatches.; +#X msg 118 86 reset; +#X msg 339 82 minimizeall; +#X text 159 122 start by clicking reset... and minimizeall; +#N canvas 233 -13 700 660 vframeread~ 0; +#X text 11 7 vframeread~ uses a sync-signal to read the image:; +#X obj 212 308 vframe; +#X obj 161 337 vimport; +#X obj 71 297 fs.frame; +#X obj 71 326 fs.copy; +#X obj 71 353 fs.frame; +#X msg 212 280 bang; +#X obj 212 251 reset; +#X msg 71 116 dock vframeread~ \, 10+100; +#X text 13 47 drop a movie (.avi) here...; +#X text 82 96 click here; +#X obj 361 92 vframeread~; +#X obj 361 312 vsnapshot~; +#X obj 14 307 fps 5; +#X floatatom 53 427 5 0 0; +#X msg 81 270 next \, bang; +#X obj 361 372 fs.frame; +#X msg 361 469 dock vframeread~ \, 330+440; +#X text 380 445 click here; +#X obj 436 287 vframe; +#X obj 436 237 reset; +#X msg 436 262 bang; +#X obj 361 344 vref; +#X floatatom 482 130 5 0 0; +#X obj 482 159 phasor~ 1; +#X obj 491 259 vplugin; +#X msg 491 235 black; +#X text 107 426 set framerate; +#X msg 482 104 14.9; +#X obj 482 79 reset; +#X text 534 130 see how it's done; +#X text 17 595 This gives a better frame-rate \, compromizing the image +quality..; +#X obj 361 204 *~ 1; +#X floatatom 388 179 5 0 0; +#X msg 87 398 25; +#X msg 524 104 25.19; +#X msg 388 152 1; +#X msg 419 152 -1; +#X msg 53 398 15; +#X connect 1 0 2 1; +#X connect 1 0 11 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 6 0 1 0; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 3 0; +#X connect 11 0 32 0; +#X connect 12 0 22 1; +#X connect 13 0 15 0; +#X connect 13 0 5 0; +#X connect 13 0 22 0; +#X connect 14 0 13 0; +#X connect 15 0 3 0; +#X connect 17 0 16 0; +#X connect 19 0 12 2; +#X connect 20 0 21 0; +#X connect 21 0 19 0; +#X connect 22 0 16 0; +#X connect 23 0 24 0; +#X connect 23 0 26 0; +#X connect 24 0 12 1; +#X connect 24 0 11 0; +#X connect 25 0 19 0; +#X connect 26 0 25 0; +#X connect 28 0 23 0; +#X connect 29 0 28 0; +#X connect 32 0 12 0; +#X connect 33 0 32 1; +#X connect 34 0 14 0; +#X connect 35 0 23 0; +#X connect 36 0 33 0; +#X connect 37 0 33 0; +#X connect 38 0 14 0; +#X restore 64 487 pd vframeread~; +#X text 195 486 read image with a sync-signal; +#X obj 339 57 init; +#X text 65 530 vdrawarray is documented on example-vdrawarray.; +#X connect 3 0 2 0; +#X connect 3 0 14 0; +#X connect 14 0 2 1; +#X connect 15 0 2 1; +#X connect 19 0 15 0; diff --git a/Patches/README.txt b/Patches/README.txt index 0fa86fe..bb71e54 100644 --- a/Patches/README.txt +++ b/Patches/README.txt @@ -1 +1 @@ -See externals-documentation.pd in this folder. +Go thru the examples found in this folder. diff --git a/Patches/externals-documentation.pd b/Patches/externals-documentation.pd deleted file mode 100644 index f065834..0000000 --- a/Patches/externals-documentation.pd +++ /dev/null @@ -1,342 +0,0 @@ -#N canvas 438 30 545 591 12; -#X text 21 21 Externals for video:; -#N canvas 148 3 734 663 vframe 0; -#X obj 34 275 fs.frame; -#X obj 55 377 vimport; -#X obj 221 427 fs.frame; -#X msg 244 398 320x240; -#X msg 253 178 bang; -#X text 302 176 set vframe to import to; -#X text 26 509 Connect vframe directly to fs.frame to display it with -a bang.; -#X msg 253 206 bang; -#X text 302 198 import image \, and bang vframe again to display it -; -#X obj 150 331 vframe 640 480; -#X msg 34 245 320x240 \, noize \, colortv; -#X text 17 14 vframe holds memory for a single image and is the basis -of Pure Data-externals-based image handling in Framestein.; -#X text 26 553 Here \, vframe is bigger (640x480) than the two fs.frames -(320x240). This is okay - as long as the fs.frames you import from -and to are of the same size \, the image will be right. If you import -to fs.frame of a different size than the fs.frame you imported from --> garbage.; -#X text 17 109 vframe has no image loading and display functionality. -Images can be imported to and from fs.frame:; -#X msg 349 423 dock vframe \, 330+260; -#X text 16 59 Initialization arguments determine the width and height -of the image \, as in below. Defaults are 176 and 144; -#X obj 34 220 init; -#X obj 244 373 init; -#X connect 0 0 1 0; -#X connect 3 0 2 0; -#X connect 4 0 9 0; -#X connect 7 0 0 0; -#X connect 7 0 9 0; -#X connect 9 0 1 1; -#X connect 9 0 2 0; -#X connect 10 0 0 0; -#X connect 14 0 2 0; -#X connect 16 0 10 0; -#X connect 17 0 3 0; -#X restore 64 216 pd vframe; -#X obj 67 122 fs.main; -#X msg 67 86 6001; -#X text 160 215 basic image container; -#N canvas 256 206 618 418 vplugin 0; -#X obj 94 226 vframe; -#X obj 143 156 vplugin; -#X text 13 10 vframe can execute Framestein-plugins. vplugin has the -path to these plugins - open it up \, correct the path \, and try it. -; -#X msg 161 99 noize; -#X msg 218 99 colortv; -#X obj 94 286 fs.frame; -#X msg 201 240 dock vplugin \, 200+235; -#X connect 0 0 5 0; -#X connect 1 0 0 0; -#X connect 3 0 1 0; -#X connect 4 0 1 0; -#X connect 6 0 5 0; -#X restore 64 262 pd vplugin; -#X text 158 261 execute Framestein-plugins; -#N canvas 187 -3 640 677 vcopy 0; -#X obj 87 204 vcopy; -#X msg 240 145 tile \$1; -#X floatatom 240 116 5 0 0; -#X floatatom 240 176 5 0 0; -#X msg 240 201 xbend \$1; -#X obj 87 341 fs.frame; -#X obj 114 61 r vcopyexample; -#X obj 87 129 vref; -#X msg 87 98 bang; -#X floatatom 97 159 5 0 0; -#X msg 167 341 320x240; -#X obj 87 294 vframe 320 240; -#X msg 240 283 xbend \$1 \$2; -#X obj 240 258 pack f f; -#X floatatom 240 233 5 0 0; -#X floatatom 299 233 5 0 0; -#X msg 311 259 bang; -#X obj 386 201 random 320; -#X obj 386 227 random 320; -#X floatatom 386 113 5 0 0; -#X msg 118 379 dock vcopy \, 90+400; -#X text 17 9 Some plugins operate on two images. This is done with -vcopy:; -#X obj 167 315 init; -#X obj 386 139 fps 0.25; -#X connect 0 0 11 0; -#X connect 1 0 0 1; -#X connect 1 0 8 0; -#X connect 2 0 1 0; -#X connect 3 0 4 0; -#X connect 4 0 0 1; -#X connect 4 0 8 0; -#X connect 6 0 7 1; -#X connect 7 0 0 0; -#X connect 7 0 9 0; -#X connect 8 0 7 0; -#X connect 10 0 5 0; -#X connect 11 0 5 0; -#X connect 12 0 0 1; -#X connect 12 0 8 0; -#X connect 13 0 12 0; -#X connect 14 0 13 0; -#X connect 15 0 13 1; -#X connect 15 0 16 0; -#X connect 16 0 13 0; -#X connect 17 0 14 0; -#X connect 18 0 15 0; -#X connect 19 0 23 0; -#X connect 20 0 5 0; -#X connect 22 0 10 0; -#X connect 23 0 17 0; -#X connect 23 0 18 0; -#X restore 64 310 pd vcopy; -#X text 159 309 execute plugins that use two images; -#N canvas 148 7 833 572 vsig~ 0; -#X text 14 9 vsig~: convert image to signal; -#X obj 201 140 vframe; -#X obj 209 182 vsig~; -#X obj 209 446 vsnapshot~; -#X obj 257 185 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 201 109 vplugin; -#X obj 284 413 vframe; -#X msg 201 75 noize \, colortv; -#X msg 378 99 \; pd dsp 1; -#X obj 209 485 fs.frame; -#X msg 284 387 bang; -#X text 402 204 - image signal; -#X text 403 228 - sync signal; -#X text 403 253 - bang when bottomright of image is reached; -#X text 383 302 vsnapshot~ inlets:; -#X text 382 180 vsig~ outlets:; -#X text 402 330 - image signal; -#X text 403 354 - sync signal; -#X text 403 380 - vframe to write image to; -#X obj 45 289 dac~; -#X floatatom 89 255 5 0 0; -#X text 83 289 sounds great!; -#X obj 45 255 *~ 0; -#X text 14 25 vsnapshot~: convert signal to image; -#X msg 273 102 black; -#X obj 44 370 osc~ 2; -#X obj 44 397 *~ 0; -#X floatatom 86 397 5 0 0; -#X text 100 372 looks great!; -#X floatatom 44 345 5 0 0; -#X msg 44 485 dock vsig~ \, 12+87; -#X obj 378 72 init; -#X obj 284 361 init; -#X connect 1 0 2 0; -#X connect 2 0 22 0; -#X connect 2 0 3 0; -#X connect 2 1 3 1; -#X connect 2 2 4 0; -#X connect 3 0 9 0; -#X connect 5 0 1 0; -#X connect 6 0 3 2; -#X connect 7 0 5 0; -#X connect 10 0 6 0; -#X connect 20 0 22 1; -#X connect 22 0 19 0; -#X connect 22 0 19 1; -#X connect 24 0 5 0; -#X connect 25 0 26 0; -#X connect 26 0 3 0; -#X connect 27 0 26 1; -#X connect 29 0 25 0; -#X connect 30 0 9 0; -#X connect 31 0 8 0; -#X connect 31 0 7 0; -#X connect 32 0 10 0; -#X restore 64 360 pd vsig~ and vsnapshot~; -#X text 161 392 convert image to signal and back; -#N canvas 239 28 735 584 vrgb~ 0; -#X obj 389 140 vframe 320 240; -#X obj 389 171 vsig~; -#X text 9 7 vrgb~: separate red \, green and blue channels; -#X obj 240 239 vimport; -#X obj 181 188 fs.frame; -#X obj 188 77 reset; -#X obj 188 102 t b b b; -#X msg 234 77 bang; -#X msg 277 77 \; pd dsp 1; -#X obj 435 174 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1 --1; -#X obj 389 221 vrgb~; -#X obj 389 345 vsnapshot~; -#X obj 482 327 vframe 320 240; -#X obj 482 277 reset; -#X msg 482 302 bang; -#X obj 389 387 fs.frame; -#X msg 482 379 320x240; -#X obj 427 269 *~ 1; -#X obj 571 88 phasor~ 1; -#X obj 571 112 avg~; -#X obj 571 141 < 0.5; -#X obj 571 166 * -1; -#X obj 616 141 >= 0.5; -#X obj 616 166 * 1; -#X obj 571 191 +; -#X floatatom 571 216 5 0 0; -#X floatatom 571 63 5 0 0; -#X msg 367 429 dock vrgb~ \, 25+300; -#X obj 567 360 s vcopyexample; -#X obj 389 304 vcolor~; -#X obj 389 269 *~ 1; -#X text 8 26 vcolor~: merge red \, green and blue channels; -#X msg 41 152 yska320x240.jpg \, bang; -#X connect 0 0 1 0; -#X connect 0 0 3 1; -#X connect 1 0 10 0; -#X connect 1 1 11 1; -#X connect 1 2 9 0; -#X connect 4 0 3 0; -#X connect 5 0 6 0; -#X connect 5 0 7 0; -#X connect 6 0 0 0; -#X connect 6 1 32 0; -#X connect 6 2 0 0; -#X connect 7 0 6 0; -#X connect 7 0 8 0; -#X connect 7 0 6 0; -#X connect 10 0 30 0; -#X connect 10 1 17 0; -#X connect 11 0 15 0; -#X connect 12 0 11 2; -#X connect 12 0 28 0; -#X connect 13 0 14 0; -#X connect 14 0 12 0; -#X connect 14 0 16 0; -#X connect 16 0 15 0; -#X connect 17 0 29 1; -#X connect 18 0 19 0; -#X connect 19 0 22 0; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 24 0; -#X connect 22 0 23 0; -#X connect 23 0 24 1; -#X connect 24 0 25 0; -#X connect 25 0 17 1; -#X connect 25 0 30 1; -#X connect 26 0 18 0; -#X connect 27 0 15 0; -#X connect 29 0 11 0; -#X connect 30 0 29 0; -#X connect 32 0 4 0; -#X restore 64 440 pd vrgb~; -#X text 162 439 separate red \, green and blue channels; -#X text 159 144 ... click on "dock" on subpatches.; -#X msg 118 86 reset; -#X msg 339 82 minimizeall; -#X text 159 122 start by clicking reset... and minimizeall; -#N canvas 233 -13 700 660 vframeread~ 0; -#X text 11 7 vframeread~ uses a sync-signal to read the image:; -#X obj 212 308 vframe; -#X obj 161 337 vimport; -#X obj 71 297 fs.frame; -#X obj 71 326 fs.copy; -#X obj 71 353 fs.frame; -#X msg 212 280 bang; -#X obj 212 251 reset; -#X msg 71 116 dock vframeread~ \, 10+100; -#X text 13 47 drop a movie (.avi) here...; -#X text 82 96 click here; -#X obj 361 92 vframeread~; -#X obj 361 312 vsnapshot~; -#X obj 14 307 fps 5; -#X floatatom 53 427 5 0 0; -#X msg 81 270 next \, bang; -#X obj 361 372 fs.frame; -#X msg 361 469 dock vframeread~ \, 330+440; -#X text 380 445 click here; -#X obj 436 287 vframe; -#X obj 436 237 reset; -#X msg 436 262 bang; -#X obj 361 344 vref; -#X floatatom 482 130 5 0 0; -#X obj 482 159 phasor~ 1; -#X obj 491 259 vplugin; -#X msg 491 235 black; -#X text 107 426 set framerate; -#X msg 482 104 14.9; -#X obj 482 79 reset; -#X text 534 130 see how it's done; -#X text 17 595 This gives a better frame-rate \, compromizing the image -quality..; -#X obj 361 204 *~ 1; -#X floatatom 388 179 5 0 0; -#X msg 87 398 25; -#X msg 524 104 25.19; -#X msg 388 152 1; -#X msg 419 152 -1; -#X msg 53 398 15; -#X connect 1 0 2 1; -#X connect 1 0 11 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 2 0; -#X connect 6 0 1 0; -#X connect 6 0 5 0; -#X connect 7 0 6 0; -#X connect 8 0 3 0; -#X connect 11 0 32 0; -#X connect 12 0 22 1; -#X connect 13 0 15 0; -#X connect 13 0 5 0; -#X connect 13 0 22 0; -#X connect 14 0 13 0; -#X connect 15 0 3 0; -#X connect 17 0 16 0; -#X connect 19 0 12 2; -#X connect 20 0 21 0; -#X connect 21 0 19 0; -#X connect 22 0 16 0; -#X connect 23 0 24 0; -#X connect 23 0 26 0; -#X connect 24 0 12 1; -#X connect 24 0 11 0; -#X connect 25 0 19 0; -#X connect 26 0 25 0; -#X connect 28 0 23 0; -#X connect 29 0 28 0; -#X connect 32 0 12 0; -#X connect 33 0 32 1; -#X connect 34 0 14 0; -#X connect 35 0 23 0; -#X connect 36 0 33 0; -#X connect 37 0 33 0; -#X connect 38 0 14 0; -#X restore 64 487 pd vframeread~; -#X text 195 486 read image with a sync-signal; -#X obj 339 57 init; -#X text 65 530 vdrawarray is documented on example-vdrawarray.; -#X connect 3 0 2 0; -#X connect 3 0 14 0; -#X connect 14 0 2 1; -#X connect 15 0 2 1; -#X connect 19 0 15 0; -- cgit v1.2.1