- Restruct folder tree

This commit is contained in:
Santi Noreña 2013-02-24 12:45:15 +01:00
parent 39999df6a8
commit 4d31605318
5419 changed files with 527223 additions and 18 deletions

View file

@ -0,0 +1,60 @@
#N canvas 452 108 681 502 12;
#X text 172 376 click on the pix_image object to display the loaded
image with imgview;
#X obj 179 199 gemhead;
#X obj 179 351 pix_draw;
#X text 196 18 display an image using pix_draw;
#X obj 179 227 pix_image ../data/dancer.JPG;
#X obj 179 309 translateXYZ;
#X floatatom 315 261 0 0 0 0 - - -;
#X text 176 177 notice that Z doesn't change the size of the image
;
#X text 62 442 On most machines \, pix_draw is MUCH slower than pix_texture.
However \, pix_draw is easier to use in an example patch.;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 315 284 / 100;
#X floatatom 264 261 0 0 0 0 - - -;
#X obj 264 284 / 100;
#X floatatom 213 261 0 0 0 0 - - -;
#X obj 213 284 / 100;
#X connect 1 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 6 0 13 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 13 0 5 3;
#X connect 14 0 15 0;
#X connect 15 0 5 2;
#X connect 16 0 17 0;
#X connect 17 0 5 1;

View file

@ -0,0 +1,49 @@
#N canvas 411 137 739 504 12;
#X msg 345 170 1;
#X msg 345 202 0;
#X obj 278 200 gemhead;
#X msg 344 133 2;
#X text 206 104 select one of the three images to display;
#X text 154 29 display images use pix_multiimage;
#X obj 278 255 pix_multiimage ../data/temp*.JPG 2;
#X obj 20 209 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 253 pd gemwin;
#X msg 25 229 create;
#X text 21 209 Create window and render;
#X obj 278 313 pix_texture;
#X obj 278 335 square 3;
#X connect 0 0 6 1;
#X connect 1 0 6 1;
#X connect 2 0 6 0;
#X connect 3 0 6 1;
#X connect 6 0 11 0;
#X connect 8 0 9 0;
#X connect 9 0 8 0;
#X connect 11 0 12 0;

View file

@ -0,0 +1,64 @@
#N canvas 314 61 654 599 12;
#X msg 489 227 1;
#X msg 489 259 0;
#X obj 375 254 gemhead;
#X msg 488 190 2;
#X text 254 156 select one of the three images to display;
#X obj 375 308 pix_imageInPlace;
#X msg 121 288 download;
#X msg 124 318 purge;
#X obj 375 367 square;
#X text 206 20 display images use pix_imageInPlace;
#X text 64 389 pix_imageInPlace is slightly different than pix_multiimage.
When you select an image to display with pix_multiimage \, it copies
over the image data to the pix_buffer \, which is then used by pix_texture.
;
#X text 62 451 This is potentially slow if you are trying to change
between a lot of images \, but it doesn't use a lot of texture ram.
;
#X text 62 503 pix_imageInPlace sends all of the image data to texture
RAM when the preload message is received. This means that you cannot
process any of the pixel data \, but it is extremely quick to change
between the various images.;
#X msg 119 255 preload ../data/temp*.JPG 2;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 5 1;
#X connect 1 0 5 1;
#X connect 2 0 5 0;
#X connect 3 0 5 1;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 13 0 5 0;
#X connect 15 0 16 0;
#X connect 16 0 15 0;

View file

@ -0,0 +1,121 @@
#N canvas 61 44 827 553 12;
#X obj 90 186 gemhead;
#X floatatom 220 155 5 0 0 0 - - -;
#X msg 150 156 auto \$1;
#X obj 150 137 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X floatatom 124 261 5 0 0 0 - - -;
#X msg 197 392 -1 -2 -1 -2 8 -2 1 -2 1;
#X obj 90 467 pix_convolve 3 3;
#X text 472 233 load and play-back a movie;
#X text 368 28 win32:;
#X text 212 134 frame;
#N canvas 243 65 604 505 README 0;
#X text 49 38 the pix_film is the same as pix_movie but does not texture
the movie immediately onto a Geo.;
#X text 50 77 therefore it is possible to manipulate the frames;
#X text 48 106 the pix_film object will return the movie in it's (more
or less) native color-space. most of the times \, this will probably
be not RGBA but RGB or BGR (on windows machines).;
#X text 48 153 do not worry about this. however \, most of the pix-manips
will only work correctly on RGBA-pixes. if this is the case and you
send it a non-RGBA pixture it will say something like "pix_object cannot
handle gray image".;
#X text 49 226 to avoid this \, you can convert your pix-buff to RGBA
using "pix_rgba". this will be a no-cost operation if the pix_buf already
is in RGBA.;
#X text 36 334 you might notice a significant performance-enhancement
by just turning the [pix_rgba] off (via the toggle). however \, not
[pix_rgba] is expensive but actually the [pix_convolve] (which appears to do
nothing when initialized with "0 0 0 0 1 0 0 0 0". When [pix_rgba]
is "off" \, the [pix_convolve] will be bypassed \, and therefore be
very fast.;
#X restore 635 187 pd README;
#X obj 90 573 square 4;
#X obj 90 233 pix_film;
#X floatatom 149 547 5 0 0 0 - - -;
#X msg 393 48 open ../data/homer.avi;
#X msg 386 111 open ../data/anim-1.mov;
#X msg 391 156 open ../data/alea.mpg;
#X text 247 502 you have to texture the movie by hand;
#X text 256 466 manipulate the movie (expensive!);
#X text 26 10 load \, play and manipulate digital videos;
#X text 423 397 edge detection;
#X msg 230 424 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125
;
#X text 715 422 smoothing;
#X obj 289 252 t f;
#X obj 197 368 loadbang;
#X obj 110 439 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X obj 90 500 pix_texture;
#X obj 20 49 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 93 pd gemwin;
#X msg 25 69 create;
#X text 21 49 Create window and render;
#X text 358 91 linux \, os-X:;
#X text 363 140 linux \, ??:;
#X obj 345 181 t a;
#X msg 410 207 open \$1;
#X obj 410 185 symbol;
#X obj 471 185 openpanel;
#X obj 563 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 90 309 pix_rgba;
#X text 178 289 transform the movie into RGBA-space (if the image is
not RGBA \, [pix_convolve] might not be able to process the image and
therefore will do nothing \, which will dramatically "increase" performance)
;
#X connect 0 0 12 0;
#X connect 1 0 12 1;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 5 0 6 2;
#X connect 6 0 26 0;
#X connect 12 0 38 0;
#X connect 12 1 4 0;
#X connect 12 2 23 0;
#X connect 13 0 11 1;
#X connect 14 0 33 0;
#X connect 15 0 33 0;
#X connect 16 0 33 0;
#X connect 21 0 6 2;
#X connect 23 0 12 1;
#X connect 24 0 5 0;
#X connect 25 0 6 0;
#X connect 26 0 11 0;
#X connect 28 0 29 0;
#X connect 29 0 28 0;
#X connect 33 0 12 0;
#X connect 34 0 33 0;
#X connect 35 0 34 0;
#X connect 36 0 35 0;
#X connect 37 0 36 0;
#X connect 38 0 6 0;

View file

@ -0,0 +1,89 @@
#N canvas 133 25 637 554 12;
#X obj 157 59 gemhead;
#X floatatom 336 167 0 0 0 0 - - -;
#X obj 157 385 rotateXYZ;
#X obj 157 437 cube;
#X floatatom 224 359 0 0 0 0 - - -;
#X obj 224 310 metro 50;
#X obj 203 412 translateXYZ 2 1 0;
#X obj 203 438 cube;
#X obj 157 201 pix_movie;
#X text 377 167 control which frame;
#X text 256 436 automatically textures;
#X obj 177 238 print frames;
#X msg 287 25 open ../data/homer.avi;
#X obj 224 290 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X obj 325 282 print done;
#X msg 336 135 auto \$1;
#X obj 336 116 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X text 43 486 the texturing is done automatically: there is no need
to care for the image-size (it doesn't have to be a power of 2). on
the other hand \, you cannot do image-processing !! use [pix_film]
for this;
#X msg 325 259 reached the end !!!;
#X obj 293 235 t f b;
#X text 449 13 Win32;
#X text 461 73 linux;
#X msg 297 56 open ../data/anim-1.mov;
#X msg 307 87 open ../data/alea.mpg;
#X text 8 264 notice: you don't need pix_texture;
#X text 406 131 play the movie !;
#X obj 224 335 i;
#X obj 259 335 + 1;
#X obj 295 335 % 360;
#X text 471 42 apple;
#X obj 505 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 142 68 set create;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 234 221 dimen 500 500;
#X msg 279 189 dimen 1024 768;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 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 restore 510 453 pd gemwin;
#X msg 510 430 create;
#X text 506 413 Create window:;
#X connect 0 0 8 0;
#X connect 1 0 8 1;
#X connect 2 0 3 0;
#X connect 2 0 6 0;
#X connect 4 0 2 2;
#X connect 4 0 2 3;
#X connect 5 0 26 0;
#X connect 6 0 7 0;
#X connect 8 0 2 0;
#X connect 8 1 11 0;
#X connect 8 2 19 0;
#X connect 12 0 8 0;
#X connect 13 0 5 0;
#X connect 15 0 8 0;
#X connect 16 0 15 0;
#X connect 18 0 14 0;
#X connect 19 0 8 1;
#X connect 19 1 18 0;
#X connect 22 0 8 0;
#X connect 23 0 8 0;
#X connect 26 0 27 0;
#X connect 26 0 4 0;
#X connect 27 0 28 0;
#X connect 28 0 26 1;
#X connect 31 0 32 0;
#X connect 32 0 31 0;

View file

@ -0,0 +1,88 @@
#N canvas 183 99 635 638 12;
#X obj 179 176 gemhead;
#X obj 179 587 pix_texture;
#X msg 291 536 1 0 0;
#X obj 179 612 square 3;
#X floatatom 329 238 0 -10 250 0 - - -;
#X obj 420 434 t b f;
#X obj 420 408 + 40;
#X obj 342 420 + 40;
#X text 372 182 the position;
#X text 433 539 the color;
#X obj 291 513 loadbang;
#X obj 179 204 pix_image ../data/fractal.JPG;
#X obj 329 308 t f f;
#X obj 380 308 t f f;
#X text 375 241 x-pos;
#X text 423 269 y-pos;
#X floatatom 466 304 0 -50 250 0 - - -;
#X text 512 307 width;
#X text 560 335 height;
#X obj 466 374 t b f;
#X obj 517 374 t b f;
#X obj 342 443 t b f;
#X floatatom 380 271 0 -10 250 0 - - -;
#X floatatom 517 333 0 -50 250 0 - - -;
#X msg 373 538 0 1 0;
#X obj 235 488 pack 0 0 40 40;
#X obj 179 561 pix_rectangle;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X text 118 26 draw a rectangle onto an image;
#X connect 0 0 11 0;
#X connect 1 0 3 0;
#X connect 2 0 26 2;
#X connect 4 0 12 0;
#X connect 5 0 25 0;
#X connect 5 1 25 3;
#X connect 6 0 5 0;
#X connect 7 0 21 0;
#X connect 10 0 2 0;
#X connect 11 0 26 0;
#X connect 12 0 25 0;
#X connect 12 1 7 0;
#X connect 13 0 6 0;
#X connect 13 1 25 1;
#X connect 16 0 19 0;
#X connect 19 0 7 0;
#X connect 19 1 7 1;
#X connect 20 0 6 0;
#X connect 20 1 6 1;
#X connect 21 0 25 0;
#X connect 21 1 25 2;
#X connect 22 0 13 0;
#X connect 23 0 20 0;
#X connect 24 0 26 2;
#X connect 25 0 26 1;
#X connect 26 0 1 0;
#X connect 28 0 29 0;
#X connect 29 0 28 0;

View file

@ -0,0 +1,69 @@
#N canvas 243 272 754 536 10;
#X obj 143 110 gemhead;
#X text 99 37 ========;
#X msg 149 366 quality 0;
#X obj 143 409 square 2;
#X obj 149 343 loadbang;
#X text 101 487 maybe have a look at;
#X text 101 24 pix_set;
#X text 246 23 set the pixles of the image;
#X msg 279 165 rgb;
#X msg 279 141 rgba;
#X msg 279 189 grey;
#X msg 229 108 0 0.8 0 0 0.9 0 0.1 0 1 1 1 10;
#X msg 268 227 set 2 4;
#X text 461 109 a list of pixel-values;
#X text 331 163 interpret the list as;
#X text 514 136 r1 g1 b1 a1 r2 g2 b2 a2 r3...;
#X text 512 165 r1 g1 b1 r2 g2 b2 r3...;
#X text 512 194 grey1 grey2 grey3...;
#X text 507 236 set the imagesize to "X Y";
#X text 306 317 creation arguments :: [X Y] of the image buffer;
#X msg 265 249 set 1 1;
#X text 253 487 [pix_dump];
#X obj 143 243 pix_set 64 64;
#X obj 143 387 pix_texture;
#X obj 450 389 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 455 433 pd gemwin;
#X msg 455 409 create;
#X text 451 389 Create window and render;
#X connect 0 0 22 0;
#X connect 2 0 23 0;
#X connect 4 0 2 0;
#X connect 8 0 22 0;
#X connect 9 0 22 0;
#X connect 10 0 22 0;
#X connect 11 0 22 1;
#X connect 12 0 22 0;
#X connect 20 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 3 0;
#X connect 25 0 26 0;
#X connect 26 0 25 0;

View file

@ -0,0 +1,64 @@
#N canvas 53 47 761 536 10;
#X obj 143 110 gemhead;
#X obj 143 203 pix_dump;
#X text 101 24 pix_dump;
#X text 99 37 ========;
#X msg 369 184 bang;
#X obj 143 387 pix_texture;
#X msg 149 366 quality 0;
#X obj 143 409 square 2;
#X obj 149 343 loadbang;
#X text 412 184 trigger the pix_dump;
#X text 246 24 dump the pixels of the image;
#X obj 194 254 print dump;
#X text 297 265 this produces an output like;
#X text 292 285 "r1 g1 b1 a1 r2 g2 b2 a2 r3 ...";
#X text 292 302 (r=red \; g=green \; b=blue \; a=alpha);
#X obj 474 371 repack;
#X text 278 369 maybe you would like to use;
#X text 525 373 (part of zexy);
#X text 275 389 to excerpt pixel information out of this;
#X text 101 487 maybe have a look at;
#X obj 250 487 pix_set;
#X obj 455 54 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 460 98 pd gemwin;
#X msg 460 74 create;
#X text 456 54 Create window and render;
#X obj 143 135 pix_image ../data/blob2.tif;
#X connect 0 0 25 0;
#X connect 1 0 5 0;
#X connect 1 1 11 0;
#X connect 4 0 1 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 8 0 6 0;
#X connect 22 0 23 0;
#X connect 23 0 22 0;
#X connect 25 0 1 0;

View file

@ -0,0 +1,89 @@
#N canvas 0 0 764 557 10;
#N canvas 412 247 681 394 tables 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array red 256 float 0;
#X coords 0 1 255 0 256 140 1;
#X restore 95 30 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array green 256 float 0;
#X coords 0 1 255 0 256 140 1;
#X restore 399 29 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array blue 256 float 0;
#X coords 0 1 255 0 256 140 1;
#X restore 98 214 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array alpha 64 float 0;
#X coords 0 1 63 0 256 140 1;
#X restore 396 212 graph;
#X restore 379 211 pd tables;
#X obj 34 192 gemhead;
#X obj 34 476 pix_texture;
#N canvas 0 0 450 300 (subpatch) 0;
#X array rgb 64 float 0;
#X coords 0 1 63 0 256 140 1;
#X restore 287 53 graph;
#X text 78 8 pix_curve: adjust the colour of an image;
#X text 451 213 separate tables for r \, g \, b and a;
#X msg 185 192 1;
#X msg 155 192 0;
#X msg 214 192 2;
#X obj 34 497 square 3;
#X msg 95 289 set red green blue alpha;
#X msg 99 325 set red green blue;
#X msg 99 365 set rgb;
#X obj 34 395 pix_histo rgb;
#X msg 564 57 \; rgb resize 32;
#X msg 565 93 \; rgb resize 64;
#X msg 564 135 \; rgb normalize 1;
#X obj 300 367 pix_histo rgb;
#X obj 303 328 pix_histo red green blue;
#X obj 302 288 pix_histo red green blue alpha;
#X text 313 388 one histogramm for all channels (making grey out of
rgb);
#X text 326 346 histograms for r \, g \, b;
#X text 337 306 histograms for r \, g \, b \, a;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 34 217 pix_multiimage ../data/temp*.JPG 2;
#X connect 1 0 27 0;
#X connect 2 0 9 0;
#X connect 6 0 27 1;
#X connect 7 0 27 1;
#X connect 8 0 27 1;
#X connect 10 0 13 0;
#X connect 11 0 13 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 24 0 25 0;
#X connect 25 0 24 0;
#X connect 27 0 13 0;

View file

@ -0,0 +1,90 @@
#N canvas 284 93 594 539 10;
#X obj 46 186 gemwin;
#X obj 319 173 gemhead;
#X obj 258 329 pix_data;
#X msg 244 103 1;
#X msg 243 128 0;
#X msg 87 48 create;
#X msg 114 104 destroy;
#X msg 319 143 bang;
#X msg 205 103 bang;
#X obj 205 73 t b b;
#X msg 205 54 bang;
#X obj 233 422 translateXYZ;
#X obj 233 360 gemhead;
#X obj 233 449 color;
#X obj 233 200 t b b b b;
#X obj 369 328 * 6;
#X obj 444 328 * 6;
#X obj 444 348 - 3;
#X obj 369 348 - 3;
#X msg 348 42 1;
#X msg 391 42 0;
#X obj 84 302 world_light;
#X obj 84 274 gemhead;
#X obj 348 93 metro 5;
#X obj 233 478 sphere 0.1;
#X text 79 13 click here to begin;
#X text 320 18 turn on/off the metro;
#X obj 319 202 pix_image ../data/fractal.JPG;
#N canvas 95 194 290 179 Gem.init 0;
#X obj 118 18 loadbang;
#X msg 201 78 reset;
#X obj 118 113 outlet;
#X obj 118 45 t b b;
#X msg 118 79 lighting 1;
#X msg 22 77 buffer 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X restore 25 153 pd Gem.init;
#X text 93 34 1;
#X text 209 38 2;
#X obj 337 253 random 1000;
#X obj 337 270 / 1000;
#X obj 337 288 t f f;
#X obj 419 253 random 1000;
#X obj 419 270 / 1000;
#X obj 419 288 t f f;
#X connect 1 0 27 0;
#X connect 2 1 13 1;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 1 0;
#X connect 8 0 0 0;
#X connect 9 0 7 0;
#X connect 9 0 8 0;
#X connect 9 1 3 0;
#X connect 10 0 9 0;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 24 0;
#X connect 14 0 12 0;
#X connect 14 1 2 0;
#X connect 14 1 22 0;
#X connect 14 2 31 0;
#X connect 14 3 34 0;
#X connect 15 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 11 2;
#X connect 18 0 11 1;
#X connect 19 0 23 0;
#X connect 20 0 23 0;
#X connect 22 0 21 0;
#X connect 23 0 14 0;
#X connect 27 0 2 1;
#X connect 28 0 0 0;
#X connect 31 0 32 0;
#X connect 32 0 33 0;
#X connect 33 0 2 2;
#X connect 33 1 15 0;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 36 0 2 3;
#X connect 36 1 16 0;

View file

@ -0,0 +1,117 @@
#N canvas 331 86 929 574 10;
#X obj 30 159 gemwin;
#X obj 372 135 gemhead;
#X obj 372 164 pix_image ../data/fractal.JPG;
#X obj 285 311 pix_data;
#X msg 183 110 1;
#X msg 218 110 0;
#X msg 48 37 create;
#X msg 49 87 destroy;
#X msg 372 105 bang;
#X msg 138 111 bang;
#X obj 214 61 t b b;
#X msg 214 36 bang;
#X obj 206 400 translateXYZ;
#X obj 206 338 gemhead;
#X obj 206 436 color;
#X obj 266 205 t b b b b;
#X obj 443 313 * 6;
#X obj 443 339 - 3;
#X obj 385 341 - 3;
#X msg 292 30 1;
#X msg 325 30 0;
#X obj 84 320 world_light;
#X obj 84 274 gemhead;
#X obj 206 471 rotate 1 1 1;
#X obj 337 397 * 90;
#X obj 292 114 metro 5;
#X obj 485 313 pix_data;
#X obj 501 237 gemhead;
#N canvas 99 214 290 179 Gem.init 0;
#X obj 118 18 loadbang;
#X msg 215 80 reset;
#X obj 118 113 outlet;
#X obj 118 45 t b b;
#X msg 118 79 lighting 1;
#X msg 34 80 buffer 1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 3 1 1 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X restore 30 125 pd Gem.init;
#X text 53 22 1;
#X text 217 19 2;
#X obj 336 236 random 1000;
#X obj 336 254 / 1000;
#X obj 336 272 t f f;
#X obj 418 236 random 1000;
#X obj 418 254 / 1000;
#X obj 418 272 t f f;
#X floatatom 385 366 5 0 0 0 - - -;
#X floatatom 443 366 5 0 0 0 - - -;
#X obj 385 314 * 6;
#X floatatom 341 429 5 0 0 0 - - -;
#X obj 206 506 cube 0;
#X msg 500 197 bang;
#X obj 501 272 pix_image ../data/dancer.JPG;
#X floatatom 537 423 5 0 0 0 - - -;
#X obj 537 473 * 0.2;
#X obj 537 369 f;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 1 14 1;
#X connect 3 2 24 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X connect 8 0 27 0;
#X connect 9 0 0 0;
#X connect 10 0 8 0;
#X connect 10 0 9 0;
#X connect 10 1 4 0;
#X connect 11 0 10 0;
#X connect 12 0 14 0;
#X connect 13 0 12 0;
#X connect 14 0 23 0;
#X connect 15 0 13 0;
#X connect 15 1 3 0;
#X connect 15 1 22 0;
#X connect 15 1 26 0;
#X connect 15 2 31 0;
#X connect 15 3 34 0;
#X connect 16 0 17 0;
#X connect 17 0 12 2;
#X connect 17 0 38 0;
#X connect 18 0 12 1;
#X connect 18 0 37 0;
#X connect 19 0 25 0;
#X connect 20 0 25 0;
#X connect 22 0 21 0;
#X connect 23 0 41 0;
#X connect 24 0 23 1;
#X connect 24 0 40 0;
#X connect 25 0 15 0;
#X connect 26 1 46 0;
#X connect 27 0 43 0;
#X connect 28 0 0 0;
#X connect 31 0 32 0;
#X connect 32 0 33 0;
#X connect 33 0 3 2;
#X connect 33 0 26 2;
#X connect 33 1 39 0;
#X connect 34 0 35 0;
#X connect 35 0 36 0;
#X connect 36 0 3 3;
#X connect 36 0 26 3;
#X connect 36 1 16 0;
#X connect 39 0 18 0;
#X connect 42 0 27 0;
#X connect 43 0 26 1;
#X connect 44 0 45 0;
#X connect 45 0 41 1;
#X connect 46 0 44 0;

View file

@ -0,0 +1,52 @@
#N canvas 542 198 681 468 10;
#X obj 270 175 pix_image ../data/dancer.JPG;
#X obj 270 342 pix_texture;
#X obj 270 383 square;
#X msg 329 364 3;
#X obj 369 209 gemhead 20;
#X obj 270 142 gemhead;
#X msg 370 141 open ../data/dancer.JPG;
#X obj 369 232 pix_image ../data/fractal.JPG;
#X obj 270 282 pix_add;
#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 123 pd gemwin;
#X msg 25 106 create;
#X text 21 79 Create window and render;
#X text 135 60 blending \, using pixel addition;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 3 0 2 1;
#X connect 4 0 7 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 7 0 8 1;
#X connect 8 0 1 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;

View file

@ -0,0 +1,173 @@
#N canvas 138 0 775 371 10;
#X obj 254 305 pix_texture;
#X obj 290 112 gemhead 20;
#X obj 254 65 gemhead;
#X text 257 30 various methods for blending images;
#N canvas 165 295 561 386 blending 0;
#X obj 28 65 inlet;
#X obj 191 354 outlet;
#X obj 173 285 inlet;
#X obj 320 8 inlet;
#X obj 28 322 pix_composite;
#X obj 129 323 pix_add;
#X obj 285 322 pix_diff;
#X obj 191 322 pix_subtract;
#X obj 28 227 pix_alpha;
#N canvas 445 182 508 174 select 0;
#X obj 88 35 inlet;
#X msg 88 98 1;
#X msg 144 98 2;
#X msg 201 97 3;
#X msg 257 97 0;
#X obj 88 121 outlet;
#X msg 329 100 4;
#X obj 88 59 select pix_add pix_subtract pix_diff pix_composite pix_multiply
;
#X connect 0 0 7 0;
#X connect 1 0 5 0;
#X connect 2 0 5 0;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 6 0 5 0;
#X connect 7 0 1 0;
#X connect 7 1 2 0;
#X connect 7 2 3 0;
#X connect 7 3 4 0;
#X connect 7 4 6 0;
#X restore 350 82 pd select blending method;
#X obj 360 324 pix_multiply;
#N canvas 172 373 450 300 demux5 0;
#X obj 59 30 inlet;
#X obj 283 17 inlet;
#X obj 59 193 outlet;
#X obj 59 137 spigot;
#X obj 96 109 == 0;
#X obj 106 137 spigot;
#X obj 153 139 spigot;
#X obj 200 137 spigot;
#X obj 246 137 spigot;
#X obj 143 109 == 1;
#X obj 190 109 == 2;
#X obj 237 109 == 3;
#X obj 283 109 == 4;
#X obj 96 83 loadbang;
#X obj 59 52 t a a a a a;
#X obj 106 194 outlet;
#X obj 153 195 outlet;
#X obj 200 196 outlet;
#X obj 246 195 outlet;
#X obj 283 61 f;
#X connect 0 0 14 0;
#X connect 1 0 19 0;
#X connect 3 0 2 0;
#X connect 4 0 3 1;
#X connect 5 0 15 0;
#X connect 6 0 16 0;
#X connect 7 0 17 0;
#X connect 8 0 18 0;
#X connect 9 0 5 1;
#X connect 10 0 6 1;
#X connect 11 0 7 1;
#X connect 12 0 8 1;
#X connect 13 0 4 0;
#X connect 14 0 3 0;
#X connect 14 1 5 0;
#X connect 14 2 6 0;
#X connect 14 3 7 0;
#X connect 14 4 8 0;
#X connect 19 0 4 0;
#X connect 19 0 9 0;
#X connect 19 0 10 0;
#X connect 19 0 11 0;
#X connect 19 0 12 0;
#X restore 28 189 pd demux5;
#X obj 320 28 t b a;
#X obj 28 129 pix_buf;
#X text 26 39 pix1;
#X text 176 269 pix2;
#X obj 350 56 symbol;
#X text 99 232 we need an alpha componenct for 'composite';
#X text 85 115 [pix_add] and friends will overwrite the original (left)
image with the blend. [pix_buf] holds a local copy of the original
image and will refresh the output when banged.;
#X connect 0 0 13 0;
#X connect 2 0 5 1;
#X connect 2 0 4 1;
#X connect 2 0 7 1;
#X connect 2 0 6 1;
#X connect 2 0 10 1;
#X connect 3 0 12 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 1 0;
#X connect 7 0 1 0;
#X connect 8 0 4 0;
#X connect 9 0 11 1;
#X connect 10 0 1 0;
#X connect 11 0 8 0;
#X connect 11 1 5 0;
#X connect 11 2 7 0;
#X connect 11 3 6 0;
#X connect 11 4 10 0;
#X connect 12 0 13 0;
#X connect 12 1 16 0;
#X connect 13 0 11 0;
#X connect 16 0 9 0;
#X restore 254 250 pd blending;
#X obj 254 328 square 3;
#X text 461 210 additive blending (likely to get white);
#X text 461 231 subtractive blending (likely to get black);
#X text 467 184 alpha blending;
#X msg 367 281 pix_multiply;
#X msg 368 256 pix_diff;
#X msg 366 232 pix_subtract;
#X msg 366 207 pix_add;
#X msg 367 184 pix_composite;
#X text 469 281 multiply 2 images together;
#X obj 254 87 pix_image ../data/dancer.JPG;
#X obj 290 136 pix_image ../data/fractal.JPG;
#X text 465 259 difference;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 5 0;
#X connect 1 0 16 0;
#X connect 2 0 15 0;
#X connect 4 0 0 0;
#X connect 9 0 4 2;
#X connect 10 0 4 2;
#X connect 11 0 4 2;
#X connect 12 0 4 2;
#X connect 13 0 4 2;
#X connect 15 0 4 0;
#X connect 16 0 4 1;
#X connect 19 0 20 0;
#X connect 20 0 19 0;

View file

@ -0,0 +1,54 @@
#N canvas 246 168 681 468 10;
#X obj 270 175 pix_image ../data/dancer.JPG;
#X obj 270 338 pix_texture;
#X obj 270 379 square;
#X msg 329 360 3;
#X obj 270 278 pix_composite;
#X obj 369 209 gemhead 20;
#X obj 270 142 gemhead;
#X obj 270 207 pix_alpha;
#X msg 370 141 open ../data/dancer.JPG;
#X obj 369 244 pix_image ../data/fractal.JPG;
#X text 135 60 blending \, using the alpha-mask;
#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 123 pd gemwin;
#X msg 25 105 create;
#X text 21 79 Create window and render;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 9 0;
#X connect 6 0 0 0;
#X connect 7 0 4 0;
#X connect 8 0 0 0;
#X connect 9 0 4 1;
#X connect 12 0 13 0;
#X connect 13 0 12 0;

View file

@ -0,0 +1,55 @@
#N canvas 58 175 600 500 10;
#X obj 288 247 pix_image ../data/dancer.JPG;
#X obj 270 153 gemhead;
#X obj 270 188 pix_image ../data/fractal.JPG;
#X obj 288 214 gemhead 20;
#X obj 270 278 pix_multiply;
#X text 296 84 multiply two images together;
#X text 270 116 the dancer image is just black and white;
#X text 104 25 blending \, using multiplication;
#X obj 270 318 pix_texture;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 689 152 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X msg 27 83 color 1 1 1 0;
#X obj 66 65 t b b;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 270 379 square 3;
#X connect 0 0 4 1;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 8 0;
#X connect 8 0 13 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;

View file

@ -0,0 +1,55 @@
#N canvas 4 20 600 500 10;
#X obj 270 278 pix_mask;
#X obj 288 247 pix_image ../data/dancer.JPG;
#X obj 270 153 gemhead;
#X obj 270 312 alpha;
#X obj 270 188 pix_image ../data/fractal.JPG;
#X obj 270 338 pix_texture;
#X obj 288 214 gemhead 20;
#X obj 270 379 square 3;
#X text 234 59 blending \, using mask;
#X obj 20 89 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 88 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X msg 25 82 color 1 1 1 0;
#X obj 88 64 t b b;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 1 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 133 pd gemwin;
#X msg 25 109 create;
#X text 21 89 Create window and render;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 5 0 7 0;
#X connect 6 0 1 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;

View file

@ -0,0 +1,64 @@
#N canvas 426 68 613 402 10;
#X obj 257 92 gemhead;
#X obj 343 168 gemhead;
#X obj 257 244 pix_takealpha;
#X text 18 24 takes the alpha-channel of another image;
#X obj 456 269 pix_texture;
#X obj 456 336 square;
#X obj 456 310 translateXYZ 2 0 0;
#X obj 257 314 translateXYZ -2 0 0;
#X obj 456 289 alpha;
#X obj 257 342 square 2;
#X obj 257 270 pix_texture;
#X obj 257 290 alpha;
#X text 403 173 load an image with an alpha-mask;
#X text 355 245 take the alpha-mask of img2;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 343 210 t a a;
#X obj 257 125 pix_image ../data/temp2.JPG;
#X obj 343 190 pix_image ../data/fractalAlpha.TIF;
#X connect 0 0 19 0;
#X connect 1 0 20 0;
#X connect 2 0 10 0;
#X connect 4 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 9 0;
#X connect 8 0 6 0;
#X connect 10 0 11 0;
#X connect 11 0 7 0;
#X connect 15 0 16 0;
#X connect 16 0 15 0;
#X connect 18 0 2 1;
#X connect 18 1 4 0;
#X connect 19 0 2 0;
#X connect 20 0 18 0;

View file

@ -0,0 +1,82 @@
#N canvas 78 67 719 587 10;
#X obj 332 30 gemhead;
#X obj 332 371 pix_texture;
#X msg 375 394 4;
#X obj 332 76 pix_image ../data/fractal.JPG;
#X obj 332 302 pix_alpha;
#X obj 332 421 square;
#X obj 332 336 alpha;
#X msg 456 166 1 1 1;
#X msg 459 243 0 0 0;
#X msg 356 219 0.5;
#X msg 348 185 1;
#X msg 457 209 1 0.5 0.5;
#X msg 362 255 0;
#X text 212 222 set the alpha value;
#X text 394 138 set the high threshold;
#N canvas 12 0 271 246 cube 0;
#X obj 69 39 gemhead 20;
#X obj 69 71 translateXYZ 0 0 -4;
#X obj 69 205 cube;
#X obj 69 180 rotateXYZ;
#X obj 69 112 render_trigger;
#X obj 115 141 i;
#X obj 145 142 + 1;
#X obj 180 143 % 360;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 5 0;
#X connect 5 0 6 0;
#X connect 5 0 3 1;
#X connect 5 0 3 2;
#X connect 5 0 3 3;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X restore 444 551 pd cube in the back;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 3 0;
#X connect 1 0 5 0;
#X connect 2 0 5 1;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 6 0 1 0;
#X connect 7 0 4 3;
#X connect 8 0 4 3;
#X connect 9 0 4 1;
#X connect 10 0 4 1;
#X connect 11 0 4 3;
#X connect 12 0 4 1;
#X connect 17 0 18 0;
#X connect 18 0 17 0;

View file

@ -0,0 +1,78 @@
#N canvas 28 0 713 500 10;
#X obj 135 336 pix_texture;
#X obj 135 393 square 2;
#X obj 135 171 pix_image ../data/fractalAlpha.TIF;
#X obj 135 308 pix_a_2grey 0.5;
#X obj 135 215 translateXYZ -2 0 0;
#X obj 386 140 gemhead;
#X obj 386 309 pix_texture;
#X obj 386 402 square 2;
#X obj 386 171 pix_image ../data/fractalAlpha.TIF;
#X obj 386 348 alpha;
#X obj 386 209 translateXYZ 2 0 0;
#X obj 228 13 pix_a_2grey;
#X text 261 55 grey's out all pixels \, of which the alpha-channel
is above a certain threshold;
#X obj 240 269 hsl 128 15 -1 1 0 0 empty empty empty 20 8 0 8 -262144
-1 -1 3100 1;
#X msg 237 246 0;
#X msg 266 246 0.5;
#X obj 20 39 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 21 39 Create window and render;
#X obj 135 139 gemhead;
#N canvas 340 107 682 322 gemwin 0;
#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
-1 -1 1 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
#X msg 177 215 destroy;
#X obj 102 239 t a;
#X obj 318 54 inlet;
#X obj 318 255 gemwin;
#X obj 318 100 t a a;
#X obj 318 287 outlet;
#X obj 350 128 route create destroy;
#X obj 350 150 t b;
#X msg 350 172 1;
#X obj 390 150 t b;
#X msg 390 172 0;
#X obj 350 195 t f;
#X msg 350 219 set \$1;
#X text 118 122 rendering;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 8 1 10 0;
#X connect 10 0 11 0;
#X connect 10 1 13 0;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 0 0;
#X coords 0 -1 1 1 85 40 1 100 100;
#X restore 28 61 pd gemwin;
#X floatatom 237 288 5 -1 1 0 - - -;
#X connect 0 0 1 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 5 0 8 0;
#X connect 6 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 7 0;
#X connect 10 0 6 0;
#X connect 13 0 20 0;
#X connect 14 0 13 0;
#X connect 15 0 13 0;
#X connect 18 0 2 0;
#X connect 20 0 3 1;

View file

@ -0,0 +1,45 @@
#N canvas 204 170 691 547 10;
#X obj 308 140 gemhead;
#X obj 308 374 pix_texture;
#X obj 308 402 square 2;
#X obj 308 171 pix_image ../data/fractalAlpha.TIF;
#X obj 308 297 pix_2grey;
#X obj 20 159 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 203 pd gemwin;
#X msg 25 179 create;
#X text 21 159 Create window and render;
#X text 64 81 greys out all pixels (but pixel-values are still in RGBA)
;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 6 0;

View file

@ -0,0 +1,72 @@
#N canvas 111 106 885 510 10;
#X floatatom 664 182 0 0 0 0 - - -;
#X obj 664 210 / 100;
#X floatatom 610 163 0 0 0 0 - - -;
#X obj 610 192 / 100;
#X obj 343 56 gemhead;
#X obj 343 319 pix_texture;
#X msg 394 359 4;
#X floatatom 556 121 0 0 0 0 - - -;
#X obj 556 149 / 100;
#X obj 343 268 pix_gain;
#X obj 556 241 pack 0 0 0;
#X obj 343 387 triangle;
#X text 356 341 click here to change the size of the triangle;
#X msg 570 213 bang;
#X obj 343 82 pix_image ../data/fractal.JPG;
#X obj 364 134 vsl 15 128 0 1 0 0 empty empty empty 20 8 0 8 -262144
-1 -1 0 1;
#X text 382 141 overall factor;
#X text 632 121 color-wise factor;
#X text 103 453 using [pix_gain] is probably very expensive (since
it does operations on your CPU). Try using [color] if your card has
openGL-hw-accleration...;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 1 0;
#X connect 1 0 10 2;
#X connect 1 0 13 0;
#X connect 2 0 3 0;
#X connect 3 0 10 1;
#X connect 3 0 13 0;
#X connect 4 0 14 0;
#X connect 5 0 11 0;
#X connect 6 0 11 1;
#X connect 7 0 8 0;
#X connect 8 0 10 0;
#X connect 9 0 5 0;
#X connect 10 0 9 2;
#X connect 13 0 10 0;
#X connect 14 0 9 0;
#X connect 15 0 9 1;
#X connect 20 0 21 0;
#X connect 21 0 20 0;

View file

@ -0,0 +1,180 @@
#N canvas 119 33 764 634 10;
#N canvas 285 0 681 629 tables 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array red 256 float 0;
#X coords 0 255 255 0 256 140 1;
#X restore 95 30 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array green 256 float 0;
#X coords 0 255 255 0 256 140 1;
#X restore 399 29 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array blue 256 float 0;
#X coords 0 255 255 0 256 140 1;
#X restore 98 214 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array alpha 64 float 0;
#X coords 0 255 63 0 256 140 1;
#X restore 396 212 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array edge 8 float 0;
#X coords 0 255 7 0 256 140 1;
#X restore 49 440 graph;
#X text 319 459 set all black and white pixels to black.;
#X text 318 477 set all "grey" pixels (the transients) to white.;
#X restore 219 225 pd tables;
#X obj 30 272 gemhead;
#X obj 30 468 pix_texture;
#N canvas 0 0 450 300 (subpatch) 0;
#X array rgba 67 float 0;
#X coords 0 256 66 0 256 140 1;
#X restore 217 70 graph;
#X text 78 8 pix_curve: adjust the colour of an image;
#X text 291 227 separate tables for r \, g \, b and a;
#X obj 466 274 pix_curve rgba;
#X obj 469 324 pix_curve red green blue;
#X obj 470 373 pix_curve red green blue alpha;
#X text 504 291 one curve for all channels;
#X text 505 391 curves for r \, g \, b \, a;
#X text 500 341 curves for r \, g \, b \; leave a unchanged;
#X msg 507 127 \; rgba cosinesum 64 128 128;
#X obj 30 393 pix_curve rgba;
#N canvas 328 58 600 502 init 0;
#X obj 93 39 loadbang;
#X msg 115 87 \; rgba resize 256 \; red resize 256 green resize 256
\; blue resize 256 \; alpha resize 64 \; alpha const 128;
#X obj 93 197 t b b;
#X msg 93 219 256;
#X msg 125 218 0;
#X obj 93 241 until;
#X obj 93 262 i;
#X obj 123 261 + 1;
#X msg 93 177 bang;
#X obj 93 283 t f f f;
#X obj 93 370 tabwrite rgba;
#X msg 93 348 \$1 \$1;
#X obj 210 304 / 255;
#X obj 210 326 sqrt;
#X obj 210 347 * 255;
#X obj 210 395 tabwrite red;
#X obj 210 373 pack 0 0;
#X obj 319 456 tabwrite green;
#X obj 104 395 tabwrite blue;
#X obj 93 63 t b b b;
#X msg 364 83 \; edge resize 8 \; edge const 255 \; edge 0 0 \; edge
7 0;
#X obj 319 393 unpack;
#X obj 319 413 - 255;
#X obj 319 432 * -1;
#X obj 362 413 - 255;
#X obj 362 432 * -1;
#X connect 0 0 19 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 5 0;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 0 9 0;
#X connect 7 0 6 1;
#X connect 8 0 2 0;
#X connect 9 0 11 0;
#X connect 9 1 12 0;
#X connect 9 2 16 1;
#X connect 11 0 10 0;
#X connect 11 0 18 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 16 0;
#X connect 16 0 15 0;
#X connect 16 0 21 0;
#X connect 19 0 8 0;
#X connect 19 1 1 0;
#X connect 19 2 20 0;
#X connect 21 0 22 0;
#X connect 21 1 24 0;
#X connect 22 0 23 0;
#X connect 23 0 17 0;
#X connect 24 0 25 0;
#X connect 25 0 17 1;
#X restore 604 470 pd init;
#X msg 284 275 set rgba;
#X msg 282 325 set red green blue;
#X msg 278 375 set red green blue alpha;
#X text 505 110 an alternative colour-curve;
#X text 228 56 paint your own curve;
#X obj 30 509 square 2;
#X obj 30 488 translateXYZ -2 0 0;
#X obj 244 486 gemhead;
#X obj 244 548 pix_texture;
#X obj 244 569 translateXYZ 2 0 0;
#X obj 244 527 pix_curve edge;
#N canvas 80 38 600 318 pix_update 0;
#X obj 59 115 inlet;
#X obj 59 227 outlet;
#X text 61 19 this is quite a dummy-routine:;
#X text 78 47 just multiply the pix-buffer with 1 (do nothing !) \,
and make it thereby dirty \, so that the pix_curve routines are going
to be called....;
#X text 56 272 maybe this could be done more easily..?;
#X obj 59 202 pix_buf;
#X obj 59 156 t a b;
#X connect 0 0 6 0;
#X connect 5 0 1 0;
#X connect 6 0 5 0;
#X connect 6 1 5 0;
#X restore 30 331 pd pix_update;
#X obj 244 592 square 2;
#X obj 30 435 alpha;
#X obj 30 303 pix_image ../data/fractal.JPG;
#X obj 244 506 pix_image ../data/dancer.JPG;
#X obj 11 151 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X obj 132 193 gemwin;
#X obj 132 135 t a;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 0 5 0;
#X connect 2 1 4 0;
#X connect 2 1 6 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 9 0;
#X connect 6 0 9 0;
#X connect 7 0 9 0;
#X connect 9 0 8 0;
#X restore 16 195 pd gemwin;
#X msg 16 171 create;
#X text 12 151 Create window and render;
#X connect 1 0 29 0;
#X connect 2 0 21 0;
#X connect 13 0 28 0;
#X connect 15 0 13 0;
#X connect 16 0 13 0;
#X connect 17 0 13 0;
#X connect 21 0 20 0;
#X connect 22 0 30 0;
#X connect 23 0 24 0;
#X connect 24 0 27 0;
#X connect 25 0 23 0;
#X connect 26 0 13 0;
#X connect 28 0 2 0;
#X connect 29 0 26 0;
#X connect 30 0 25 0;
#X connect 32 0 33 0;
#X connect 33 0 32 0;

View file

@ -0,0 +1,60 @@
#N canvas 10 20 769 486 10;
#X obj 252 258 gemhead;
#X obj 252 313 pix_image ../data/fractal.JPG;
#X obj 252 343 pix_colormatrix;
#X msg 351 223 0 1 0 0 0 1 1 0 0;
#X msg 321 157 0 0 1 1 0 0 0 1 0;
#X msg 284 61 1 0 0 0 0 1 0 1 0;
#X obj 252 371 pix_texture;
#X obj 252 411 square;
#X msg 312 110 1 0 0 0 1 0 0 0 1;
#X text 460 156 shift colors: red->[0 \, 0 \, 1]=blue \; green->[1
\, 0 \, 0]=red \; blue->[0 \, 1 \, 0]=green;
#X text 469 97 unity matrix: [1 \, 0 \, 0 \; 0 \, 1 \, 0 \; 0 \, 0
\, 1];
#X text 446 47 swap green and blue: [1 \, 0 \, 0 \; 0 \, 0 \, 1 \;
0 \, 1 \, 0];
#X text 480 210 shift colors: red->[0 \, 1 \, 0]=green \; green->[0
\, 0 \, 1]=blue \; blue->[1 \, 0 \, 0]=red;
#X text 26 23 matrix-multiply the RGB-vector;
#X obj 41 142 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 46 186 pd gemwin;
#X msg 46 162 create;
#X text 42 142 Create window and render;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 8 0 2 1;
#X connect 15 0 16 0;
#X connect 16 0 15 0;

View file

@ -0,0 +1,106 @@
#N canvas 150 20 846 728 12;
#X obj 575 515 s matrix;
#X obj 502 516 s scale;
#X msg 502 483 1;
#X obj 575 404 s matrix;
#X obj 502 405 s scale;
#X msg 502 372 1;
#X obj 572 311 s matrix;
#X obj 499 312 s scale;
#X msg 499 279 1;
#X obj 572 206 s matrix;
#X obj 499 207 s scale;
#X msg 499 174 1;
#X obj 576 106 s matrix;
#X obj 503 107 s scale;
#X msg 503 74 1;
#X obj 320 153 s matrix;
#X obj 247 154 s scale;
#X msg 247 121 1;
#X msg 576 47 -1 -1 -1 -1 8 -1 -1 -1 -1;
#X msg 572 146 -1 -4 -1 -4 20 -4 -1 -4 -1;
#X msg 314 517 1 2 1 2 4 2 1 2 1;
#X text 506 10 edge detection matrices;
#X text 506 26 scale = 1;
#X text 234 497 scale = 16;
#X text 234 482 smoothing matrix;
#X obj 14 330 gemhead;
#X obj 14 522 pix_texture;
#X obj 14 356 pix_image ../data/fractal.JPG;
#X obj 14 455 pix_convolve 3 3;
#X msg 320 92 0 0 0 0 1 0 0 0 0;
#X msg 572 248 0 -1 0 0 2 0 0 -1 0;
#X msg 575 450 -1 0 -1 0 4 0 -1 0 -1;
#X msg 575 343 0 0 0 -1 2 -1 0 0 0;
#X obj 314 596 s matrix;
#X obj 153 423 r matrix;
#X obj 241 596 s scale;
#X obj 83 422 r scale;
#X text 241 72 scale = 1;
#X text 241 55 identity matrix;
#X obj 14 547 square 4;
#X obj 20 219 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 263 pd gemwin;
#X msg 25 239 create;
#X text 21 219 Create window and render;
#X msg 241 545 1 16;
#X obj 241 571 /;
#X text 43 650 a good start for the scale is the sum of all the elements
;
#X connect 2 0 1 0;
#X connect 5 0 4 0;
#X connect 8 0 7 0;
#X connect 11 0 10 0;
#X connect 14 0 13 0;
#X connect 17 0 16 0;
#X connect 18 0 14 0;
#X connect 18 0 12 0;
#X connect 19 0 11 0;
#X connect 19 0 9 0;
#X connect 20 0 44 0;
#X connect 20 0 33 0;
#X connect 25 0 27 0;
#X connect 26 0 39 0;
#X connect 27 0 28 0;
#X connect 28 0 26 0;
#X connect 29 0 17 0;
#X connect 29 0 15 0;
#X connect 30 0 8 0;
#X connect 30 0 6 0;
#X connect 31 0 2 0;
#X connect 31 0 0 0;
#X connect 32 0 5 0;
#X connect 32 0 3 0;
#X connect 34 0 28 2;
#X connect 36 0 28 1;
#X connect 41 0 42 0;
#X connect 42 0 41 0;
#X connect 44 0 45 0;
#X connect 45 0 35 0;

View file

@ -0,0 +1,108 @@
#N canvas 269 10 753 499 10;
#X msg 360 312 set;
#X floatatom 401 209 4 0 0 0 - - -;
#X floatatom 442 209 4 0 0 0 - - -;
#X obj 441 229 t b f;
#X floatatom 491 209 4 0 0 0 - - -;
#X obj 490 229 t b f;
#X floatatom 532 208 4 0 0 0 - - -;
#X obj 531 228 t b f;
#X floatatom 576 210 4 0 0 0 - - -;
#X obj 575 230 t b f;
#X text 257 23 calculates the following difference equation:;
#X text 261 38 y(n) = ff1 * w(n) + ff2 * w(n-1) + ff3 * w(n-2);
#X floatatom 621 210 4 0 0 0 - - -;
#X obj 620 230 t b f;
#X obj 407 260 pack 0 0 0 0 0 0;
#X text 265 55 w(n) = fb0 * x(n) + fb1 * w(n-1) + fb2 * w(n-2);
#X msg 403 98 1 0 0 1 0 0;
#X msg 403 121 1 0 0 0.2 0.2 0.6;
#X obj 35 224 gemhead;
#X obj 35 300 pix_texture;
#X obj 35 324 square 3;
#X text 403 190 fb0;
#X text 443 190 fb1;
#X text 494 189 fb2;
#X text 533 186 ff1;
#X text 582 187 ff2;
#X text 623 186 ff3;
#X obj 355 257 t l;
#X msg 175 218 0;
#X msg 202 218 1;
#X msg 231 218 2;
#X text 551 94 route through;
#X text 553 120 a low-pass;
#X text 34 391 pix_biquad: fb0 fb1 fb2 ff1 ff2 ff3;
#X text 338 377 very(*) similar to the pd-object;
#X obj 572 375 biquad~;
#X text 336 406 *: but not exactly the same;
#X text 390 312 set w(n-1) and w(n-2) to the next(!) x(n);
#X obj 35 274 pix_biquad;
#X msg 404 150 0.05 0.8 0.15 0.2 0.2 0.6;
#X text 587 148 a LOW-pass;
#X text 397 331 (important for hard feedback-loops);
#X text 98 455 no sanity check is done for the coefficients !;
#X text 151 200 click these OFTEN !;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X obj 35 247 pix_multiimage ../data/temp*.JPG 2;
#X connect 0 0 38 0;
#X connect 1 0 14 0;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 3 1 14 1;
#X connect 4 0 5 0;
#X connect 5 0 14 0;
#X connect 5 1 14 2;
#X connect 6 0 7 0;
#X connect 7 0 14 0;
#X connect 7 1 14 3;
#X connect 8 0 9 0;
#X connect 9 0 14 0;
#X connect 9 1 14 4;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 13 1 14 5;
#X connect 14 0 27 0;
#X connect 16 0 27 0;
#X connect 17 0 27 0;
#X connect 18 0 48 0;
#X connect 19 0 20 0;
#X connect 27 0 38 0;
#X connect 28 0 48 1;
#X connect 29 0 48 1;
#X connect 30 0 48 1;
#X connect 38 0 19 0;
#X connect 39 0 27 0;
#X connect 45 0 46 0;
#X connect 46 0 45 0;
#X connect 48 0 38 0;

View file

@ -0,0 +1,108 @@
#N canvas 0 0 626 514 10;
#X floatatom 107 437 5 0 0 0 - - -;
#X floatatom 160 436 5 0 0 0 - - -;
#X floatatom 219 435 5 0 0 0 - - -;
#X obj 54 338 pix_blob 1;
#X msg 86 227 0;
#X msg 94 250 1;
#X msg 101 271 2;
#X msg 107 292 3;
#X msg 110 313 4;
#X text 119 456 X;
#X text 173 456 Y;
#X text 230 455 size;
#X text 135 228 grey (default);
#X text 136 250 red;
#X text 136 269 green;
#X text 137 291 blue;
#X text 137 313 alpha;
#X text 327 20 pix_blob;
#X text 324 32 =========;
#X text 276 48 get the center of gravity in a picture;
#X msg 288 298 1 0.5 0.5 1;
#X msg 284 274 0.33;
#X msg 276 252 1 1 2;
#X text 328 252 ==;
#X msg 355 251 1 1 2 0;
#X msg 356 274 0.33 0.33 0.33 0;
#X text 326 275 ==;
#X msg 363 112 bang;
#X obj 363 134 t b b;
#X msg 428 114 bang;
#X obj 428 136 t b b;
#X text 341 454 size = 0..1;
#X text 341 425 x/y-coordinates from lower-left \; 0..1;
#X text 329 96 upper-left;
#X text 428 93 lower-right;
#X obj 54 176 pix_multiimage ../data/blob*.tif 2;
#X obj 54 148 gemhead;
#X msg 154 116 0;
#X msg 154 136 1;
#X msg 154 154 2;
#X obj 54 469 pix_texture;
#X obj 54 492 square 4;
#X msg 139 496 quality 0;
#X obj 139 475 loadbang;
#X text 307 233 rgb(a)-color;
#X obj 276 320 t b l;
#X obj 20 19 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 63 pd gemwin;
#X msg 25 39 create;
#X text 21 19 Create window and render;
#X connect 3 0 40 0;
#X connect 3 1 0 0;
#X connect 3 2 1 0;
#X connect 3 3 2 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 3 1;
#X connect 7 0 3 1;
#X connect 8 0 3 1;
#X connect 20 0 45 0;
#X connect 21 0 45 0;
#X connect 22 0 45 0;
#X connect 27 0 28 0;
#X connect 28 0 39 0;
#X connect 28 1 5 0;
#X connect 29 0 30 0;
#X connect 30 0 39 0;
#X connect 30 1 7 0;
#X connect 35 0 3 0;
#X connect 36 0 35 0;
#X connect 37 0 35 1;
#X connect 38 0 35 1;
#X connect 39 0 35 1;
#X connect 40 0 41 0;
#X connect 42 0 40 0;
#X connect 43 0 42 0;
#X connect 45 0 39 0;
#X connect 45 1 3 2;
#X connect 47 0 48 0;
#X connect 48 0 47 0;

View file

@ -0,0 +1,102 @@
#N canvas 228 84 794 352 10;
#X floatatom 279 191 5 0 0 0 - - -;
#X obj 266 241 pix_tIIR 2 2;
#X obj 279 211 * 0.01;
#X obj 279 146 unpack 30 60 10 50 50 -20;
#X floatatom 328 191 5 0 0 0 - - -;
#X obj 328 211 * 0.01;
#X floatatom 375 191 5 0 0 0 - - -;
#X obj 375 211 * 0.01;
#X floatatom 424 191 5 0 0 0 - - -;
#X obj 424 211 * 0.01;
#X floatatom 471 191 5 0 0 0 - - -;
#X obj 471 211 * 0.01;
#X floatatom 520 191 5 0 0 0 - - -;
#X obj 520 211 * 0.01;
#X msg 279 100 bang;
#X obj 266 38 gemhead;
#X msg 601 44 auto \$1;
#X obj 601 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 279 122 pack 30 60 10 50 50 -20;
#X floatatom 461 64 5 0 0 0 - - -;
#X floatatom 351 86 5 0 0 0 - - -;
#X obj 266 262 pix_texture;
#X msg 421 27 open ../data/alea.mpg;
#X msg 421 7 open \$1;
#X obj 483 7 openpanel;
#X obj 573 5 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 446 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 266 61 pix_film ../data/alea.mpg;
#X obj 266 309 square 3;
#X obj 266 286 rotateXYZ 0 -30 0;
#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X connect 0 0 2 0;
#X connect 1 0 21 0;
#X connect 2 0 1 1;
#X connect 3 0 0 0;
#X connect 3 1 4 0;
#X connect 3 2 6 0;
#X connect 3 3 8 0;
#X connect 3 4 10 0;
#X connect 3 5 12 0;
#X connect 4 0 5 0;
#X connect 5 0 1 2;
#X connect 6 0 7 0;
#X connect 7 0 1 3;
#X connect 8 0 9 0;
#X connect 9 0 1 4;
#X connect 10 0 11 0;
#X connect 11 0 1 5;
#X connect 12 0 13 0;
#X connect 13 0 1 6;
#X connect 14 0 18 0;
#X connect 15 0 27 0;
#X connect 16 0 27 0;
#X connect 17 0 16 0;
#X connect 18 0 3 0;
#X connect 19 0 27 1;
#X connect 21 0 29 0;
#X connect 22 0 27 0;
#X connect 23 0 27 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 26 0 19 0;
#X connect 27 0 1 0;
#X connect 27 1 20 0;
#X connect 27 2 26 0;
#X connect 29 0 28 0;
#X connect 31 0 32 0;
#X connect 32 0 31 0;

View file

@ -0,0 +1,137 @@
#N canvas 0 0 832 589 10;
#X obj 62 327 gemhead;
#X obj 62 369 pix_texture;
#X obj 62 392 square 4;
#X obj 316 316 gemhead;
#X obj 316 342 pix_film;
#X obj 316 387 t a b;
#X obj 361 430 i;
#X obj 388 430 + 1;
#X obj 361 408 spigot;
#X obj 398 364 t b b;
#X msg 398 387 1;
#X msg 455 388 0;
#X obj 398 339 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 419 339 start recording into the buffer;
#X msg 398 296 open \$1;
#X obj 398 275 openpanel;
#X obj 398 257 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 477 240 ../data/anim-1.mov;
#X msg 477 260 ../data/alea.mpg;
#X msg 478 216 ../data/homer.avi;
#X obj 477 282 symbol;
#X floatatom 155 321 5 0 0 0 - - -;
#X text 195 320 index;
#X msg 408 408 0;
#X obj 571 401 gemhead;
#X obj 571 427 pix_image ../data/fractal.JPG;
#X floatatom 423 497 5 0 0 0 - - -;
#X msg 405 318 auto 1;
#X msg 457 319 0;
#X obj 361 456 moses 10;
#X floatatom 663 406 5 0 0 0 - - -;
#X msg 663 386 5;
#X text 467 493 put the next image into "myImages" @ index;
#X msg 140 390 set yourImages;
#X msg 212 490 set yourImages;
#X text 213 473 set the storage-name;
#X obj 62 349 pix_buffer_read myImages;
#X obj 316 515 pix_buffer_write myImages;
#X obj 571 453 pix_buffer_write myImages;
#X text 291 539 write an image into a certain storage-buffer;
#X text 15 422 read an image from a certain storage-buffer;
#X text 17 302 get an image from the pix_buffer;
#X obj 33 227 pix_buffer yourImages 10;
#X obj 20 69 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 113 pd gemwin;
#X msg 25 89 create;
#X text 21 69 Create window and render;
#X text 284 32 ============;
#X text 236 48 store/get images into/from a buffer;
#X msg 226 77 bang;
#X floatatom 226 174 5 0 0 0 - - -;
#X text 265 77 get the size of the depot;
#X msg 237 116 allocate 128 64 4;
#X text 371 104 pre-allocate each image-buffer to hold at east 128*64*4
pixels;
#X text 388 155 a storage-place for "10" pix-images called "myImages"
;
#X obj 226 153 pix_buffer myImages 10;
#X text 287 20 [pix_buffer];
#X msg 353 181 open ../data/fractal.JPG 5;
#X text 524 182 load an image into a certain storage-buffer;
#X connect 0 0 36 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 37 0;
#X connect 5 1 8 0;
#X connect 6 0 7 0;
#X connect 6 0 29 0;
#X connect 7 0 6 1;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 9 1 23 0;
#X connect 10 0 8 1;
#X connect 11 0 8 1;
#X connect 11 0 31 0;
#X connect 12 0 9 0;
#X connect 14 0 4 0;
#X connect 14 0 12 0;
#X connect 14 0 27 0;
#X connect 14 0 28 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 17 0 20 0;
#X connect 18 0 20 0;
#X connect 19 0 20 0;
#X connect 20 0 14 0;
#X connect 21 0 36 1;
#X connect 23 0 6 1;
#X connect 24 0 25 0;
#X connect 25 0 38 0;
#X connect 26 0 37 1;
#X connect 27 0 4 0;
#X connect 28 0 4 1;
#X connect 29 0 26 0;
#X connect 29 1 11 0;
#X connect 30 0 38 1;
#X connect 31 0 30 0;
#X connect 33 0 36 0;
#X connect 34 0 37 0;
#X connect 36 0 1 0;
#X connect 44 0 45 0;
#X connect 45 0 44 0;
#X connect 49 0 55 0;
#X connect 52 0 55 0;
#X connect 55 0 50 0;
#X connect 57 0 55 0;

View file

@ -0,0 +1,88 @@
#N canvas 0 0 826 651 10;
#X msg 112 86 create \, 1;
#X obj 112 131 gemwin;
#X obj 311 112 pix_buffer \$0-framebuffer 2;
#X obj 620 108 gemhead 5;
#X obj 620 129 world_light;
#X msg 129 108 lighting 1;
#X text 44 5 you can render a scene into a framebuffer \, then take
a snapshot of the framebuffer with [pix_snap] and use this as an ordinary
pix (where you can apply effects and all kind of weird things);
#X obj 75 439 cnv 15 250 130 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 161 269 cnv 15 150 150 empty empty scene 20 12 0 14 -233017
-66577 0;
#X obj 82 196 gemhead 20;
#X obj 82 220 gemframebuffer;
#X msg 163 195 dimen 256 256;
#X obj 167 331 rotateXYZ;
#X obj 167 376 teapot;
#X obj 82 266 t a a b;
#X obj 187 293 i;
#X obj 220 292 + 1;
#X obj 250 291 % 360;
#X obj 82 453 t a b;
#X msg 114 474 snap;
#X obj 82 522 t a b;
#X msg 296 527 1;
#X obj 82 547 pix_buffer_write \$0-framebuffer;
#X obj 410 262 gemhead 30;
#X obj 410 306 t a b;
#X msg 465 307 1;
#X obj 410 331 pix_buffer_read \$0-framebuffer;
#X obj 410 411 pix_texture;
#X obj 410 476 square 3;
#X obj 82 243 translateXYZ 0 0 -4;
#X obj 82 498 pix_snap 0 0 256 256;
#X obj 167 353 color 1 0 1;
#X floatatom 226 313 5 0 0 0 - - -;
#X obj 410 453 rotateXYZ;
#X floatatom 445 433 5 0 0 0 - - -;
#X text 318 130 temporary storage;
#X obj 163 175 loadbang;
#X text 130 451 later usage;
#X text 129 436 snapshot and store image for;
#X text 562 308 fetch framebuffer-pix;
#X text 535 379 apply some nifty FX;
#X text 73 597 note \, that there are more efficient ways to apply
FX to framebuffers (noteably openGL-shaders: see examples/10.glsl/
for more information);
#X obj 425 358 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 410 380 pix_kaleidoscope;
#X connect 0 0 1 0;
#X connect 3 0 4 0;
#X connect 5 0 1 0;
#X connect 9 0 10 0;
#X connect 10 0 29 0;
#X connect 11 0 10 0;
#X connect 12 0 31 0;
#X connect 14 0 18 0;
#X connect 14 1 12 0;
#X connect 14 2 15 0;
#X connect 15 0 16 0;
#X connect 15 0 12 1;
#X connect 15 0 12 2;
#X connect 16 0 17 0;
#X connect 17 0 15 1;
#X connect 18 0 30 0;
#X connect 18 1 19 0;
#X connect 19 0 30 0;
#X connect 20 0 22 0;
#X connect 20 1 21 0;
#X connect 21 0 22 1;
#X connect 23 0 24 0;
#X connect 24 0 26 0;
#X connect 24 1 25 0;
#X connect 25 0 26 1;
#X connect 26 0 43 0;
#X connect 27 0 33 0;
#X connect 29 0 14 0;
#X connect 30 0 20 0;
#X connect 31 0 13 0;
#X connect 32 0 12 3;
#X connect 33 0 28 0;
#X connect 34 0 33 2;
#X connect 36 0 11 0;
#X connect 42 0 43 0;
#X connect 43 0 27 0;

View file

@ -0,0 +1,147 @@
#N canvas 306 348 825 508 10;
#X obj 191 393 pix_texture;
#X obj 463 158 gemwin;
#X msg 506 135 0 \, destroy;
#X msg 55 316 quality 0;
#X obj 31 200 pix_crop 0 0 6 8;
#X obj 31 363 pix_texture;
#X obj 31 403 rectangle 1 1;
#X obj 55 296 loadbang;
#X obj 31 10 gemhead 10;
#X msg 463 117 dimen 1024 256 \, color 1 1 1 1 \, create \, 1;
#X obj 31 383 translateXYZ 0 2.25 0;
#N canvas 8 120 750 300 grab-ascii 0;
#X obj 76 13 key;
#X obj 76 34 moses 65;
#X obj 121 54 moses 91;
#X obj 166 84 moses 97;
#X obj 211 104 moses 123;
#X obj 153 198 outlet;
#X obj 211 124 - 97;
#X text 174 54 from A to Z (65 to 90);
#X text 276 102 from a to z (97 to 122);
#X text 137 221 remap from 0 to 25;
#X obj 121 75 - 65;
#X obj 334 232 outlet;
#X text 326 249 bang on <ENTER>;
#X obj 455 232 outlet;
#X floatatom 41 74 5 0 0 0 - - -;
#X obj 334 179 sel 10 32 8;
#X obj 565 232 outlet;
#X text 556 249 bang on <DEL>;
#X text 446 249 bang on <SPACE>;
#X obj 303 209 loadbang;
#X connect 0 0 1 0;
#X connect 0 0 14 0;
#X connect 1 0 15 0;
#X connect 1 1 2 0;
#X connect 2 0 10 0;
#X connect 2 1 3 0;
#X connect 3 1 4 0;
#X connect 4 0 6 0;
#X connect 6 0 5 0;
#X connect 10 0 5 0;
#X connect 15 0 11 0;
#X connect 15 1 13 0;
#X connect 15 2 16 0;
#X connect 19 0 11 0;
#X restore 73 51 pd grab-ascii;
#X obj 100 132 f;
#X obj 413 248 loadbang;
#X obj 280 149 * 6;
#X obj 73 158 * 6;
#X msg 135 92 0;
#X obj 191 413 translateXYZ 0 -2.25 0;
#X obj 191 433 rectangle 16 -1;
#X obj 191 263 gemhead 9;
#X obj 135 72 t b b;
#X obj 73 178 t b b f;
#X obj 31 29 pix_image ../data/bitmap_font_6x8.bmp;
#X obj 463 64 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1
-1;
#X text 499 85 2 type something with your keyboard;
#X text 310 22 <- this is the bitmap font;
#X obj 31 138 pix_grey;
#X obj 73 92 t f b;
#X obj 127 132 + 1;
#X text 485 231 - key in range A-Z and a-z;
#X text 510 212 features :;
#X text 485 241 - space bar add a space...;
#X text 485 251 - enter reset all;
#X text 520 283 purpose :;
#X text 495 299 - orginally design to drive a LED matrix;
#X msg 280 258 roi \$1 \$2 \$3 \$4;
#X obj 280 171 t f f;
#X obj 280 213 pack 0 0 0 8;
#X obj 334 192 + 6;
#N canvas 12 49 450 300 normalize 0;
#X obj 84 70 inlet x1 y1 x2 y2;
#X obj 84 92 unpack 0 0 0 0;
#X obj 84 184 pack 0 0 0 0;
#X obj 84 206 outlet X1 Y1 X2 Y2;
#X obj 84 144 / 120;
#X obj 134 144 / 8;
#X obj 184 144 / 120;
#X obj 234 144 / 8;
#X text 288 112 adding 0.5 to make;
#X text 288 125 rounding easier...;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 1 1 5 0;
#X connect 1 2 6 0;
#X connect 1 3 7 0;
#X connect 2 0 3 0;
#X connect 4 0 2 0;
#X connect 5 0 2 1;
#X connect 6 0 2 2;
#X connect 7 0 2 3;
#X restore 280 237 pd normalize;
#X msg 413 268 grey \, fill 1 \, bang;
#X obj 31 250 pix_dump;
#X text 481 65 <- 1 click here to start rendering;
#X obj 191 334 pix_roi 0 0 0 0;
#X text 306 336 initialize to non-existent ROI;
#X obj 191 362 pix_set 120 8;
#X connect 0 0 17 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 3 0 5 0;
#X connect 4 0 41 0;
#X connect 5 0 10 0;
#X connect 7 0 3 0;
#X connect 8 0 22 0;
#X connect 9 0 1 0;
#X connect 10 0 6 0;
#X connect 11 0 27 0;
#X connect 11 1 20 0;
#X connect 11 2 12 0;
#X connect 12 0 28 0;
#X connect 12 0 14 0;
#X connect 13 0 40 0;
#X connect 14 0 36 0;
#X connect 15 0 21 0;
#X connect 16 0 12 0;
#X connect 17 0 18 0;
#X connect 19 0 43 0;
#X connect 20 0 16 0;
#X connect 20 1 40 0;
#X connect 21 0 41 0;
#X connect 21 1 8 0;
#X connect 21 2 4 3;
#X connect 22 0 26 0;
#X connect 23 0 9 0;
#X connect 26 0 4 0;
#X connect 27 0 15 0;
#X connect 27 1 12 0;
#X connect 28 0 12 1;
#X connect 35 0 43 0;
#X connect 36 0 37 0;
#X connect 36 1 38 0;
#X connect 37 0 39 0;
#X connect 38 0 37 2;
#X connect 39 0 35 0;
#X connect 40 0 45 0;
#X connect 41 0 5 0;
#X connect 41 1 45 1;
#X connect 43 0 45 0;
#X connect 45 0 0 0;