aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas O Fredericks <mrtof@users.sourceforge.net>2009-12-08 20:17:12 +0000
committerThomas O Fredericks <mrtof@users.sourceforge.net>2009-12-08 20:17:12 +0000
commit07f2c3fbfee1d5c371152b97d13df44739010dc6 (patch)
tree6fb1b8db5ddde01d6d43c50e3a9b861d289bb2fb
parentd32158d45940b6d54cd07db4c614028984e9783b (diff)
Splitting gemsFit into multi-parts
svn path=/trunk/abstractions/mtl/; revision=12822
-rw-r--r--gemsAlphaMode-help.pd (renamed from gemsAlpha-help.pd)70
-rw-r--r--gemsAlphaMode.pd (renamed from gemsAlpha.pd)0
-rw-r--r--gemsFit-help.pd60
-rw-r--r--gemsFit.pd247
-rw-r--r--gemsScaleToPix-help.pd48
-rw-r--r--gemsScaleToPix.pd127
-rw-r--r--gemsStretch-help.pd15
-rw-r--r--gemsStretch.pd22
8 files changed, 246 insertions, 343 deletions
diff --git a/gemsAlpha-help.pd b/gemsAlphaMode-help.pd
index 7dd4138..dd2811e 100644
--- a/gemsAlpha-help.pd
+++ b/gemsAlphaMode-help.pd
@@ -1,7 +1,8 @@
-#N canvas 89 124 891 601 10;
+#N canvas 131 47 891 601 10;
+#X declare -lib Gem;
#X declare -lib Gem;
#X obj 197 398 vsl 15 50 0 1 0 0 empty empty empty 0 -8 0 8 -258699
--262144 -1 2572 1;
+-262144 -1 728 1;
#X obj 104 454 colorRGB 1 1 1 1;
#X floatatom 195 266 5 0 0 0 - - -;
#X floatatom 271 300 5 0 0 0 - - -;
@@ -71,37 +72,35 @@ mode for the current gemchain.;
#X obj 308 134 t a a;
#X obj 30 171 openpanel;
#X msg 30 197 open \$1;
-#X obj 308 105 gemhead;
-#X text 25 121 Blending image;
#X obj 30 147 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
-#X obj 536 194 openpanel;
-#X msg 536 220 open \$1;
-#X obj 536 170 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X obj 577 210 openpanel;
+#X msg 577 236 open \$1;
+#X obj 577 186 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X text 516 136 Background image;
-#X obj 536 269 pix_image;
-#X obj 536 301 pix_texture;
+#X obj 503 269 pix_image;
+#X obj 503 301 pix_texture;
#X text 191 205 3) Play with the controls below:;
-#X text 237 83 2) Load blending and background images;
#X text 143 162 Do not forget that for blending to work \, the blending
image must be in front and rendered after other images.;
#X obj 104 547 square 1;
-#X obj 536 374 square 1;
-#X obj 103 334 mtl/gemsAlpha;
-#X obj 104 523 mtl/gemsFit fill;
-#X obj 536 243 separator;
+#X obj 503 374 square 1;
+#X obj 504 243 separator;
#X obj 103 243 separator;
#X text 191 218 Defaults to 6 7 for best results.;
-#X obj 536 346 mtl/gemsFit fill;
#X text 223 327 Arguments and 2-3 inlets : source mode number \, destination
mode number;
#X obj 791 5 import Gem;
+#X obj 103 334 mtl/gemsAlphaMode;
+#X obj 307 63 gemhead;
+#X text 27 118 2) Load blending image;
+#X text 531 159 3) Load blending image;
+#X obj 308 99 scale 4;
#X connect 0 0 1 4;
#X connect 1 0 28 0;
-#X connect 2 0 61 1;
-#X connect 3 0 61 2;
-#X connect 27 0 61 0;
+#X connect 2 0 62 1;
+#X connect 3 0 62 2;
+#X connect 27 0 62 0;
#X connect 28 0 41 0;
#X connect 30 0 2 0;
#X connect 32 0 3 0;
@@ -109,22 +108,21 @@ mode number;
#X connect 35 0 34 0;
#X connect 38 0 35 0;
#X connect 39 0 42 0;
-#X connect 41 0 62 0;
-#X connect 44 0 64 0;
-#X connect 44 1 63 0;
+#X connect 41 0 55 0;
+#X connect 44 0 58 0;
+#X connect 44 1 57 0;
#X connect 45 0 46 0;
#X connect 46 0 27 0;
-#X connect 47 0 44 0;
-#X connect 49 0 45 0;
-#X connect 50 0 51 0;
-#X connect 51 0 54 0;
-#X connect 52 0 50 0;
-#X connect 54 0 55 0;
-#X connect 55 0 66 0;
-#X connect 61 0 1 0;
-#X connect 61 1 36 0;
-#X connect 61 2 37 0;
-#X connect 62 0 59 0;
-#X connect 63 0 54 0;
-#X connect 64 0 27 0;
-#X connect 66 0 60 0;
+#X connect 47 0 45 0;
+#X connect 48 0 49 0;
+#X connect 49 0 51 0;
+#X connect 50 0 48 0;
+#X connect 51 0 52 0;
+#X connect 52 0 56 0;
+#X connect 57 0 51 0;
+#X connect 58 0 27 0;
+#X connect 62 0 1 0;
+#X connect 62 1 36 0;
+#X connect 62 2 37 0;
+#X connect 63 0 66 0;
+#X connect 66 0 44 0;
diff --git a/gemsAlpha.pd b/gemsAlphaMode.pd
index 5f9837b..5f9837b 100644
--- a/gemsAlpha.pd
+++ b/gemsAlphaMode.pd
diff --git a/gemsFit-help.pd b/gemsFit-help.pd
deleted file mode 100644
index 008afd0..0000000
--- a/gemsFit-help.pd
+++ /dev/null
@@ -1,60 +0,0 @@
-#N canvas 269 79 874 527 10;
-#X declare -lib Gem;
-#X text 21 10 Description: Wraps gems.fit with an additonal internal
-scaleXYZ object.;
-#X obj 88 136 gemhead;
-#X obj 88 165 pix_image;
-#X obj 88 396 pix_texture;
-#X obj 26 87 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 229 241 window;
-#X obj 197 217 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -262144 -1
--1 0;
-#X msg 253 264 pixsize;
-#X msg 259 285 pixratio;
-#X floatatom 287 347 5 0 0 0 scale - -;
-#X msg 274 318 fill;
-#X text 191 180 You can change the fitting by sending the mode name
-or the fittings's number.;
-#X text 279 238 number 0;
-#X text 312 265 number 1;
-#X text 324 289 number 2;
-#X text 311 321 number 3;
-#X text 477 407 pixsize: reproduce the image \, pixel by pixel in the
-gem win.;
-#X text 476 453 fill: fills the whole gemwin;
-#X floatatom 282 381 5 0 0 1 depth - -;
-#X obj 88 419 square;
-#X text 476 374 window or win: fit to the gem window while maintaining
-the width to height ratio.;
-#X obj 26 108 mtl/gemsWin;
-#X obj 162 108 openpanel;
-#X msg 162 133 open \$1;
-#X obj 162 87 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 88 373 mtl/gemsFit window;
-#X text 408 234 Argument 1: Selects how you want the fitting.;
-#X text 408 256 Argument 2: The scale (defaults to 1).;
-#X text 408 277 Argument 3: The depth (defaults to 1).;
-#X text 408 339 Inlet 3: Determines the scaling.;
-#X text 476 429 pixratio: normalized ration of the image's size.;
-#X text 421 480 Inlet 4: depth;
-#X text 408 323 Inlet 2: selects how you want the fitting.;
-#X text 408 306 Inlet 1: gemlist.;
-#X text 23 44 tags: gems;
-#X obj 405 15 import Gem;
-#X connect 1 0 2 0;
-#X connect 2 0 25 0;
-#X connect 3 0 19 0;
-#X connect 4 0 21 0;
-#X connect 5 0 25 1;
-#X connect 6 0 25 1;
-#X connect 7 0 25 1;
-#X connect 8 0 25 1;
-#X connect 9 0 25 2;
-#X connect 10 0 25 1;
-#X connect 18 0 25 3;
-#X connect 22 0 23 0;
-#X connect 23 0 2 0;
-#X connect 24 0 22 0;
-#X connect 25 0 3 0;
diff --git a/gemsFit.pd b/gemsFit.pd
deleted file mode 100644
index f821c45..0000000
--- a/gemsFit.pd
+++ /dev/null
@@ -1,247 +0,0 @@
-#N canvas 1254 97 865 661 10;
-#X obj 46 54 inlet;
-#X obj 77 399 scaleXYZ;
-#X obj 186 38 inlet mode;
-#X obj 354 37 inlet scale;
-#X obj 477 45 inlet depth;
-#X obj 103 142 t f f;
-#X obj 384 392 * 1;
-#X obj 406 297 t b f;
-#X obj 381 326 f 1;
-#N canvas 418 0 1022 698 fit 0;
-#X obj 42 -6 inlet;
-#X text 354 629 height;
-#X text 693 638 width;
-#X obj 304 632 outlet;
-#X obj 641 638 outlet;
-#X text 93 -6 gemlist;
-#X obj 42 599 outlet;
-#X text 95 600 gemlist;
-#X obj 44 168 pix_info;
-#X msg 172 109 0;
-#X msg 243 113 1;
-#X msg 299 109 2;
-#N canvas 133 18 895 686 fit2window 0;
-#X text 359 606 height;
-#X text 696 611 width;
-#X obj 309 609 outlet;
-#X obj 644 611 outlet;
-#X obj 541 84 r \$0dimen;
-#X obj 29 181 inlet;
-#X obj 35 215 route -1;
-#X obj 136 452 f 4;
-#X obj 40 284 t b b;
-#X obj 367 274 * 4;
-#X obj 39 452 f 4;
-#X obj 515 285 /;
-#X obj 339 354 moses;
-#X obj 333 496 * 4;
-#X obj 509 496 * 4;
-#X obj 124 248 /;
-#X obj 306 398 t f b;
-#X msg 336 423 1;
-#X obj 385 418 f;
-#X obj 455 435 /;
-#X obj 380 374 t b b f;
-#X obj 424 412 f;
-#X obj 368 216 min 1;
-#X connect 4 0 11 0;
-#X connect 5 0 6 0;
-#X connect 6 0 8 0;
-#X connect 6 1 15 0;
-#X connect 7 0 3 0;
-#X connect 8 0 10 0;
-#X connect 8 1 7 0;
-#X connect 9 0 10 1;
-#X connect 9 0 7 1;
-#X connect 10 0 2 0;
-#X connect 11 0 12 1;
-#X connect 11 0 18 1;
-#X connect 11 0 21 1;
-#X connect 11 0 22 0;
-#X connect 12 0 16 0;
-#X connect 12 1 20 0;
-#X connect 13 0 2 0;
-#X connect 14 0 3 0;
-#X connect 15 0 12 0;
-#X connect 16 0 13 0;
-#X connect 16 1 17 0;
-#X connect 17 0 14 0;
-#X connect 18 0 13 0;
-#X connect 19 0 14 0;
-#X connect 20 0 18 0;
-#X connect 20 1 21 0;
-#X connect 20 2 19 1;
-#X connect 21 0 19 0;
-#X connect 22 0 9 0;
-#X restore 177 444 pd fit2window;
-#N canvas 0 0 810 635 fit2originalsize 0;
-#X obj 82 26 inlet;
-#X obj 463 310 /;
-#X obj 463 440 *;
-#X obj 695 365 t f b f;
-#X obj 767 184 / 4;
-#X obj 694 252 f;
-#X obj 695 328 /;
-#X obj 629 222 t f b;
-#X obj 469 181 unpack f f;
-#X obj 555 249 t f f;
-#X obj 694 281 t b f;
-#X obj 309 609 outlet;
-#X obj 644 611 outlet;
-#X text 545 181 image width heigth (in pixels);
-#X obj 702 156 unpack f f;
-#X obj 695 303 f;
-#X obj 694 134 r \$0dimen;
-#X obj 519 212 sel -1;
-#X obj 393 249 sel -1;
-#X msg 363 366 1;
-#X msg 615 450 1;
-#X connect 0 0 8 0;
-#X connect 1 0 2 0;
-#X connect 2 0 11 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 0;
-#X connect 3 2 2 1;
-#X connect 4 0 5 1;
-#X connect 5 0 10 0;
-#X connect 6 0 3 0;
-#X connect 7 0 15 0;
-#X connect 7 1 5 0;
-#X connect 8 0 18 0;
-#X connect 8 1 17 0;
-#X connect 9 0 1 1;
-#X connect 9 1 7 0;
-#X connect 10 0 15 0;
-#X connect 10 1 6 1;
-#X connect 14 1 4 0;
-#X connect 15 0 6 0;
-#X connect 16 0 14 0;
-#X connect 17 0 20 0;
-#X connect 17 1 9 0;
-#X connect 18 0 19 0;
-#X connect 18 1 1 0;
-#X connect 19 0 11 0;
-#X connect 20 0 12 0;
-#X restore 290 442 pd fit2originalsize;
-#X obj 478 448 unpack;
-#X obj 337 123 s \$0dimen;
-#X obj 123 250 pack;
-#X obj 412 89 route float bang;
-#X obj 44 493 t a b b;
-#X obj 333 580 f 5.333;
-#X obj 497 579 f 4;
-#X obj 174 -25 inlet scale;
-#X obj 358 -23 inlet mode;
-#X obj 299 608 * 1;
-#X obj 628 609 * 1;
-#X obj 156 55 route window pixsize pixratio dimen win fill;
-#X msg 353 84 3;
-#N canvas 0 0 1024 730 fill 0;
-#X text 359 606 height;
-#X text 696 611 width;
-#X obj 309 609 outlet;
-#X obj 644 611 outlet;
-#X obj 529 143 r \$0dimen;
-#X obj 59 126 inlet;
-#X obj 443 276 /;
-#X obj 73 187 b;
-#X obj 420 332 * 4;
-#X obj 509 496 f 4;
-#X obj 327 509 f;
-#X connect 4 0 6 0;
-#X connect 5 0 7 0;
-#X connect 6 0 8 0;
-#X connect 7 0 10 0;
-#X connect 7 0 9 0;
-#X connect 8 0 10 1;
-#X connect 9 0 3 0;
-#X connect 10 0 2 0;
-#X restore 642 431 pd fill;
-#X obj 474 426 ./2dRatio;
-#X obj 158 370 zexy/demultiplex 0 1 2 3;
-#X connect 0 0 8 0;
-#X connect 8 0 18 0;
-#X connect 8 1 16 0;
-#X connect 8 2 16 1;
-#X connect 9 0 29 1;
-#X connect 10 0 29 1;
-#X connect 11 0 29 1;
-#X connect 12 0 19 0;
-#X connect 12 1 20 0;
-#X connect 13 0 19 0;
-#X connect 13 1 20 0;
-#X connect 14 0 19 0;
-#X connect 14 1 20 0;
-#X connect 16 0 29 0;
-#X connect 17 0 29 1;
-#X connect 18 0 6 0;
-#X connect 18 1 19 0;
-#X connect 18 2 20 0;
-#X connect 19 0 23 0;
-#X connect 20 0 24 0;
-#X connect 21 0 23 1;
-#X connect 21 0 24 1;
-#X connect 22 0 25 0;
-#X connect 23 0 3 0;
-#X connect 24 0 4 0;
-#X connect 25 0 9 0;
-#X connect 25 1 10 0;
-#X connect 25 2 11 0;
-#X connect 25 3 15 0;
-#X connect 25 4 9 0;
-#X connect 25 5 26 0;
-#X connect 25 6 17 0;
-#X connect 26 0 29 1;
-#X connect 27 0 19 0;
-#X connect 27 1 20 0;
-#X connect 28 0 14 0;
-#X connect 29 0 12 0;
-#X connect 29 1 13 0;
-#X connect 29 2 28 0;
-#X connect 29 3 27 0;
-#X restore 82 242 pd fit;
-#X text 614 158 gemwin width height (in pixels);
-#X obj 703 237 t b b;
-#X obj 708 390 pack;
-#X obj 698 495 s \$0dimen;
-#X obj 547 123 loadbang;
-#X obj 725 188 r GEMS;
-#X obj 653 295 value GEMSW;
-#X obj 771 296 value GEMSH;
-#X obj 309 152 tof/argument 1 window;
-#X obj 311 193 list trim;
-#X obj 492 210 tof/argument 2 1;
-#X obj 546 149 t b b b;
-#X obj 66 533 outlet;
-#X floatatom 155 312 5 0 0 0 - - -;
-#X floatatom 206 317 5 0 0 0 - - -;
-#X connect 0 0 9 0;
-#X connect 1 0 22 0;
-#X connect 2 0 9 2;
-#X connect 3 0 5 0;
-#X connect 4 0 7 0;
-#X connect 5 0 9 1;
-#X connect 5 1 8 0;
-#X connect 6 0 1 3;
-#X connect 7 0 8 0;
-#X connect 7 1 6 1;
-#X connect 8 0 6 0;
-#X connect 9 0 1 0;
-#X connect 9 1 1 1;
-#X connect 9 1 23 0;
-#X connect 9 2 1 2;
-#X connect 9 2 24 0;
-#X connect 11 0 16 0;
-#X connect 11 1 17 0;
-#X connect 12 0 13 0;
-#X connect 14 0 21 0;
-#X connect 15 0 11 0;
-#X connect 16 0 12 0;
-#X connect 17 0 12 1;
-#X connect 18 0 19 0;
-#X connect 19 0 9 2;
-#X connect 20 0 5 0;
-#X connect 21 0 18 0;
-#X connect 21 1 20 0;
-#X connect 21 2 11 0;
diff --git a/gemsScaleToPix-help.pd b/gemsScaleToPix-help.pd
new file mode 100644
index 0000000..ff59639
--- /dev/null
+++ b/gemsScaleToPix-help.pd
@@ -0,0 +1,48 @@
+#N canvas 1086 90 856 570 10;
+#X declare -lib Gem;
+#X declare -lib Gem;
+#X obj 88 165 pix_image;
+#X obj 88 423 pix_texture;
+#X obj 26 87 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 88 446 square;
+#X obj 26 108 mtl/gemsWin;
+#X obj 194 110 openpanel;
+#X msg 194 135 open \$1;
+#X obj 194 89 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X text 21 39 tags: gems;
+#X obj 405 15 import Gem;
+#X text 404 263 or;
+#X text 277 229 or;
+#X obj 88 136 gemhead;
+#X msg 236 230 ratio;
+#X msg 372 263 size;
+#X obj 88 373 mtl/gemsScaleToPix ratio;
+#X msg 296 229 1;
+#X text 323 226 (default);
+#X msg 423 261 2;
+#X msg 192 197 0;
+#X text 174 192 or;
+#X msg 146 195 none;
+#X text 21 10 Description: Scales to the width and height of a pix
+texture.;
+#X text 256 371 Argument 1: Selects the mode;
+#X text 452 258 reproduce the image \, pixel by pixel in the gem win.
+;
+#X text 382 225 scales so that the pixel ratio is kept.;
+#X text 225 194 does no scaling;
+#X connect 0 0 15 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 5 0;
+#X connect 12 0 0 0;
+#X connect 13 0 15 1;
+#X connect 14 0 15 1;
+#X connect 15 0 1 0;
+#X connect 16 0 15 1;
+#X connect 18 0 15 1;
+#X connect 19 0 15 1;
+#X connect 21 0 15 1;
diff --git a/gemsScaleToPix.pd b/gemsScaleToPix.pd
new file mode 100644
index 0000000..6f5f5c6
--- /dev/null
+++ b/gemsScaleToPix.pd
@@ -0,0 +1,127 @@
+#N canvas 1377 79 927 597 10;
+#X obj 46 54 inlet;
+#X obj 186 38 inlet mode;
+#N canvas 38 25 1022 686 fit 0;
+#X obj 42 -6 inlet;
+#X text 93 -6 gemlist;
+#X obj 42 624 outlet;
+#X text 95 625 gemlist;
+#X obj 47 172 pix_info;
+#X obj 265 453 unpack;
+#X obj 78 288 pack;
+#X obj 358 -23 inlet mode;
+#X obj 266 430 ./2dRatio;
+#N canvas 1184 174 810 635 fit2originalsize 0;
+#X obj 82 26 inlet;
+#X obj 463 310 /;
+#X obj 463 440 *;
+#X obj 695 365 t f b f;
+#X obj 767 184 / 4;
+#X obj 669 334 /;
+#X obj 469 181 unpack f f;
+#X obj 555 249 t f f;
+#X obj 309 609 outlet;
+#X obj 644 611 outlet;
+#X text 545 181 image width heigth (in pixels);
+#X obj 702 156 unpack f f;
+#X obj 694 134 r \$0dimen;
+#X floatatom 512 359 5 0 0 0 - - -;
+#X floatatom 626 359 5 0 0 0 - - -;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 1 0 13 0;
+#X connect 2 0 8 0;
+#X connect 3 0 9 0;
+#X connect 3 1 2 0;
+#X connect 3 2 2 1;
+#X connect 4 0 5 1;
+#X connect 5 0 3 0;
+#X connect 5 0 14 0;
+#X connect 6 0 1 0;
+#X connect 6 1 7 0;
+#X connect 7 0 1 1;
+#X connect 7 1 5 0;
+#X connect 11 1 4 0;
+#X connect 12 0 11 0;
+#X restore 409 441 pd fit2originalsize;
+#X obj 42 571 scaleXYZ;
+#X obj 118 215 t f f;
+#X obj 55 241 t f f;
+#X obj 125 252 > 0;
+#X obj 173 253 > 0;
+#X obj 77 328 zexy/demultiplex 0 1;
+#X obj 82 437 t b b;
+#X msg 60 469 1;
+#X msg 95 464 1;
+#X obj 153 281 &&;
+#X obj 410 109 route float list;
+#X msg 170 130 2;
+#X msg 237 130 1;
+#X obj 156 55 route size ratio none;
+#X obj 201 368 zexy/demultiplex 0 1 2;
+#X msg 297 131 0;
+#X obj 403 191 clip 0 2;
+#X connect 0 0 4 0;
+#X connect 4 0 10 0;
+#X connect 4 1 12 0;
+#X connect 4 2 11 0;
+#X connect 5 0 10 1;
+#X connect 5 1 10 2;
+#X connect 6 0 15 0;
+#X connect 7 0 23 0;
+#X connect 8 0 5 0;
+#X connect 9 0 10 1;
+#X connect 9 1 10 2;
+#X connect 10 0 2 0;
+#X connect 11 0 6 1;
+#X connect 11 1 14 0;
+#X connect 12 0 6 0;
+#X connect 12 1 13 0;
+#X connect 13 0 19 0;
+#X connect 14 0 19 1;
+#X connect 15 0 16 0;
+#X connect 15 1 24 0;
+#X connect 16 0 17 0;
+#X connect 16 1 18 0;
+#X connect 17 0 10 1;
+#X connect 18 0 10 2;
+#X connect 19 0 15 1;
+#X connect 20 0 26 0;
+#X connect 21 0 24 1;
+#X connect 22 0 24 1;
+#X connect 23 0 21 0;
+#X connect 23 1 22 0;
+#X connect 23 2 25 0;
+#X connect 23 3 20 0;
+#X connect 24 0 16 0;
+#X connect 24 1 8 0;
+#X connect 24 2 9 0;
+#X connect 25 0 24 1;
+#X connect 26 0 24 1;
+#X restore 82 242 pd fit;
+#X text 614 158 gemwin width height (in pixels);
+#X obj 703 237 t b b;
+#X obj 708 390 pack;
+#X obj 698 495 s \$0dimen;
+#X obj 431 44 loadbang;
+#X obj 725 188 r GEMS;
+#X obj 653 295 value GEMSW;
+#X obj 771 296 value GEMSH;
+#X obj 311 193 list trim;
+#X obj 66 533 outlet;
+#X obj 318 134 iemlib/dollarg;
+#X obj 430 70 t b b;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 12 0;
+#X connect 4 0 9 0;
+#X connect 4 1 10 0;
+#X connect 5 0 6 0;
+#X connect 7 0 14 0;
+#X connect 8 0 4 0;
+#X connect 9 0 5 0;
+#X connect 10 0 5 1;
+#X connect 11 0 2 1;
+#X connect 13 0 11 0;
+#X connect 14 0 4 0;
+#X connect 14 1 13 0;
diff --git a/gemsStretch-help.pd b/gemsStretch-help.pd
new file mode 100644
index 0000000..f4864f9
--- /dev/null
+++ b/gemsStretch-help.pd
@@ -0,0 +1,15 @@
+#N canvas 154 126 524 355 10;
+#X declare -lib Gem;
+#X obj 86 198 gemsStretch;
+#X obj 86 161 gemhead;
+#X obj 395 165 mtl/gemsWin;
+#X obj 395 142 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 85 269 square;
+#X obj 86 236 color 1 0 0.4 1;
+#X text 87 59 description: scales to fill the whole Gem window;
+#X text 92 83 tags: gems;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
diff --git a/gemsStretch.pd b/gemsStretch.pd
new file mode 100644
index 0000000..fdc97e8
--- /dev/null
+++ b/gemsStretch.pd
@@ -0,0 +1,22 @@
+#N canvas 0 25 1022 686 10;
+#X obj 59 31 inlet;
+#X obj 54 604 outlet;
+#X obj 87 335 /;
+#X obj 85 360 * 4;
+#X obj 58 390 scaleXYZ 4 4 4;
+#X text 411 163 gemwin width height (in pixels);
+#X obj 500 242 t b b;
+#X obj 505 395 pack;
+#X obj 522 193 r GEMS;
+#X obj 450 300 value GEMSW;
+#X obj 568 301 value GEMSH;
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 1;
+#X connect 4 0 1 0;
+#X connect 6 0 9 0;
+#X connect 6 1 10 0;
+#X connect 7 0 2 0;
+#X connect 8 0 6 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 1;