#N canvas 420 190 689 458 10;
#X declare -lib Gem;
#X text 452 8 GEM object;
#X obj 8 295 cnv 15 430 150 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X text 39 298 Inlets:;
#X text 38 344 Outlets:;
#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X text 17 255 Arguments:;
#X obj 7 76 cnv 15 430 175 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X obj 449 85 cnv 15 200 360 empty empty empty 20 12 0 14 #dce4fc #404040 0;
#X text 453 68 Example:;
#X obj 534 342 cnv 15 100 100 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X obj 450 242 cnv 15 180 90 empty empty empty 20 12 0 14 #14e814 #404040 0;
#X obj 451 92 gemhead;
#X text 71 31 Class: pix object;
#X text 63 266 <none>;
#X text 56 357 Outlet 1: gemlist;
#X text 63 312 Inlet 1: gemlist;
#X text 23 92 [pix_sig2pix~] will write the data it gets from images as signals for each color-channel.;
#X text 56 373 Outlet 2: signal~ : red-channel (or Yuv- \, or grey-);
#X text 56 403 Outlet 3: signal~ : blue-channel (or yuV- \, or 0);
#X text 56 388 Outlet 2: signal~ : green-channel (or yUv- \, or 0);
#X text 56 418 Outlet 4: signal~ : alpha-channel (or 0);
#X text 24 75 Description: convert images to signals;
#X text 50 12 Synopsis: [pix_pix2sig~];
#X obj 451 249 pix_pix2sig~;
#X floatatom 564 301 3 0 0 3 a - - 0;
#X floatatom 533 301 3 0 0 3 b - - 0;
#X floatatom 502 301 3 0 0 3 g - - 0;
#X floatatom 471 301 3 0 0 3 r - - 0;
#X msg 567 348 \; pd dsp 1;
#X obj 471 278 env~ 65536;
#X obj 564 278 env~ 65536;
#X obj 533 278 env~ 65536;
#X obj 502 278 env~ 65536;
#N canvas 484 243 450 300 META 0;
#X obj 10 25 declare -lib Gem;
#X text 10 45 DESCRIPTION convert images to signals;
#X text 10 65 KEYWORDS Gem pix image;
#X text 20 85 INLET_0 gemlist mode;
#X text 20 105 OUTLET_0 gemlist;
#X text 20 125 OUTLET_1 signal~;
#X text 20 145 OUTLET_2 signal~;
#X text 20 165 OUTLET_3 signal~;
#X text 10 185 AUTHOR IOhannes m zmölnig;
#X text 10 205 LICENSE GPL v2;
#X restore 528 8 pd META;
#X text 25 124 In 'clear' mode (the default) \, each audio block will start reading at the beginning of the current image (so if you want to read the entire image \, you need large blocksizes). In 'fill' mode \, the object will remember where we stopped reading \, and continue there (so you can incrementally read the image). In 'line' mode only a single line is read (consecutively \, so the entire image is scanned) \, with zero-padding or data truncating as required. The similar 'waterfall' mode \, reads the same line for each signal block.;
#X obj 576 92 block~ 4096;
#N canvas 265 521 450 300 scope 0;
#N canvas 0 50 450 250 (subpatch) 0;
#X array \$0.scope 1024 float 2;
#X coords 0 1 1024 -1 200 140 1;
#X restore 88 138 graph;
#X obj 185 33 inlet~;
#X obj 185 56 tabwrite~ \$0.scope;
#X obj 55 33 loadbang;
#X msg 115 33 1;
#X obj 115 56 metro 200;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X restore 558 250 pd scope;
#X msg 467 167 mode clear;
#X msg 537 167 mode fill;
#X msg 467 189 mode line;
#X msg 537 189 mode waterfall;
#X obj 466 217 t a;
#X msg 494 216 mode waterfall \$1;
#X floatatom 606 217 5 -256 256 0 - - - 0;
#X text 63 325 Inlet 1: mode clear|fill|line|waterfall [<line#>];
#X obj 542 390 _gemwin;
#X obj 451 341 _pix2rectangle 3;
#X obj 451 121 pix_test;
#X connect 11 0 47 0;
#X connect 23 0 46 0;
#X connect 23 1 29 0;
#X connect 23 1 36 0;
#X connect 23 2 32 0;
#X connect 23 3 31 0;
#X connect 23 4 30 0;
#X connect 29 0 27 0;
#X connect 30 0 24 0;
#X connect 31 0 25 0;
#X connect 32 0 26 0;
#X connect 37 0 41 0;
#X connect 38 0 41 0;
#X connect 39 0 41 0;
#X connect 40 0 41 0;
#X connect 41 0 23 0;
#X connect 42 0 41 0;
#X connect 43 0 42 0;
#X connect 47 0 23 0;
