- Reestructuración de ficheros y directorios general

- merge v0.01 --> Añadido fileselector
- Añadidas fuentes de Gem y Pure Data
- pix2jpg incluído en Gem. Archivos de construcción de Gem modificados.
- Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
Santi Noreña 2013-02-04 18:00:17 +01:00
parent c9adfd020b
commit e85d191b46
3100 changed files with 775434 additions and 3073 deletions

View file

@ -0,0 +1,29 @@
AUTOMAKE_OPTIONS = foreign
SUFFIXES = .pd
gemabsdir=$(pkglibdir)
nodist_gemabs_DATA = \
gemdefaultwindow.pd
dist_gemabs_DATA = \
gemhead.pd \
gemmouse.pd \
gemorb.pd \
gemtablet.pd \
gemwin.pd \
hsv2rgb-help.pd \
hsv2rgb.pd \
pix_blobtracker-help.pd \
pix_blobtracker.pd \
pix_buffer_filmopen-help.pd \
pix_buffer_filmopen.pd \
pix_write.pd \
rgb2hsv-help.pd \
rgb2hsv.pd \
rgb2yuv-help.pd \
rgb2yuv.pd \
yuv2rgb-help.pd \
yuv2rgb.pd

View file

@ -0,0 +1,17 @@
#N canvas 3 45 450 300 10;
#X obj 125 66 inlet;
#X obj 125 243 outlet;
#X obj 125 145 t a a;
#X obj 175 187 route bang;
#X obj 175 167 spigot;
#X obj 208 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 232 208 print gem\$0win;
#X obj 125 100 @GEM_DEFAULT_WINDOW@;
#X connect 0 0 7 0;
#X connect 2 0 1 0;
#X connect 2 1 4 0;
#X connect 3 1 6 0;
#X connect 4 0 3 0;
#X connect 5 0 4 1;
#X connect 7 0 2 0;

View file

@ -0,0 +1,90 @@
#N canvas 255 164 769 392 10;
#N canvas 443 22 581 526 gemreceive 0;
#X obj 109 413 outlet;
#X obj 288 58 inlet order;
#X obj 288 177 select 0;
#X msg 288 198 50;
#X obj 109 365 spigot 1;
#X obj 109 390 t a;
#X obj 288 222 t f f f;
#X obj 334 275 t f f;
#X obj 334 301 > 0;
#X obj 366 301 < 0;
#X obj 313 365 spigot 0;
#X obj 520 283 abs;
#X obj 109 342 gemreceive __gem_render \$1;
#X obj 313 342 gemreceive __gem_render_osd \$1;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 6 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 0 0;
#X connect 6 0 12 1;
#X connect 6 1 11 0;
#X connect 6 2 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 4 1;
#X connect 9 0 10 1;
#X connect 10 0 5 0;
#X connect 11 0 13 1;
#X connect 12 0 4 0;
#X connect 13 0 10 0;
#X restore 170 69 pd gemreceive;
#X obj 170 155 gemlist;
#N canvas 602 92 635 363 material 0;
#X obj 98 88 inlet gemlist;
#X obj 98 258 outlet gemlist;
#X obj 98 117 GEMglColor4f 1 1 1 1;
#X obj 98 143 GEMglMaterialfv GL_FRONT_AND_BACK GL_AMBIENT 0.2 0.2
0.2 1;
#X obj 98 163 GEMglMaterialfv GL_FRONT_AND_BACK GL_DIFFUSE 0.8 0.8
0.8 1;
#X obj 98 183 GEMglMaterialfv GL_FRONT_AND_BACK GL_EMISSION 0 0 0 1
;
#X obj 98 203 GEMglMaterialfv GL_FRONT_AND_BACK GL_SPECULAR 0 0 0 1
;
#X obj 98 223 GEMglMaterialfv GL_FRONT_AND_BACK GL_SHININESS 0;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 1 0;
#X restore 170 197 pd material;
#X obj 170 221 t a a a;
#X obj 216 242 GEMglPushMatrix;
#X obj 170 282 GEMglPopMatrix;
#X obj 193 306 outlet gemlist;
#X obj 130 18 inlet control;
#X obj 130 40 route bang float set;
#X obj 223 94 i;
#X obj 170 116 spigot 1;
#N canvas 0 0 650 510 defaultarg 0;
#X obj 134 132 loadbang;
#X obj 134 265 outlet;
#X obj 134 157 f \$1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 286 39 pd defaultarg;
#X obj 71 174 GEMglFlush;
#X obj 71 122 gemlist;
#X obj 71 144 t a a;
#X connect 0 0 10 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 3 1 6 0;
#X connect 3 2 4 0;
#X connect 7 0 8 0;
#X connect 8 0 13 0;
#X connect 8 1 9 0;
#X connect 8 2 0 0;
#X connect 9 0 10 1;
#X connect 10 0 1 0;
#X connect 11 0 0 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X connect 14 1 2 0;

View file

@ -0,0 +1,154 @@
#N canvas 0 0 786 465 10;
#X obj 60 327 outlet x;
#X obj 130 327 outlet y;
#X obj 250 327 outlet Left;
#X obj 360 327 outlet Middle;
#X obj 470 327 outlet Right;
#N canvas 340 91 557 430 arguments 1;
#X obj 139 87 inlet reset;
#X obj 139 110 t b;
#N canvas 0 0 877 440 argcount 0;
#X obj 32 46 inlet;
#X obj 50 178 select s;
#X obj 50 128 t b b;
#X obj 156 155 makefilename $%d-test;
#X obj 50 155 symbol \$1-test;
#X msg 156 135 1;
#X obj 570 178 select s;
#X obj 570 128 t b b;
#X obj 676 155 makefilename $%d-test;
#X msg 676 135 3;
#X obj 50 242 t f;
#X obj 32 306 f;
#X obj 32 74 t b b b;
#X msg 78 279 -1;
#X obj 32 360 outlet;
#X obj 570 155 symbol \$3-test;
#X msg 50 199 0;
#X obj 310 178 select s;
#X obj 310 128 t b b;
#X obj 416 155 makefilename $%d-test;
#X msg 416 135 2;
#X obj 310 155 symbol \$2-test;
#X msg 310 199 1;
#X msg 570 199 2;
#X obj 287 101 t b b b;
#X connect 0 0 12 0;
#X connect 1 0 16 0;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 3 0 1 1;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 23 0;
#X connect 7 0 15 0;
#X connect 7 1 9 0;
#X connect 8 0 6 1;
#X connect 9 0 8 0;
#X connect 10 0 11 1;
#X connect 11 0 14 0;
#X connect 12 0 11 0;
#X connect 12 1 24 0;
#X connect 12 2 13 0;
#X connect 13 0 11 1;
#X connect 15 0 6 0;
#X connect 16 0 10 0;
#X connect 17 0 22 0;
#X connect 18 0 21 0;
#X connect 18 1 20 0;
#X connect 19 0 17 1;
#X connect 20 0 19 0;
#X connect 21 0 17 0;
#X connect 22 0 10 0;
#X connect 23 0 10 0;
#X connect 24 0 2 0;
#X connect 24 1 18 0;
#X connect 24 2 7 0;
#X restore 139 134 pd argcount;
#X obj 139 182 select 0 1 2;
#X obj 253 352 outlet yscale;
#X obj 139 322 outlet yscale;
#X obj 139 160 i;
#X obj 253 323 /;
#X obj 201 201 t b b;
#X obj 166 223 f \$1;
#X obj 201 223 f \$1;
#X obj 233 223 f \$2;
#X obj 366 142 unpack 0 0;
#X obj 334 121 t b l;
#X obj 166 244 pack 0 500;
#X obj 139 270 pack 500 500;
#X obj 253 300 pack 500 500;
#X obj 139 293 /;
#X obj 334 97 inlet dimen;
#X floatatom 65 186 5 0 0 0 - - -;
#X msg 77 87 bang;
#X msg 139 203 1 1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 21 0;
#X connect 3 1 9 0;
#X connect 3 2 8 0;
#X connect 6 0 3 0;
#X connect 6 0 19 0;
#X connect 7 0 4 0;
#X connect 8 0 10 0;
#X connect 8 1 11 0;
#X connect 9 0 14 0;
#X connect 10 0 15 0;
#X connect 11 0 16 0;
#X connect 12 0 15 1;
#X connect 12 0 17 1;
#X connect 12 1 14 1;
#X connect 12 1 16 1;
#X connect 13 0 6 0;
#X connect 13 1 12 0;
#X connect 14 0 15 0;
#X connect 14 0 16 0;
#X connect 15 0 17 0;
#X connect 16 0 7 0;
#X connect 17 0 5 0;
#X connect 18 0 13 0;
#X connect 20 0 1 0;
#X connect 21 0 15 0;
#X connect 21 0 16 0;
#X restore 147 173 pd arguments;
#X obj 60 241 * 1;
#X obj 130 241 * 1;
#X obj 147 148 loadbang;
#X obj 104 31 r __gem;
#X obj 104 52 route mouse dimen;
#X obj 396 88 route motion button;
#X obj 364 67 t b a;
#X obj 396 111 unpack;
#X obj 196 277 pack 0 0 0 0 0;
#X obj 196 303 unpack 0 0 0 0 0;
#X obj 166 277 f;
#X obj 234 207 del 0;
#X obj 243 245 route 0 1 2;
#X connect 5 0 6 1;
#X connect 5 1 7 1;
#X connect 6 0 16 1;
#X connect 7 0 14 1;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 10 0 12 0;
#X connect 10 1 5 1;
#X connect 11 0 13 0;
#X connect 11 1 18 0;
#X connect 12 0 17 0;
#X connect 12 1 11 0;
#X connect 13 0 6 0;
#X connect 13 1 7 0;
#X connect 14 0 15 0;
#X connect 15 0 0 0;
#X connect 15 1 1 0;
#X connect 15 2 2 0;
#X connect 15 3 3 0;
#X connect 15 4 4 0;
#X connect 16 0 14 0;
#X connect 17 0 16 0;
#X connect 18 0 14 2;
#X connect 18 1 14 3;
#X connect 18 2 14 4;

View file

@ -0,0 +1,22 @@
#N canvas 66 407 682 381 10;
#X text 53 56 the object has been taken out of Gem \, since Gem is
a graphics library \, and not a hardware-interfacing library.;
#X text 49 98 you should be able to build a functional replacement
using the [hid] external.;
#X text 54 36 this is a fake replacement of Gem's [gemorb].;
#X obj 41 341 outlet Position (x y z);
#X obj 231 341 outlet Rotation (x y z);
#X obj 421 341 outlet Buttons (a b c d e f g);
#X obj 172 142 loadbang;
#X obj 172 278 print error;
#X msg 172 244 [gemorb] is no longer available! \, use [hid] or similar
for interfacing a SpaceOrb;
#X obj 26 143 inlet;
#X obj 26 163 t b;
#X msg 26 182 you are interfacing a dummy replacement of [gemorb]!
\, please build your own [gemorb];
#X connect 6 0 8 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 7 0;

View file

@ -0,0 +1,21 @@
#N canvas 24 279 928 367 10;
#X obj 107 178 loadbang;
#X obj 107 250 print error;
#X msg 107 207 [gemtablet] is no longer available! \, use [hid] or
similar for interfacing a graph-tablet;
#X obj 127 312 outlet X-pos;
#X obj 137 331 outlet Y-pos;
#X obj 287 282 outlet Pressure;
#X obj 297 302 outlet Azimuth;
#X obj 307 322 outlet Altitude;
#X obj 317 342 outlet Twist;
#X obj 537 302 outlet Middle-Buttoh;
#X obj 547 322 outlet Right-Button;
#X obj 527 282 outlet Left-Button;
#X text 54 36 this is a fake replacement of Gem's [gemtablet].;
#X text 53 56 the object has been taken out of Gem \, since Gem is
a graphics library \, and not a hardware-interfacing library.;
#X text 51 98 you should be able to build a functional replacement
using the [hid] external.;
#X connect 0 0 2 0;
#X connect 2 0 1 0;

2802
Gem/abstractions/gemwin.pd Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,65 @@
#N canvas 172 190 600 500 10;
#X text 418 26 GEM object;
#X text 89 388 convert between RGB colorspace and HSV colorspace;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 HSV is hue \, saturation \, value (luminance);
#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 123 218 rgb2hsv;
#X msg 163 182 1 0 0;
#X msg 155 156 0 0.2 0.5;
#X obj 123 257 unpack 0 0 0;
#X floatatom 202 279 5 0 0 1 Value - -;
#X floatatom 162 299 5 0 0 1 Saturation - -;
#X floatatom 123 322 5 0 0 1 Hue - -;
#X obj 321 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 325 256 unpack 0 0 0;
#X floatatom 404 278 5 0 0 1 Blue - -;
#X floatatom 364 298 5 0 0 1 Green - -;
#X floatatom 325 321 5 0 0 1 Red - -;
#X obj 325 217 hsv2rgb;
#X msg 365 152 0 1 1;
#X msg 387 176 0.6 1 0.5;
#X floatatom 178 84 5 0 1 1 Blue - -;
#X floatatom 141 67 5 0 1 1 Green - -;
#X floatatom 123 49 5 0 1 1 Red - -;
#X obj 123 122 pack 0 0 0;
#X floatatom 380 94 5 0 1 1 Value - -;
#X floatatom 343 76 5 0 1 1 Saturation - -;
#X floatatom 325 58 5 0 1 1 Hue - -;
#X obj 141 103 t b f;
#X obj 178 103 t b f;
#X obj 325 130 pack 0 0 0;
#X obj 343 111 t b f;
#X obj 380 111 t b f;
#X text 83 9 [rgb2hsv];
#X text 175 11 [hsv2rgb];
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 8 0 11 0;
#X connect 8 1 10 0;
#X connect 8 2 9 0;
#X connect 13 0 16 0;
#X connect 13 1 15 0;
#X connect 13 2 14 0;
#X connect 17 0 13 0;
#X connect 18 0 17 0;
#X connect 19 0 17 0;
#X connect 20 0 28 0;
#X connect 21 0 27 0;
#X connect 22 0 23 0;
#X connect 23 0 5 0;
#X connect 24 0 31 0;
#X connect 25 0 30 0;
#X connect 26 0 29 0;
#X connect 27 0 23 0;
#X connect 27 1 23 1;
#X connect 28 0 23 0;
#X connect 28 1 23 2;
#X connect 29 0 17 0;
#X connect 30 0 29 0;
#X connect 30 1 29 1;
#X connect 31 0 29 0;
#X connect 31 1 29 2;

143
Gem/abstractions/hsv2rgb.pd Normal file
View file

@ -0,0 +1,143 @@
#N canvas 206 49 450 568 10;
#X obj 187 84 route 0;
#X msg 187 56 \$2 \$3 \$1;
#X obj 187 409 f;
#X obj 231 111 unpack 0 0 0;
#X text 250 71 svh;
#X obj 187 28 inlet hsv;
#X obj 187 520 outlet rgb;
#X obj 401 149 * 6;
#X obj 380 196 % 6;
#X obj 350 173 t f f;
#X msg 350 149 0;
#X text 406 196 i;
#X obj 350 219 -;
#X obj 231 217 *;
#X obj 231 178 - 1;
#X obj 231 198 * -1;
#X obj 263 330 *;
#X obj 263 291 - 1;
#X obj 263 311 * -1;
#X obj 263 269 *;
#X obj 350 240 t f f;
#X obj 380 262 - 1;
#X obj 380 283 * -1;
#X obj 302 356 *;
#X obj 302 317 - 1;
#X obj 302 337 * -1;
#X obj 302 295 *;
#X obj 231 151 t f f f;
#X obj 241 392 pack 0 0 0 0;
#N canvas 387 255 646 315 select 0;
#X obj 290 37 inlet;
#X obj 16 247 outlet;
#X obj 92 104 t b l;
#X obj 125 128 unpack 0 0 0 0;
#X obj 89 43 inlet p q t v;
#X obj 92 128 i;
#X obj 92 151 select 0 1 2 3 4 5;
#X obj 16 223 pack 0 0 0;
#X obj 16 203 f;
#X obj 96 223 pack 0 0 0;
#X obj 96 203 f;
#X obj 176 223 pack 0 0 0;
#X obj 176 203 f;
#X obj 256 223 pack 0 0 0;
#X obj 256 203 f;
#X obj 336 223 pack 0 0 0;
#X obj 336 203 f;
#X obj 416 223 pack 0 0 0;
#X obj 416 203 f;
#X connect 0 0 5 1;
#X connect 2 0 5 0;
#X connect 2 1 3 0;
#X connect 3 0 7 2;
#X connect 3 0 9 2;
#X connect 3 0 12 1;
#X connect 3 0 14 1;
#X connect 3 0 15 1;
#X connect 3 0 17 1;
#X connect 3 1 10 1;
#X connect 3 1 13 1;
#X connect 3 1 17 2;
#X connect 3 2 7 1;
#X connect 3 2 11 2;
#X connect 3 2 16 1;
#X connect 3 3 8 1;
#X connect 3 3 9 1;
#X connect 3 3 11 1;
#X connect 3 3 13 2;
#X connect 3 3 15 2;
#X connect 3 3 18 1;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 6 1 10 0;
#X connect 6 2 12 0;
#X connect 6 3 14 0;
#X connect 6 4 16 0;
#X connect 6 5 18 0;
#X connect 7 0 1 0;
#X connect 8 0 7 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
#X connect 11 0 1 0;
#X connect 12 0 11 0;
#X connect 13 0 1 0;
#X connect 14 0 13 0;
#X connect 15 0 1 0;
#X connect 16 0 15 0;
#X connect 17 0 1 0;
#X connect 18 0 17 0;
#X restore 241 416 pd select;
#X msg 187 478 \$1 \$1 \$1;
#X obj 187 450 clip 0 1;
#X obj 231 131 clip 0 1;
#X obj 270 173 clip 0 1;
#X obj 350 109 clip 0 1;
#X obj 350 129 select 1;
#X connect 0 0 2 0;
#X connect 0 1 3 0;
#X connect 1 0 0 0;
#X connect 2 0 31 0;
#X connect 3 0 32 0;
#X connect 3 1 33 0;
#X connect 3 2 34 0;
#X connect 5 0 1 0;
#X connect 7 0 9 0;
#X connect 8 0 12 1;
#X connect 8 0 29 1;
#X connect 9 0 12 0;
#X connect 9 1 8 0;
#X connect 10 0 9 0;
#X connect 12 0 20 0;
#X connect 13 0 28 0;
#X connect 14 0 15 0;
#X connect 15 0 13 0;
#X connect 16 0 28 1;
#X connect 17 0 18 0;
#X connect 18 0 16 0;
#X connect 19 0 17 0;
#X connect 20 0 19 1;
#X connect 20 1 21 0;
#X connect 21 0 22 0;
#X connect 22 0 26 1;
#X connect 23 0 28 2;
#X connect 24 0 25 0;
#X connect 25 0 23 0;
#X connect 26 0 24 0;
#X connect 27 0 14 0;
#X connect 27 1 19 0;
#X connect 27 2 26 0;
#X connect 28 0 29 0;
#X connect 29 0 6 0;
#X connect 30 0 6 0;
#X connect 31 0 30 0;
#X connect 32 0 27 0;
#X connect 33 0 13 1;
#X connect 33 0 28 3;
#X connect 33 0 16 1;
#X connect 33 0 23 1;
#X connect 34 0 35 0;
#X connect 35 0 10 0;
#X connect 35 1 7 0;

View file

@ -0,0 +1,420 @@
#N canvas 35 25 662 452 10;
#X text 452 8 GEM object;
#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 267 Inlets:;
#X text 39 362 Outlets:;
#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 226 Arguments:;
#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 77 cnv 15 200 320 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 60 Example:;
#X obj 544 330 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 0 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 156 71 set create;
#X obj 67 41 route create;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 6 0;
#X connect 7 1 5 0;
#X restore 549 369 pd gemwin;
#X msg 549 350 create;
#X text 545 329 Create window:;
#X obj 451 173 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 451 83 gemhead;
#X text 17 376 Outlet 1: gemlist;
#X text 24 281 Inlet 1: gemlist;
#X obj 451 300 pix_texture;
#X obj 451 151 pix_film;
#X obj 515 151 t f;
#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 450 300 open 0;
#X obj 85 49 inlet;
#X obj 85 237 outlet;
#X obj 85 145 openpanel;
#X msg 85 179 open \$1;
#X msg 259 213 auto 1;
#X obj 259 189 loadbang;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X restore 464 131 pd open;
#X text 505 77 open a supported;
#X text 506 88 movie-clip;
#X text 523 114 macOS: quicktime;
#X text 516 104 windos: *.AVI;
#X text 523 124 linux: depends...;
#X floatatom 463 190 3 0 100 2 threshold - -;
#X obj 463 207 / 100;
#X text 50 12 Synopsis: [pix_blobtracker];
#X text 71 31 Class: pix object (analysis);
#X text 29 57 Description: blob detector and tracker;
#X obj 451 262 pix_blobtracker;
#X obj 451 322 square 4;
#X msg 463 228 threshold \$1;
#X floatatom 553 190 3 0 100 2 blobsize - -;
#X obj 553 207 / 100;
#X msg 553 228 blobSize \$1;
#N canvas 0 0 450 300 showblobs 0;
#X obj 67 113 route 0 1 2 3 4 5;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 67 136 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 86 155 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 92 unpack;
#X obj 102 115 * 8;
#X obj 102 138 - 4;
#X obj 145 113 * 8;
#X obj 145 136 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 105 174 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 124 193 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 60 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 143 212 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 162 231 pd showblob;
#X obj 67 86 inlet blobinformation;
#X connect 0 0 1 0;
#X connect 0 1 2 0;
#X connect 0 2 3 0;
#X connect 0 3 4 0;
#X connect 0 4 5 0;
#X connect 0 5 6 0;
#X connect 7 0 0 0;
#X restore 541 301 pd showblobs;
#X text 17 78 [pix_blobtracker] is able to detect multiple blobs within
an image and tries to keep track of which blob is which to keep indices
consistant while the blobs are moving.;
#X text 16 127 [pix_blobtracker] is an abstraction based on [pix_multiblob]
for blob-detection and some mtx-objects from "iemmatrix" (which you
need to have installed on your system!) to do the actual tracking.
;
#X text 64 237 int: max number of blobs to detect;
#X text 21 187 like [pix_multiblob] this object only takes the luminance
into account for blob-tracking;
#X text 20 408 see also:;
#X obj 104 405 pix_multiblob;
#X text 24 296 Inlet 1: threshold <float>: minimum luminance of a pixel
to be considered part of a blob. (default=0.04);
#X text 24 325 Inlet 1: blobSize <float>: minimum relative size of
a blob. (default=0.1);
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 14 0 18 0;
#X connect 17 0 33 0;
#X connect 18 0 32 0;
#X connect 18 2 19 0;
#X connect 19 0 18 1;
#X connect 20 0 21 0;
#X connect 21 0 18 0;
#X connect 27 0 28 0;
#X connect 28 0 34 0;
#X connect 32 0 17 0;
#X connect 32 1 38 0;
#X connect 34 0 32 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 32 0;

View file

@ -0,0 +1,132 @@
#N canvas 77 45 654 552 10;
#X declare -lib Gem -lib iemmatrix;
#N canvas 0 0 571 399 matrix->indexlist 0;
#X obj 133 90 inlet;
#X obj 133 298 outlet;
#X obj 133 163 mtx;
#X msg 133 137 row;
#X obj 133 109 t b a b;
#X obj 212 227 i;
#X obj 239 228 + 1;
#X obj 133 248 pack 0 0 0 0;
#X obj 133 210 t l b;
#X msg 133 273 \$4 \$1 \$2 \$3;
#X msg 228 206 0;
#X msg 133 189 \$1 \$2 \$3;
#X connect 0 0 4 0;
#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 2 1;
#X connect 4 2 10 0;
#X connect 5 0 6 0;
#X connect 5 0 7 3;
#X connect 6 0 5 1;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 8 1 5 0;
#X connect 9 0 1 0;
#X connect 10 0 5 1;
#X connect 11 0 8 0;
#X restore 324 518 pd matrix->indexlist;
#X obj 97 197 inlet gemlist;
#X obj 97 402 outlet gemlist;
#X obj 231 429 t a;
#X obj 231 343 t a a;
#X obj 324 428 mtx_mul;
#X obj 354 490 outlet numblobs;
#X obj 324 449 t a a;
#X obj 354 471 mtx_size;
#X obj 231 363 mtx_resize \$1 2;
#N canvas 0 0 518 479 mtx_matcher 0;
#X obj 61 200 mtx_distance2;
#X obj 61 176 t a a;
#X obj 61 244 t a a;
#X obj 61 279 mtx_mul;
#X obj 61 325 outlet matched;
#X obj 171 325 outlet matcher;
#X obj 147 177 inlet dest;
#X obj 61 149 inlet source;
#X text 25 105 both "source" and "dest" must have the same number of
columns (dimension in feature-space);
#N canvas 0 0 618 479 mtx_rowpermutate 0;
#X obj 150 214 t b a;
#X obj 150 235 mtx;
#X obj 150 256 mtx_mul;
#X obj 111 192 mtx_pivot -1;
#X text 17 19 this unfortunately does not guarantee to give as a minimum
trace of the result!;
#X obj 150 309 outlet rowpermutator;
#X obj 111 141 inlet permutans;
#X connect 0 0 1 0;
#X connect 0 1 2 1;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 1 0 0;
#X connect 3 2 1 1;
#X connect 6 0 3 0;
#X restore 61 221 pd mtx_rowpermutate;
#X text 34 383 this algorithm is _far_ from being perfect! the [mtx_rowpermutate]
does not really guarantee that the trace of the result is a global
mimimum \; if it is not \, than the match will be sub-optimal! this
will be even worse \, if there are several _equal_ (sub)minima in the
distance-matrix.;
#X text 158 194 greater distances have an extra penalty (^2) \; is
this ok?;
#X text 32 52 we calculate the euclidean distance between the vectors
of the 2 sets and try to find a trace with minimum penalty;
#X text 32 22 this tries to get the best (weighted) match between 2
sets of feature-vectors.;
#X connect 0 0 9 0;
#X connect 1 0 0 0;
#X connect 1 1 3 1;
#X connect 2 0 3 0;
#X connect 2 1 5 0;
#X connect 3 0 4 0;
#X connect 6 0 0 1;
#X connect 7 0 1 0;
#X connect 9 0 2 0;
#X restore 231 397 pd mtx_matcher;
#X text 91 114 this blobtracker is far from being perfect. for an explanation
read the comments in [pd mtx_matcher];
#X text 93 536 we don't want to output "matrix" \, but pure pd-lists
instead;
#X obj 324 566 outlet bloblists;
#X text 344 402 this is the work-horse for the tracking;
#X text 95 10 part of Gem;
#X text 51 253 the work-horse for detection;
#X obj 301 224 loadbang;
#X obj 301 243 f \$1;
#X obj 301 262 moses 1;
#X msg 331 343 6 2;
#X obj 301 281 t b b;
#X text 56 155 TODO: output only those blobs that are really detected
;
#X obj 231 322 mtx_resize \$1 0;
#X msg 331 302 6 0;
#X obj 97 269 pix_multiblob \$1;
#X obj 97 30 declare -lib Gem -lib iemmatrix;
#X text 92 66 copyright (c) IOhannes m zmoelnig \, 2005 \; you may
use this under the terms of the GnuGPL v2.0 or later;
#X connect 0 0 13 0;
#X connect 1 0 25 0;
#X connect 3 0 10 1;
#X connect 4 0 9 0;
#X connect 4 1 5 1;
#X connect 5 0 7 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 10 0 3 0;
#X connect 10 1 5 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 21 0;
#X connect 20 0 9 1;
#X connect 21 0 20 0;
#X connect 21 1 24 0;
#X connect 23 0 4 0;
#X connect 24 0 23 1;
#X connect 25 0 2 0;
#X connect 25 1 23 0;

View file

@ -0,0 +1,86 @@
#N canvas 621 114 691 473 10;
#X obj 9 265 cnv 15 430 185 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 267 Inlets:;
#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 226 Arguments:;
#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 60 Example:;
#X obj 536 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 156 71 set create;
#X obj 67 41 route create;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 6 0;
#X connect 7 1 5 0;
#X restore 541 332 pd gemwin;
#X msg 541 313 create;
#X text 537 292 Create window:;
#X obj 461 206 cnv 15 180 30 empty empty empty 20 12 0 14 -24198 -66577
0;
#X text 71 31 Class: pix object;
#X text 64 237 list: <buffer_name>;
#X text 26 312 Inlet 1: message: set <buffer_name>: write to another
buffer.;
#X text 440 363 see also:;
#X obj 508 382 pix_buffer_read;
#X obj 461 84 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 461 112 openpanel;
#X msg 461 156 open \$1 \$2;
#X obj 461 135 pack s 0;
#X msg 474 182 set depot;
#X obj 507 362 pix_buffer depot 10;
#X text 50 12 Synopsis: [pix_buffer_filmopen];
#X text 29 57 Description: reads a movie into a [pix_buffer];
#X text 11 79 [pix_buffer_filmopen] reads a movie into a named buffer
in the [pix_buffer] object \, starting at an (optional) bufferindex
(defaults to 0). The film is read as fast as possible and the entire
film is read \, so you might get clicks.;
#X text 13 151 This object is meant to be used at initialzation time.
;
#X text 26 280 Inlet 1: message: open <filename> <bufferindex>: read
a filename into buffer starting at index.;
#X text 15 172 This object needs the gemwindow to be created.;
#X obj 461 212 pix_buffer_filmopen depot;
#X obj 461 242 unpack f f f;
#X floatatom 461 264 5 0 0 0 - - -;
#X floatatom 495 264 5 0 0 0 - - -;
#X floatatom 530 264 5 0 0 0 - - -;
#X obj 632 262 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 49 341 Outlets:;
#X text 26 356 Outlet 1: list: <length> <width> <height>: gets the
dimensions (in fps and pixels) of a film when it gets loaded. if length
is not available (video-streams) -1 is returned.;
#X text 26 413 Outlet 2: bangs when finished loading;
#X text 452 8 GEM abstraction;
#X connect 8 0 9 0;
#X connect 9 0 8 0;
#X connect 17 0 18 0;
#X connect 18 0 20 0;
#X connect 19 0 29 0;
#X connect 20 0 19 0;
#X connect 21 0 29 0;
#X connect 29 0 30 0;
#X connect 29 1 34 0;
#X connect 30 0 31 0;
#X connect 30 1 32 0;
#X connect 30 2 33 0;

View file

@ -0,0 +1,78 @@
#N canvas 1416 206 863 652 10;
#X obj 79 77 inlet;
#X obj 122 240 gemhead;
#X msg 153 263 open \$1;
#X obj 122 288 pix_film;
#X obj 180 382 until;
#X obj 180 342 t f b;
#X obj 180 402 i;
#X obj 213 403 + 1;
#X msg 122 215 0;
#X obj 122 193 loadbang;
#X obj 79 100 route set open;
#X msg 79 142 set \$1;
#X obj 122 503 pix_buffer_write \$1;
#X obj 153 158 unpack s 0;
#X obj 153 132 t a b;
#X obj 226 184 t f;
#X msg 231 158 0;
#X msg 219 80 open data/homer.avi 5;
#X obj 79 121 symbol;
#X obj 180 425 t b f f f;
#X msg 294 129 set myImages;
#X obj 220 451 + 0;
#X msg 225 382 0;
#X text 379 81 open film "data/homer.avi" and write it into buffer
starting at bufferposition "5";
#X text 392 132 set the buffer to write to;
#X text 63 29 read a film into a buffer;
#X text 356 244 TODO:;
#X text 401 244 set upper limit to write to;
#X text 400 259 guess write-limit from pix_buffer size;
#X text 361 328 ATTENTION:;
#X text 446 328 this object will only work with rendering turned on
;
#X obj 148 542 outlet info;
#X obj 277 542 outlet finished;
#X obj 223 344 t b;
#X text 413 451 (c) copyleft 2009 Max Neupert;
#X obj 148 316 t a a;
#X obj 148 465 t a b;
#X text 412 433 (c) copyleft 2008-2009 IOhannes m zmoelnig \, IEM \,
KUG;
#X connect 0 0 10 0;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 12 0;
#X connect 3 1 35 0;
#X connect 3 2 33 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 5 1 22 0;
#X connect 6 0 7 0;
#X connect 6 0 19 0;
#X connect 7 0 6 1;
#X connect 8 0 1 0;
#X connect 9 0 8 0;
#X connect 10 0 18 0;
#X connect 10 1 14 0;
#X connect 11 0 12 0;
#X connect 13 0 2 0;
#X connect 13 1 15 0;
#X connect 14 0 13 0;
#X connect 14 1 16 0;
#X connect 15 0 21 1;
#X connect 16 0 15 0;
#X connect 17 0 10 0;
#X connect 18 0 11 0;
#X connect 19 0 1 0;
#X connect 19 1 3 1;
#X connect 19 2 21 0;
#X connect 20 0 10 0;
#X connect 21 0 12 1;
#X connect 22 0 6 1;
#X connect 33 0 4 1;
#X connect 35 0 36 0;
#X connect 35 1 5 0;
#X connect 36 0 31 0;
#X connect 36 1 32 0;

View file

@ -0,0 +1,197 @@
#N canvas 1638 263 859 513 10;
#X obj 81 82 inlet gemlist;
#X obj 351 471 outlet gemlist;
#X obj 351 439 pix_writer;
#X obj 351 298 pix_snap;
#X obj 669 133 loadbang;
#N canvas 0 0 450 300 once 0;
#X obj 82 68 inlet;
#X obj 82 136 spigot;
#X obj 82 163 t a b;
#X msg 122 108 0;
#X obj 270 61 inlet reset;
#X obj 270 90 t b;
#X msg 269 113 1;
#X obj 82 197 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 2 1 3 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 1 1;
#X restore 374 245 pd once;
#X obj 351 192 t a b b;
#X msg 374 265 snap;
#X obj 420 224 i 0;
#X obj 438 198 r \$0-auto;
#X obj 460 223 r \$0-banged;
#X obj 81 204 s \$0-banged;
#X obj 81 182 t b;
#X obj 395 400 r \$0-banged;
#X obj 81 155 route bang auto file vert_size vert_pos;
#X obj 135 227 i;
#X obj 135 247 != 0;
#X obj 135 267 s \$0-auto;
#X obj 189 325 list prepend file;
#X obj 189 350 list trim;
#X obj 189 370 t a;
#X obj 474 59 inlet size;
#X obj 619 61 inlet pos;
#N canvas 1530 407 698 419 arguments 0;
#X obj 112 44 inlet init;
#X text 252 61 4: xoff yoff width height;
#X text 254 79 2: width height;
#X text 254 95 0:;
#N canvas 52 114 1249 422 argcount 0;
#X obj 69 46 inlet;
#X obj 50 178 select s;
#X obj 50 128 t b b;
#X obj 156 155 makefilename $%d-test;
#X obj 50 155 symbol \$1-test;
#X msg 156 135 1;
#X obj 570 178 select s;
#X obj 570 128 t b b;
#X obj 676 155 makefilename $%d-test;
#X obj 850 178 select s;
#X obj 850 128 t b b;
#X obj 956 155 makefilename $%d-test;
#X obj 1120 178 select s;
#X obj 1120 128 t b b;
#X obj 1226 155 makefilename $%d-test;
#X msg 676 135 3;
#X msg 956 135 4;
#X msg 1226 135 5;
#X obj 50 242 t f;
#X obj 27 306 f;
#X obj 322 61 t b b b b b;
#X obj 27 74 t b b b;
#X msg 73 291 -1;
#X obj 27 360 outlet;
#X obj 570 155 symbol \$3-test;
#X obj 850 155 symbol \$4-test;
#X obj 1120 155 symbol \$5-test;
#X msg 50 199 0;
#X obj 310 178 select s;
#X obj 310 128 t b b;
#X obj 416 155 makefilename $%d-test;
#X msg 416 135 2;
#X obj 310 155 symbol \$2-test;
#X msg 310 199 1;
#X msg 570 199 2;
#X msg 850 199 3;
#X msg 1120 199 4;
#X connect 0 0 21 0;
#X connect 1 0 27 0;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 3 0 1 1;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 34 0;
#X connect 7 0 24 0;
#X connect 7 1 15 0;
#X connect 8 0 6 1;
#X connect 9 0 35 0;
#X connect 10 0 25 0;
#X connect 10 1 16 0;
#X connect 11 0 9 1;
#X connect 12 0 36 0;
#X connect 13 0 26 0;
#X connect 13 1 17 0;
#X connect 14 0 12 1;
#X connect 15 0 8 0;
#X connect 16 0 11 0;
#X connect 17 0 14 0;
#X connect 18 0 19 1;
#X connect 19 0 23 0;
#X connect 20 0 2 0;
#X connect 20 1 29 0;
#X connect 20 2 7 0;
#X connect 20 3 10 0;
#X connect 20 4 13 0;
#X connect 21 0 19 0;
#X connect 21 1 20 0;
#X connect 21 2 22 0;
#X connect 22 0 19 1;
#X connect 24 0 6 0;
#X connect 25 0 9 0;
#X connect 26 0 12 0;
#X connect 27 0 18 0;
#X connect 28 0 33 0;
#X connect 29 0 32 0;
#X connect 29 1 31 0;
#X connect 30 0 28 1;
#X connect 31 0 30 0;
#X connect 32 0 28 0;
#X connect 33 0 18 0;
#X connect 34 0 18 0;
#X connect 35 0 18 0;
#X connect 36 0 18 0;
#X restore 112 118 pd argcount;
#X obj 112 181 list append \$1 \$2 \$3 \$4;
#X obj 112 142 select 4 2 0;
#X obj 112 312 pack 0 0 0 0;
#X obj 112 337 t l l;
#X obj 112 385 outlet offset;
#X obj 232 386 outlet size;
#X msg 112 362 \$1 \$2;
#X msg 232 362 \$3 \$4;
#X obj 139 211 list append 0 0 \$1 \$2;
#X obj 112 290 t a;
#X msg 193 255 0 0 128 128;
#X obj 193 232 t b b;
#X obj 283 275 print error;
#X msg 283 255 [pix_write] needs 0 2 or 4 arguments;
#X connect 0 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 5 0;
#X connect 6 1 13 0;
#X connect 6 3 16 0;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 8 1 12 0;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 13 0 14 0;
#X connect 14 0 7 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 16 1 18 0;
#X connect 18 0 17 0;
#X restore 669 152 pd arguments;
#X obj 538 364 r \$0-auto;
#X msg 538 385 auto \$1;
#X connect 0 0 14 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 23 0;
#X connect 5 0 7 0;
#X connect 6 0 3 0;
#X connect 6 1 5 0;
#X connect 6 2 8 0;
#X connect 7 0 3 0;
#X connect 8 0 5 1;
#X connect 9 0 8 1;
#X connect 10 0 5 1;
#X connect 12 0 11 0;
#X connect 13 0 2 0;
#X connect 14 0 12 0;
#X connect 14 1 15 0;
#X connect 14 2 18 0;
#X connect 14 3 3 1;
#X connect 14 4 3 2;
#X connect 14 5 6 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 2 0;
#X connect 21 0 3 1;
#X connect 22 0 3 2;
#X connect 23 0 3 2;
#X connect 23 1 3 1;
#X connect 24 0 25 0;
#X connect 25 0 2 0;

View file

@ -0,0 +1,150 @@
#N canvas 253 66 836 530 10;
#X obj 110 23 inlet gemlist;
#X obj 227 125 outlet gemlist;
#X obj 537 418 pix_buffer \$0-buf 1;
#X obj 254 199 pix_buffer_write \$0-buf;
#X obj 227 102 t a a;
#X obj 453 88 unpack s 0;
#X obj 510 139 t f f;
#N canvas 1 51 450 300 spigot 0;
#X obj 49 62 inlet gemlist;
#X obj 49 242 spigot;
#X obj 49 272 outlet gemlist;
#X obj 193 63 inlet;
#N canvas 1 51 450 300 bang 0;
#X obj 187 163 i;
#X obj 187 183 t f b;
#X msg 214 162 0;
#X msg 202 144 1;
#X obj 279 85 inlet;
#X obj 279 105 t b;
#X obj 74 84 inlet;
#X obj 187 203 outlet;
#X connect 0 0 1 0;
#X connect 1 0 7 0;
#X connect 1 1 2 0;
#X connect 2 0 0 1;
#X connect 3 0 0 1;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X restore 154 166 pd bang;
#X obj 193 83 route bang float;
#X obj 154 145 t b b;
#N canvas 1 51 450 300 float 0;
#X obj 187 163 i;
#X obj 279 85 inlet;
#X obj 74 84 inlet;
#X obj 187 203 outlet;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 204 166 pd float;
#X obj 154 186 &&;
#X obj 49 82 t a b;
#X connect 0 0 9 0;
#X connect 1 0 2 0;
#X connect 3 0 5 0;
#X connect 4 0 8 0;
#X connect 5 0 4 1;
#X connect 5 1 7 1;
#X connect 6 0 4 0;
#X connect 6 1 7 0;
#X connect 7 0 8 1;
#X connect 8 0 1 1;
#X connect 9 0 1 0;
#X connect 9 1 6 0;
#X restore 254 160 pd spigot;
#X obj 254 180 t a b;
#X msg 389 180 0;
#X obj 254 219 t b;
#X obj 254 239 i;
#X obj 254 259 t f f;
#X obj 281 239 + 1;
#X obj 254 279 makefilename gem%05d.tif;
#X obj 510 159 select 0;
#X msg 510 179 tif;
#X msg 555 179 jpg;
#X obj 510 199 symbol;
#X obj 453 220 pack s s;
#X obj 537 337 t f b;
#X msg 537 377 setProps quality \$1;
#X obj 537 357 select 0;
#X msg 601 357 clearProps;
#X obj 510 115 clip 0 100;
#X msg 254 363 save \$1 0;
#X obj 537 396 t a a;
#X msg 453 260 set \$1%05d.\$2;
#X obj 453 240 t l b;
#X msg 284 220 0;
#X text 104 427 (c) 2011 Jack/RYBN;
#X text 104 437 (c) 2011 IOhannes m zmölnig;
#X obj 537 438 s \$0-info;
#X obj 709 477 outlet info;
#X obj 110 63 f;
#X obj 152 63 t b;
#X obj 110 83 t a;
#X obj 110 43 route auto bang;
#X obj 209 43 route file;
#X obj 277 43 route enumProps clearProps setProps;
#X obj 277 62 t b;
#X obj 346 62 t b;
#X msg 461 357 enumProps;
#X obj 682 357 list prepend setProps;
#X obj 682 377 list trim;
#X obj 709 458 r \$0-info;
#X connect 0 0 37 0;
#X connect 2 0 32 0;
#X connect 3 0 10 0;
#X connect 4 0 1 0;
#X connect 4 1 7 0;
#X connect 5 0 19 0;
#X connect 5 1 24 0;
#X connect 6 0 15 0;
#X connect 6 1 20 0;
#X connect 7 0 8 0;
#X connect 8 0 3 0;
#X connect 8 1 9 0;
#X connect 9 0 3 1;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 14 0;
#X connect 12 1 13 0;
#X connect 13 0 11 1;
#X connect 14 0 25 0;
#X connect 15 0 16 0;
#X connect 15 1 17 0;
#X connect 16 0 18 0;
#X connect 17 0 18 0;
#X connect 18 0 19 1;
#X connect 19 0 28 0;
#X connect 20 0 22 0;
#X connect 20 1 23 0;
#X connect 21 0 26 0;
#X connect 22 1 21 0;
#X connect 23 0 26 0;
#X connect 24 0 6 0;
#X connect 25 0 26 0;
#X connect 26 0 2 0;
#X connect 27 0 14 0;
#X connect 28 0 27 0;
#X connect 28 1 29 0;
#X connect 29 0 11 1;
#X connect 34 0 36 0;
#X connect 35 0 36 0;
#X connect 36 0 7 1;
#X connect 37 0 34 0;
#X connect 37 1 35 0;
#X connect 37 2 38 0;
#X connect 38 0 5 0;
#X connect 38 1 39 0;
#X connect 39 0 40 0;
#X connect 39 1 41 0;
#X connect 39 2 43 0;
#X connect 39 3 4 0;
#X connect 40 0 42 0;
#X connect 41 0 23 0;
#X connect 42 0 26 0;
#X connect 43 0 44 0;
#X connect 44 0 26 0;
#X connect 45 0 33 0;

View file

@ -0,0 +1,21 @@
#N canvas 172 190 600 500 10;
#X text 124 68 GEM object;
#X text 138 23 rgb2hsv;
#X text 89 388 convert between RGB colorspace and HSV colorspace;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 HSV is hue \, saturation \, value (luminance);
#X obj 123 220 rgb2hsv;
#X msg 122 156 1 0 0;
#X msg 357 160 0 1 1;
#X obj 123 299 print hsv;
#X obj 357 303 print rgb;
#X obj 357 226 hsv2rgb;
#X msg 414 159 0.6 1 0.5;
#X msg 185 155 0 0.2 0.5;
#X text 215 21 hsv2rgb;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 10 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 12 0 5 0;

301
Gem/abstractions/rgb2hsv.pd Normal file
View file

@ -0,0 +1,301 @@
#N canvas 359 28 479 587 10;
#X obj 186 29 inlet;
#X obj 196 551 outlet;
#X obj 249 303 unpack 0 0 0;
#X obj 196 529 pack 0 0 0;
#X obj 186 142 t f f;
#X obj 186 163 t f f;
#X obj 186 185 -;
#X obj 186 224 /;
#X obj 186 244 t f f;
#X obj 145 266 select 0;
#X msg 145 286 0;
#X obj 186 204 t f f;
#N canvas 0 0 450 515 sort3 0;
#X obj 55 109 inlet;
#X obj 55 375 outlet;
#X obj 205 375 outlet;
#X obj 55 313 unpack;
#X obj 105 313 unpack;
#X obj 155 313 unpack;
#X msg 55 156 \$1 0;
#X msg 97 155 \$1 1;
#X msg 145 156 \$1 2;
#X obj 55 132 unpack 0 0 0;
#X obj 55 352 pack 0 0 0;
#X obj 205 352 pack 0 0 0;
#N canvas 0 0 489 412 sort_header 0;
#X obj 67 27 inlet;
#X obj 67 318 outlet;
#X obj 212 318 outlet;
#X obj 67 79 t f l;
#X obj 157 27 inlet;
#X obj 157 79 t f l;
#X obj 67 119 >;
#X obj 67 149 select 0 1;
#X obj 67 181 t b b;
#X obj 227 175 t b b;
#X obj 67 291 pack;
#X obj 83 250 unpack;
#X obj 67 271 f;
#X obj 117 291 pack;
#X obj 133 250 unpack;
#X obj 117 271 f;
#X obj 227 291 pack;
#X obj 243 250 unpack;
#X obj 227 271 f;
#X obj 277 291 pack;
#X obj 293 250 unpack;
#X obj 277 271 f;
#X connect 0 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 11 0;
#X connect 3 1 20 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 5 1 14 0;
#X connect 5 1 17 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 12 0;
#X connect 8 1 15 0;
#X connect 9 0 18 0;
#X connect 9 1 21 0;
#X connect 10 0 1 0;
#X connect 11 0 12 1;
#X connect 11 1 10 1;
#X connect 12 0 10 0;
#X connect 13 0 2 0;
#X connect 14 0 15 1;
#X connect 14 1 13 1;
#X connect 15 0 13 0;
#X connect 16 0 1 0;
#X connect 17 0 18 1;
#X connect 17 1 16 1;
#X connect 18 0 16 0;
#X connect 19 0 2 0;
#X connect 20 0 21 1;
#X connect 20 1 19 1;
#X connect 21 0 19 0;
#X restore 110 178 pd sort_header;
#N canvas 0 0 450 300 sort_header 0;
#X obj 67 27 inlet;
#X obj 67 318 outlet;
#X obj 212 318 outlet;
#X obj 67 79 t f l;
#X obj 157 27 inlet;
#X obj 157 79 t f l;
#X obj 67 119 >;
#X obj 67 149 select 0 1;
#X obj 67 181 t b b;
#X obj 227 175 t b b;
#X obj 67 291 pack;
#X obj 83 250 unpack;
#X obj 67 271 f;
#X obj 117 291 pack;
#X obj 133 250 unpack;
#X obj 117 271 f;
#X obj 227 291 pack;
#X obj 243 250 unpack;
#X obj 227 271 f;
#X obj 277 291 pack;
#X obj 293 250 unpack;
#X obj 277 271 f;
#X connect 0 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 11 0;
#X connect 3 1 20 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 5 1 14 0;
#X connect 5 1 17 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 12 0;
#X connect 8 1 15 0;
#X connect 9 0 18 0;
#X connect 9 1 21 0;
#X connect 10 0 1 0;
#X connect 11 0 12 1;
#X connect 11 1 10 1;
#X connect 12 0 10 0;
#X connect 13 0 2 0;
#X connect 14 0 15 1;
#X connect 14 1 13 1;
#X connect 15 0 13 0;
#X connect 16 0 1 0;
#X connect 17 0 18 1;
#X connect 17 1 16 1;
#X connect 18 0 16 0;
#X connect 19 0 2 0;
#X connect 20 0 21 1;
#X connect 20 1 19 1;
#X connect 21 0 19 0;
#X restore 55 205 pd sort_header;
#N canvas 0 0 450 300 sort_header 0;
#X obj 67 27 inlet;
#X obj 67 318 outlet;
#X obj 212 318 outlet;
#X obj 67 79 t f l;
#X obj 157 27 inlet;
#X obj 157 79 t f l;
#X obj 67 119 >;
#X obj 67 149 select 0 1;
#X obj 67 181 t b b;
#X obj 227 175 t b b;
#X obj 67 291 pack;
#X obj 83 250 unpack;
#X obj 67 271 f;
#X obj 117 291 pack;
#X obj 133 250 unpack;
#X obj 117 271 f;
#X obj 227 291 pack;
#X obj 243 250 unpack;
#X obj 227 271 f;
#X obj 277 291 pack;
#X obj 293 250 unpack;
#X obj 277 271 f;
#X connect 0 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 11 0;
#X connect 3 1 20 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 5 1 14 0;
#X connect 5 1 17 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 12 0;
#X connect 8 1 15 0;
#X connect 9 0 18 0;
#X connect 9 1 21 0;
#X connect 10 0 1 0;
#X connect 11 0 12 1;
#X connect 11 1 10 1;
#X connect 12 0 10 0;
#X connect 13 0 2 0;
#X connect 14 0 15 1;
#X connect 14 1 13 1;
#X connect 15 0 13 0;
#X connect 16 0 1 0;
#X connect 17 0 18 1;
#X connect 17 1 16 1;
#X connect 18 0 16 0;
#X connect 19 0 2 0;
#X connect 20 0 21 1;
#X connect 20 1 19 1;
#X connect 21 0 19 0;
#X restore 116 236 pd sort_header;
#X connect 0 0 9 0;
#X connect 3 0 10 0;
#X connect 3 1 11 0;
#X connect 4 0 10 1;
#X connect 4 1 11 1;
#X connect 5 0 10 2;
#X connect 5 1 11 2;
#X connect 6 0 13 0;
#X connect 7 0 12 0;
#X connect 8 0 12 1;
#X connect 9 0 6 0;
#X connect 9 1 7 0;
#X connect 9 2 8 0;
#X connect 10 0 1 0;
#X connect 11 0 2 0;
#X connect 12 0 13 1;
#X connect 12 1 14 1;
#X connect 13 0 3 0;
#X connect 13 1 14 0;
#X connect 14 0 4 0;
#X connect 14 1 5 0;
#X restore 186 77 pd sort3;
#X msg 186 98 \$3 \$1;
#X obj 186 121 unpack;
#X msg 239 98 \$3;
#X obj 196 398 -;
#X obj 240 379 t f f f;
#X obj 233 438 + 2;
#X obj 233 398 -;
#X obj 268 398 -;
#X obj 268 418 /;
#X obj 233 418 /;
#X obj 196 418 /;
#X obj 268 438 + 4;
#N canvas 0 0 450 300 select3 0;
#X obj 106 87 inlet;
#X obj 234 85 inlet;
#X obj 115 222 outlet;
#X obj 232 107 unpack 0 0 0;
#X obj 117 194 f;
#X obj 180 192 f;
#X obj 240 190 f;
#X obj 110 137 select 0 1 2;
#X obj 184 224 outlet;
#X obj 236 222 outlet;
#X connect 0 0 7 0;
#X connect 1 0 3 0;
#X connect 3 0 4 1;
#X connect 3 1 5 1;
#X connect 3 2 6 1;
#X connect 4 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 9 0;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 7 2 4 0;
#X restore 196 329 pd select3;
#X obj 196 287 b;
#X obj 196 307 i;
#X obj 186 55 t l l l;
#X obj 196 480 moses 0;
#X obj 196 459 / 6;
#X obj 196 500 + 1;
#X connect 0 0 28 0;
#X connect 2 0 19 1;
#X connect 2 1 20 1;
#X connect 2 2 16 1;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 4 1 3 2;
#X connect 5 0 6 0;
#X connect 5 1 7 1;
#X connect 6 0 11 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 1 3 1;
#X connect 9 0 10 0;
#X connect 9 1 26 0;
#X connect 10 0 3 0;
#X connect 11 0 7 0;
#X connect 11 1 17 0;
#X connect 12 0 13 0;
#X connect 12 1 15 0;
#X connect 13 0 14 0;
#X connect 14 0 4 0;
#X connect 14 1 6 1;
#X connect 15 0 27 1;
#X connect 16 0 23 0;
#X connect 17 0 23 1;
#X connect 17 1 22 1;
#X connect 17 2 21 1;
#X connect 18 0 30 0;
#X connect 19 0 22 0;
#X connect 20 0 21 0;
#X connect 21 0 24 0;
#X connect 22 0 18 0;
#X connect 23 0 30 0;
#X connect 24 0 30 0;
#X connect 25 0 20 0;
#X connect 25 1 16 0;
#X connect 25 2 19 0;
#X connect 26 0 27 0;
#X connect 27 0 25 0;
#X connect 28 0 12 0;
#X connect 28 1 2 0;
#X connect 28 2 25 1;
#X connect 29 0 31 0;
#X connect 29 1 3 0;
#X connect 30 0 29 0;
#X connect 31 0 3 0;

View file

@ -0,0 +1,36 @@
#N canvas 457 99 472 501 10;
#X text 333 19 GEM object;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 YUV is luma and chroma;
#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 123 218 rgb2yuv;
#X msg 163 182 1 0 0;
#X msg 155 156 0 0.2 0.5;
#X obj 123 257 unpack 0 0 0;
#X floatatom 178 84 5 0 1 1 Blue - -;
#X floatatom 141 67 5 0 1 1 Green - -;
#X floatatom 123 49 5 0 1 1 Red - -;
#X obj 123 122 pack 0 0 0;
#X obj 141 103 t b f;
#X obj 178 103 t b f;
#X text 83 9 [rgb2yuv];
#X text 175 11 [yuv2rgb];
#X text 89 388 convert between RGB colorspace and YUV colorspace;
#X floatatom 190 284 5 0 1 1 V=ChromaR - -;
#X floatatom 156 305 5 0 1 1 U=ChromaB - -;
#X floatatom 123 327 5 0 1 1 Y=Luma - -;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 19 0;
#X connect 7 1 18 0;
#X connect 7 2 17 0;
#X connect 8 0 13 0;
#X connect 9 0 12 0;
#X connect 10 0 11 0;
#X connect 11 0 4 0;
#X connect 12 0 11 0;
#X connect 12 1 11 1;
#X connect 13 0 11 0;
#X connect 13 1 11 2;

105
Gem/abstractions/rgb2yuv.pd Normal file
View file

@ -0,0 +1,105 @@
#N canvas 236 111 450 476 10;
#N canvas 286 158 450 300 rgb2y 0;
#X obj 82 57 inlet;
#X obj 82 236 outlet;
#X obj 82 119 * 65.738;
#X obj 143 120 * 129.075;
#X obj 215 119 * 25.064;
#X obj 82 142 +;
#X obj 82 164 +;
#X obj 82 207 + 16;
#X obj 82 186 / 256;
#X obj 143 57 inlet;
#X obj 215 57 inlet;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 5 1;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 1 0;
#X connect 8 0 7 0;
#X connect 9 0 3 0;
#X connect 10 0 4 0;
#X restore 103 206 pd rgb2y;
#N canvas 286 158 450 300 rgb2u 0;
#X obj 82 57 inlet;
#X obj 82 236 outlet;
#X obj 82 142 +;
#X obj 82 164 +;
#X obj 82 186 / 256;
#X obj 82 119 * -37.945;
#X obj 143 120 * -74.494;
#X obj 215 119 * 112.439;
#X obj 82 207 + 128;
#X obj 143 57 inlet;
#X obj 215 57 inlet;
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 8 0;
#X connect 5 0 2 0;
#X connect 6 0 2 1;
#X connect 7 0 3 1;
#X connect 8 0 1 0;
#X connect 9 0 6 0;
#X connect 10 0 7 0;
#X restore 163 206 pd rgb2u;
#N canvas 286 158 450 300 rgb2v 0;
#X obj 82 57 inlet;
#X obj 82 236 outlet;
#X obj 82 142 +;
#X obj 82 164 +;
#X obj 82 186 / 256;
#X obj 82 207 + 128;
#X obj 82 119 * 112.439;
#X obj 143 120 * -94.154;
#X obj 215 119 * -18.285;
#X obj 143 57 inlet;
#X obj 215 57 inlet;
#X connect 0 0 6 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 2 0;
#X connect 7 0 2 1;
#X connect 8 0 3 1;
#X connect 9 0 7 0;
#X connect 10 0 8 0;
#X restore 224 207 pd rgb2v;
#X text 106 37 convert RGB to YUV;
#X obj 103 245 pack 0 0 0;
#X obj 103 69 inlet RGB;
#X obj 103 104 pack \$1 \$2 \$3;
#X obj 103 353 outlet YUV;
#X obj 103 226 / 256;
#X obj 163 226 / 256;
#X obj 224 226 / 256;
#X obj 103 125 unpack 0 0 0;
#X obj 103 166 t f f f;
#X obj 103 146 * 256;
#X obj 136 146 * 256;
#X obj 170 146 * 256;
#X connect 0 0 8 0;
#X connect 1 0 9 0;
#X connect 2 0 10 0;
#X connect 4 0 7 0;
#X connect 5 0 6 0;
#X connect 6 0 11 0;
#X connect 8 0 4 0;
#X connect 9 0 4 1;
#X connect 10 0 4 2;
#X connect 11 0 13 0;
#X connect 11 1 14 0;
#X connect 11 2 15 0;
#X connect 12 0 0 0;
#X connect 12 1 1 0;
#X connect 12 2 2 0;
#X connect 13 0 12 0;
#X connect 14 0 0 1;
#X connect 14 0 1 1;
#X connect 14 0 2 1;
#X connect 15 0 2 2;
#X connect 15 0 1 2;
#X connect 15 0 0 2;

View file

@ -0,0 +1,35 @@
#N canvas 172 190 600 500 10;
#X text 418 26 GEM object;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 YUV is luma and chroma;
#X obj 121 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 125 256 unpack 0 0 0;
#X floatatom 204 278 5 0 0 1 Blue - -;
#X floatatom 164 298 5 0 0 1 Green - -;
#X floatatom 125 321 5 0 0 1 Red - -;
#X obj 125 217 yuv2rgb;
#X msg 165 152 0 1 1;
#X msg 187 176 0.6 1 0.5;
#X floatatom 180 94 5 0 1 1 V=ChromaR - -;
#X floatatom 143 76 5 0 1 1 U=ChromaB - -;
#X floatatom 125 58 5 0 1 1 Y=Luma - -;
#X obj 125 130 pack 0 0 0;
#X obj 143 111 t b f;
#X obj 180 111 t b f;
#X text 175 11 [yuv2rgb];
#X text 89 388 convert between YUV colorspace and RGB colorspace;
#X connect 4 0 7 0;
#X connect 4 1 6 0;
#X connect 4 2 5 0;
#X connect 8 0 4 0;
#X connect 9 0 8 0;
#X connect 10 0 8 0;
#X connect 11 0 16 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 8 0;
#X connect 15 0 14 0;
#X connect 15 1 14 1;
#X connect 16 0 14 0;
#X connect 16 1 14 2;

View file

@ -0,0 +1,84 @@
#N canvas 574 31 450 414 10;
#X obj 103 96 unpack 0 0 0;
#X obj 103 140 - 16;
#X obj 136 140 - 128;
#X obj 170 140 - 128;
#X obj 103 163 * 298.082;
#X obj 136 186 pack;
#N canvas 0 0 450 300 yu2r 0;
#X obj 128 46 inlet;
#X obj 130 234 outlet;
#X obj 128 69 unpack;
#X obj 130 110 * 408.583;
#X connect 0 0 2 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X restore 136 234 pd yu2r;
#N canvas 0 0 450 300 yu2g 0;
#X obj 128 46 inlet;
#X obj 128 164 outlet;
#X obj 128 69 unpack;
#X obj 159 108 * -208.12;
#X obj 128 89 * -100.291;
#X obj 128 135 +;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 3 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X restore 186 234 pd yu2g;
#N canvas 0 0 450 300 yu2b 0;
#X obj 128 46 inlet;
#X obj 128 234 outlet;
#X obj 128 69 unpack;
#X obj 128 110 * 516.411;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 257 234 pd yu2b;
#X obj 136 207 t l l l;
#X obj 103 289 +;
#X obj 103 263 t f f f;
#X obj 173 289 +;
#X obj 244 289 +;
#X obj 103 74 pack \$1 \$2 \$3;
#X obj 103 49 inlet YUV;
#X obj 103 341 pack 0 0 0;
#X obj 103 380 outlet RGB;
#X obj 103 118 * 256;
#X obj 136 118 * 256;
#X obj 170 118 * 256;
#X obj 103 312 / 65536;
#X obj 173 312 / 65536;
#X obj 244 312 / 65536;
#X text 102 26 convert YUV to RGB (everything is 0..1);
#X connect 0 0 18 0;
#X connect 0 1 19 0;
#X connect 0 2 20 0;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 5 1;
#X connect 4 0 11 0;
#X connect 5 0 9 0;
#X connect 6 0 10 1;
#X connect 7 0 12 1;
#X connect 8 0 13 1;
#X connect 9 0 6 0;
#X connect 9 1 7 0;
#X connect 9 2 8 0;
#X connect 10 0 21 0;
#X connect 11 0 10 0;
#X connect 11 1 12 0;
#X connect 11 2 13 0;
#X connect 12 0 22 0;
#X connect 13 0 23 0;
#X connect 14 0 0 0;
#X connect 15 0 14 0;
#X connect 16 0 17 0;
#X connect 18 0 1 0;
#X connect 19 0 2 0;
#X connect 20 0 3 0;
#X connect 21 0 16 0;
#X connect 22 0 16 1;
#X connect 23 0 16 2;