aboutsummaryrefslogtreecommitdiff
path: root/Gem
diff options
context:
space:
mode:
Diffstat (limited to 'Gem')
-rwxr-xr-xGem/Gem.la2
-rwxr-xr-xGem/Gem.pd_darwinbin5114528 -> 5234352 bytes
-rw-r--r--Gem/cubemaptosphere.frag17
-rw-r--r--Gem/cubemaptosphere.vert8
-rw-r--r--Gem/develop/include/Gem/Base/GemWindow.h2
-rw-r--r--Gem/develop/include/Gem/Gem/GLStack.h5
-rw-r--r--Gem/develop/include/Gem/Gem/Loaders.h14
-rw-r--r--Gem/develop/include/Gem/Utils/any.h18
-rw-r--r--Gem/develop/include/Gem/Utils/nop.h29
-rw-r--r--Gem/examples/10.glsl/02.primitive_distortion.pd129
-rw-r--r--Gem/examples/10.glsl/P_distord.frag9
-rwxr-xr-xGem/gem_filmAVFoundation.sobin71568 -> 71512 bytes
-rwxr-xr-xGem/gem_imageJPEG.sobin52404 -> 52052 bytes
-rwxr-xr-xGem/gem_imageMAGICK.la2
-rwxr-xr-xGem/gem_imageMAGICK.sobin55780 -> 55212 bytes
-rwxr-xr-xGem/gem_imageSGI.sobin59652 -> 59260 bytes
-rwxr-xr-xGem/gem_imageTIFF.sobin68628 -> 68244 bytes
-rwxr-xr-xGem/gem_modelOBJ.sobin86308 -> 90268 bytes
-rwxr-xr-xGem/gemcocoawindow.pd_darwinbin36876 -> 36484 bytes
-rw-r--r--Gem/gemcubeframebuffer-help.pd512
-rwxr-xr-xGem/gemglfw2window.pd_darwinbin28836 -> 28492 bytes
-rwxr-xr-xGem/gemglfw3window.la41
-rwxr-xr-xGem/gemglfw3window.pd_darwinbin38608 -> 0 bytes
-rwxr-xr-xGem/gemglutwindow.pd_darwinbin44884 -> 44428 bytes
-rwxr-xr-xGem/gemsdlwindow.pd_darwinbin41704 -> 40632 bytes
-rw-r--r--Gem/gemwin-help.pd21
-rw-r--r--Gem/gemwin.pd213
-rw-r--r--Gem/model-help.pd76
-rwxr-xr-xGem/pix_drum.pd_darwinbin26328 -> 26312 bytes
-rwxr-xr-xGem/pix_fiducialtrack.pd_darwinbin76236 -> 76412 bytes
-rwxr-xr-xGem/pix_hit.pd_darwinbin28592 -> 24320 bytes
-rwxr-xr-xGem/pix_mano.pd_darwinbin40568 -> 40456 bytes
-rw-r--r--Gem/pix_write-help.pd116
-rw-r--r--Gem/vera.ttf (renamed from Gem/examples/05.text/vera.ttf)bin65932 -> 65932 bytes
34 files changed, 923 insertions, 291 deletions
diff --git a/Gem/Gem.la b/Gem/Gem.la
index 1115f11..4a2fd15 100755
--- a/Gem/Gem.la
+++ b/Gem/Gem.la
@@ -17,7 +17,7 @@ old_library=''
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
-dependency_libs=' -L/Users/travis/build/umlaeute/Gem/build/travis-ci/deps/Pd-0.46-5-64bit.app/Contents/Resources//bin -L/usr/local/Cellar/fribidi/0.19.7/lib -lfribidi -ldl -lz -lm'
+dependency_libs=' -L/Users/travis/build/umlaeute/Gem/build/travis-ci/deps/Pd-0.46-5-64bit.app/Contents/Resources//bin -L/usr/local/Cellar/fribidi/0.19.7_1/lib -L/usr/local/Cellar/glib/2.50.2/lib -L/usr/local/opt/gettext/lib -lfribidi -lglib-2.0 -lintl -ldl -lz -lm'
# Names of additional weak libraries provided by this library
weak_library_names=''
diff --git a/Gem/Gem.pd_darwin b/Gem/Gem.pd_darwin
index 44ca065..19ce2d8 100755
--- a/Gem/Gem.pd_darwin
+++ b/Gem/Gem.pd_darwin
Binary files differ
diff --git a/Gem/cubemaptosphere.frag b/Gem/cubemaptosphere.frag
new file mode 100644
index 0000000..cd2befb
--- /dev/null
+++ b/Gem/cubemaptosphere.frag
@@ -0,0 +1,17 @@
+// Antoine Rousseau september 2015
+#version 120
+
+uniform samplerCube envMap;
+uniform float alpha = 1.0;
+
+void main() {
+
+ vec2 tc = gl_TexCoord[0].st ;
+ vec2 thetaphi = ((tc * 2.0) - vec2(1.0)) * vec2(3.1415926535897932384626433832795, 1.5707963267948966192313216916398);
+ float ctpy = cos(thetaphi.y);
+
+ vec3 rayDirection = vec3(ctpy * cos(thetaphi.x), sin(thetaphi.y), ctpy * sin(thetaphi.x));
+
+ gl_FragColor = textureCube(envMap, rayDirection);
+ gl_FragColor.a *= alpha;
+}
diff --git a/Gem/cubemaptosphere.vert b/Gem/cubemaptosphere.vert
new file mode 100644
index 0000000..bda9f47
--- /dev/null
+++ b/Gem/cubemaptosphere.vert
@@ -0,0 +1,8 @@
+// Cyrille Henry 2007
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+
+}
diff --git a/Gem/develop/include/Gem/Base/GemWindow.h b/Gem/develop/include/Gem/Base/GemWindow.h
index 18ad28f..c69f249 100644
--- a/Gem/develop/include/Gem/Base/GemWindow.h
+++ b/Gem/develop/include/Gem/Base/GemWindow.h
@@ -174,6 +174,7 @@ class GEM_EXTERN GemWindow : public CPPExtern
/* render context (pre creation) */
virtual void bufferMess(int buf);
virtual void fsaaMess(int value);
+ virtual void transparentMess(bool on);
/* window decoration (pre creation) */
virtual void titleMess(std::string);
@@ -208,6 +209,7 @@ class GEM_EXTERN GemWindow : public CPPExtern
unsigned int m_buffer;
std::string m_title;
bool m_cursor;
+ bool m_transparent;
int m_fsaa;
gem::Context* m_context;
diff --git a/Gem/develop/include/Gem/Gem/GLStack.h b/Gem/develop/include/Gem/Gem/GLStack.h
index 2584578..4c9037c 100644
--- a/Gem/develop/include/Gem/Gem/GLStack.h
+++ b/Gem/develop/include/Gem/Gem/GLStack.h
@@ -65,7 +65,12 @@ class GEM_EXTERN GLStack {
private:
class Data;
+ // try using unique_ptr<> if it is supported
+#if __cplusplus < 201103L
std::auto_ptr<Data>data;
+#else
+ std::unique_ptr<Data>data;
+#endif
};
} /* namespace gem */
diff --git a/Gem/develop/include/Gem/Gem/Loaders.h b/Gem/develop/include/Gem/Gem/Loaders.h
index 2a3e1c0..ccc5769 100644
--- a/Gem/develop/include/Gem/Gem/Loaders.h
+++ b/Gem/develop/include/Gem/Gem/Loaders.h
@@ -18,8 +18,20 @@ LOG
#include "Gem/RTE.h"
extern "C" {
- typedef int (*gem_loader_t)(t_canvas *canvas, char *classname);
+ /* search for a class <classname> in <path>
+ * if <path> is NULL, search all paths yourself
+ * Only on Pd>=0.47 will <path> have a value */
+ typedef int (*gem_loader_t)(const t_canvas *canvas, const char *classname, const char *path);
+ /* register a loader that respects the path (any file-based loader)
+ * In Pd<0.47 this loader will be called with a path==NULL, and the loader needs to iterate
+ * over the paths on its own (e.g. using canvas_open())
+ * In Pd>=0.47 this loader will only be called with path!=NULL
+ */
void gem_register_loader(gem_loader_t loader);
+ /* registers a loader that ignores the path (path will always be set to NULL)
+ * for Pd>=0.47 this loader will be called after all the path-accepting loaders
+ */
+ void gem_register_loader_nopath(gem_loader_t loader);
}
#endif
diff --git a/Gem/develop/include/Gem/Utils/any.h b/Gem/develop/include/Gem/Utils/any.h
index fc66b46..56cdec7 100644
--- a/Gem/develop/include/Gem/Utils/any.h
+++ b/Gem/develop/include/Gem/Utils/any.h
@@ -132,12 +132,19 @@ namespace gem
template <typename T>
any(const T& x) : table(NULL), object(NULL) {
table = any_detail::get_table<T>::get();
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wplacement-new"
+#endif
if (sizeof(T) <= sizeof(void*)) {
new(&object) T(x);
}
else {
object = new T(x);
}
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
}
any(void) : table(NULL), object(NULL) {
@@ -181,14 +188,16 @@ namespace gem
if (table == x_table) {
// if so, we can avoid deallocating and resuse memory
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wplacement-new"
+#endif
if (sizeof(T) <= sizeof(void*)) {
// create copy on-top of object pointer itself
-
new(&object) T(x);
}
else {
// create copy on-top of old version
-
new(object) T(x);
}
}
@@ -196,16 +205,17 @@ namespace gem
reset();
if (sizeof(T) <= sizeof(void*)) {
// create copy on-top of object pointer itself
-
new(&object) T(x);
// update table pointer
-
table = x_table;
}
else {
object = new T(x);
table = x_table;
}
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
}
return *this;
}
diff --git a/Gem/develop/include/Gem/Utils/nop.h b/Gem/develop/include/Gem/Utils/nop.h
new file mode 100644
index 0000000..0be005b
--- /dev/null
+++ b/Gem/develop/include/Gem/Utils/nop.h
@@ -0,0 +1,29 @@
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ nop.h
+ - contains nop functions/macros
+ - part of GEM
+
+ Copyright (c) 2016 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_UTILS_NOP_H_
+#define _INCLUDE__GEM_UTILS_NOP_H_
+
+#if __STDC_VERSION__ >= 199901L
+# define nop(...)
+#else
+# define nop
+#endif
+
+static inline void gem__nop_post(void) { ; }
+static inline void gem__nop_post(const char*fmt, ...) { ; }
+#define nop_post gem__nop_post
+
+#endif // for header file
+
diff --git a/Gem/examples/10.glsl/02.primitive_distortion.pd b/Gem/examples/10.glsl/02.primitive_distortion.pd
index 9a5280a..9b93121 100644
--- a/Gem/examples/10.glsl/02.primitive_distortion.pd
+++ b/Gem/examples/10.glsl/02.primitive_distortion.pd
@@ -1,22 +1,20 @@
-#N canvas 462 82 520 667 10;
-#X obj 74 -1 gemhead;
-#X msg 29 80 print;
-#X obj 74 262 glsl_program;
-#X obj 146 121 change;
-#X msg 98 233 print;
-#X floatatom 146 144 2 0 0 0 ID - -;
-#X obj 164 212 print linking;
-#X obj 74 102 glsl_vertex;
-#X obj 74 451 pix_texture;
-#X obj 124 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 74 24 alpha;
-#X obj 101 397 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#N canvas 228 49 587 690 10;
+#X obj 74 19 gemhead;
+#X msg 29 100 print;
+#X obj 74 362 glsl_program;
+#X obj 215 141 change;
+#X msg 98 333 print;
+#X floatatom 215 164 2 0 0 0 ID - -, f 2;
+#X obj 164 312 print linking;
+#X obj 74 122 glsl_vertex;
+#X obj 74 551 pix_texture;
+#X obj 74 44 alpha;
+#X obj 101 497 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X floatatom 292 202 5 0 0 0 - - -;
-#X msg 101 375 0;
-#X msg 292 223 K \$1;
-#X obj 74 494 sphere 2 30;
+#X floatatom 292 302 5 0 0 0 - - -, f 5;
+#X msg 101 475 0;
+#X msg 292 323 K \$1;
+#X obj 74 594 sphere 2 30;
#N canvas 0 50 450 300 load_shader 0;
#X obj 89 99 t b b;
#X msg 119 126 0;
@@ -26,7 +24,7 @@
#X connect 0 1 1 0;
#X connect 1 0 3 0;
#X connect 3 0 0 0;
-#X restore 124 38 pd load_shader;
+#X restore 166 14 pd load_shader;
#N canvas 50 82 450 300 init_shader 0;
#X obj 89 154 outlet;
#X obj 89 45 inlet;
@@ -35,16 +33,14 @@
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
-#X restore 153 286 pd init_shader;
-#X obj 101 354 loadbang;
-#X text 347 201 <- 2;
-#X text 395 670 ch 20007;
-#X msg 103 305 open texture.jpg;
-#X obj 74 471 rotateXYZ -90 0 0;
-#X msg 292 177 0.1;
-#X obj 74 328 pix_image img3.jpg;
-#X msg 88 80 open P_distord.vert;
-#X text 69 527 this shader create a dirty pseudo random value \, and
+#X restore 153 386 pd init_shader;
+#X obj 101 454 loadbang;
+#X text 347 301 <- 2;
+#X msg 103 405 open texture.jpg;
+#X obj 74 571 rotateXYZ -90 0 0;
+#X msg 292 277 0.1;
+#X obj 74 428 pix_image img3.jpg;
+#X text 69 627 this shader create a dirty pseudo random value \, and
move all vertices separatly;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
@@ -52,10 +48,10 @@ move all vertices separatly;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
-#X restore 389 41 pd Gem.init;
+#X restore 389 61 pd Gem.init;
#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;
+-1 -1 0 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
@@ -92,34 +88,51 @@ move all vertices separatly;
#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 359 58 pd gemwin;
-#X msg 101 417 rectangle \$1;
-#X msg 146 191 link \$1;
-#X connect 0 0 10 0;
+#X restore 359 78 pd gemwin;
+#X msg 101 517 rectangle \$1;
+#X obj 74 180 glsl_fragment;
+#X obj 162 202 change;
+#X floatatom 162 225 2 0 0 0 ID - -, f 2;
+#X obj 162 244 pack 0 0;
+#X msg 162 291 link \$1 \$2;
+#X msg 198 100 open \$1.frag;
+#X msg 166 43 symbol P_distord;
+#X obj 166 63 t s s;
+#X msg 88 100 open \$1.vert;
+#X text 423 651 ch 2007;
+#X connect 0 0 9 0;
#X connect 1 0 7 0;
-#X connect 2 0 24 0;
-#X connect 2 1 17 0;
+#X connect 2 0 22 0;
+#X connect 2 1 16 0;
#X connect 3 0 5 0;
#X connect 4 0 2 0;
-#X connect 5 0 30 0;
-#X connect 7 0 2 0;
+#X connect 5 0 30 1;
+#X connect 7 0 27 0;
#X connect 7 1 3 0;
-#X connect 8 0 22 0;
-#X connect 9 0 25 0;
-#X connect 10 0 7 0;
-#X connect 11 0 29 0;
-#X connect 12 0 14 0;
-#X connect 13 0 11 0;
-#X connect 14 0 2 0;
-#X connect 16 0 9 0;
-#X connect 17 0 23 0;
-#X connect 18 0 13 0;
-#X connect 21 0 24 0;
-#X connect 22 0 15 0;
-#X connect 23 0 12 0;
-#X connect 24 0 8 0;
-#X connect 25 0 7 0;
-#X connect 27 0 28 0;
-#X connect 29 0 8 0;
-#X connect 30 0 2 0;
-#X connect 30 0 6 0;
+#X connect 8 0 20 0;
+#X connect 9 0 7 0;
+#X connect 10 0 26 0;
+#X connect 11 0 13 0;
+#X connect 12 0 10 0;
+#X connect 13 0 2 0;
+#X connect 15 0 33 0;
+#X connect 16 0 21 0;
+#X connect 17 0 12 0;
+#X connect 19 0 22 0;
+#X connect 20 0 14 0;
+#X connect 21 0 11 0;
+#X connect 22 0 8 0;
+#X connect 24 0 25 0;
+#X connect 26 0 8 0;
+#X connect 27 0 2 0;
+#X connect 27 1 28 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 31 0 2 0;
+#X connect 31 0 6 0;
+#X connect 32 0 27 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 34 1 32 0;
+#X connect 35 0 7 0;
diff --git a/Gem/examples/10.glsl/P_distord.frag b/Gem/examples/10.glsl/P_distord.frag
index 5460d6c..29f3e63 100644
--- a/Gem/examples/10.glsl/P_distord.frag
+++ b/Gem/examples/10.glsl/P_distord.frag
@@ -8,12 +8,3 @@ void main()
gl_FragColor = texture2D(tex0, C ) ;
}
-
-
-
-
-
-
-
-
-
diff --git a/Gem/gem_filmAVFoundation.so b/Gem/gem_filmAVFoundation.so
index bb9bffc..e289259 100755
--- a/Gem/gem_filmAVFoundation.so
+++ b/Gem/gem_filmAVFoundation.so
Binary files differ
diff --git a/Gem/gem_imageJPEG.so b/Gem/gem_imageJPEG.so
index 4a8fc2a..6360b8e 100755
--- a/Gem/gem_imageJPEG.so
+++ b/Gem/gem_imageJPEG.so
Binary files differ
diff --git a/Gem/gem_imageMAGICK.la b/Gem/gem_imageMAGICK.la
index 236edce..58b6dd8 100755
--- a/Gem/gem_imageMAGICK.la
+++ b/Gem/gem_imageMAGICK.la
@@ -17,7 +17,7 @@ old_library=''
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
-dependency_libs=' -L/Users/travis/build/umlaeute/Gem/build/travis-ci/deps/Pd-0.46-5-64bit.app/Contents/Resources//bin -L../.. -L/usr/local/Cellar/imagemagick/6.9.2-3/lib /usr/local/Cellar/imagemagick/6.9.2-3/lib/libMagick++-6.Q16.la -L/usr/local/Cellar/freetype/2.6_1/lib -L/usr/local/Cellar/xz/5.2.1/lib -L/usr/lib /usr/local/Cellar/imagemagick/6.9.2-3/lib/libMagickWand-6.Q16.la /usr/local/Cellar/imagemagick/6.9.2-3/lib/libMagickCore-6.Q16.la -lfreetype -llzma -lbz2 -lltdl -ldl -lz -lm'
+dependency_libs=' -L/Users/travis/build/umlaeute/Gem/build/travis-ci/deps/Pd-0.46-5-64bit.app/Contents/Resources//bin -L../.. -L/usr/local/Cellar/imagemagick/6.9.7-0/lib /usr/local/Cellar/imagemagick/6.9.7-0/lib/libMagick++-6.Q16.la -L/usr/local/opt/freetype/lib -L/usr/local/Cellar/xz/5.2.2/lib /usr/local/Cellar/imagemagick/6.9.7-0/lib/libMagickWand-6.Q16.la /usr/local/Cellar/imagemagick/6.9.7-0/lib/libMagickCore-6.Q16.la -lfreetype -llzma -lbz2 -lltdl -ldl -lz -lm'
# Names of additional weak libraries provided by this library
weak_library_names=''
diff --git a/Gem/gem_imageMAGICK.so b/Gem/gem_imageMAGICK.so
index 43265a0..9265543 100755
--- a/Gem/gem_imageMAGICK.so
+++ b/Gem/gem_imageMAGICK.so
Binary files differ
diff --git a/Gem/gem_imageSGI.so b/Gem/gem_imageSGI.so
index 5de452e..107ad52 100755
--- a/Gem/gem_imageSGI.so
+++ b/Gem/gem_imageSGI.so
Binary files differ
diff --git a/Gem/gem_imageTIFF.so b/Gem/gem_imageTIFF.so
index 8702101..a4566ea 100755
--- a/Gem/gem_imageTIFF.so
+++ b/Gem/gem_imageTIFF.so
Binary files differ
diff --git a/Gem/gem_modelOBJ.so b/Gem/gem_modelOBJ.so
index 93df2c3..e5b3758 100755
--- a/Gem/gem_modelOBJ.so
+++ b/Gem/gem_modelOBJ.so
Binary files differ
diff --git a/Gem/gemcocoawindow.pd_darwin b/Gem/gemcocoawindow.pd_darwin
index c4cd3d5..4640427 100755
--- a/Gem/gemcocoawindow.pd_darwin
+++ b/Gem/gemcocoawindow.pd_darwin
Binary files differ
diff --git a/Gem/gemcubeframebuffer-help.pd b/Gem/gemcubeframebuffer-help.pd
new file mode 100644
index 0000000..a333dcb
--- /dev/null
+++ b/Gem/gemcubeframebuffer-help.pd
@@ -0,0 +1,512 @@
+#N canvas 584 161 745 692 10;
+#X obj 482 415 cnv 15 90 40 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X obj 175 337 cnv 15 90 60 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#X obj 174 147 cnv 15 180 25 empty empty pre 2 12 0 14 -4032 -1 0;
+#X obj 174 257 cnv 15 180 25 empty empty post 2 12 0 14 -4032 -1 0
+;
+#X obj 20 571 cnv 15 600 30 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X obj 27 92 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 234 575 448 300 gemwin 0;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 271 113 destroy;
+#X msg 146 71 set create;
+#X obj 67 41 route create;
+#X msg 311 80 lighting \$1;
+#X obj 311 56 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 198 32 dimen 1024 768;
+#X msg 190 10 dimen 1280 1024;
+#X msg 132 112 create \, 1 \, view 0 0 3;
+#X obj 86 132 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 342 29 inlet;
+#X obj 132 149 gemwin;
+#X obj 3 11 loadbang;
+#X obj 217 197 gemhead 80;
+#X obj 217 224 world_light;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 13 0;
+#X connect 4 0 0 0;
+#X connect 5 0 2 0;
+#X connect 5 0 10 0;
+#X connect 5 1 4 0;
+#X connect 5 1 3 0;
+#X connect 6 0 13 0;
+#X connect 7 0 6 0;
+#X connect 8 0 13 0;
+#X connect 9 0 13 0;
+#X connect 10 0 13 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 14 0 4 0;
+#X connect 15 0 16 0;
+#X restore 32 131 pd gemwin;
+#X msg 32 109 destroy;
+#X obj 174 225 cnv 15 180 30 empty empty empty 20 12 0 14 -4034 -66577
+0;
+#X obj 184 24 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 184 68 alpha;
+#N canvas 974 317 450 481 draw_6_faces 0;
+#X msg 177 365 face \$1;
+#X obj 75 18 inlet;
+#X obj 177 276 t f f;
+#X obj 75 217 t a b;
+#X msg 104 241 0;
+#X obj 90 190 t a b;
+#X obj 105 155 t a b;
+#X obj 120 127 t a b;
+#X obj 135 100 t a b;
+#X obj 150 78 t a b;
+#X msg 118 211 1;
+#X msg 132 174 2;
+#X msg 147 147 3;
+#X msg 162 125 4;
+#X obj 75 56 t a a a a a a;
+#X msg 177 100 5;
+#X obj 75 419 outlet;
+#X obj 204 341 outlet num_face_to_rot_scene;
+#X connect 0 0 16 0;
+#X connect 1 0 14 0;
+#X connect 2 0 0 0;
+#X connect 2 1 17 0;
+#X connect 3 0 16 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 16 0;
+#X connect 5 1 10 0;
+#X connect 6 0 16 0;
+#X connect 6 1 11 0;
+#X connect 7 0 16 0;
+#X connect 7 1 12 0;
+#X connect 8 0 16 0;
+#X connect 8 1 13 0;
+#X connect 9 0 16 0;
+#X connect 9 1 15 0;
+#X connect 10 0 2 0;
+#X connect 11 0 2 0;
+#X connect 12 0 2 0;
+#X connect 13 0 2 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 14 5 9 0;
+#X connect 15 0 2 0;
+#X restore 211 152 pd draw_6_faces;
+#N canvas 788 152 450 372 rotate_scene 0;
+#X obj 81 190 unpack f f;
+#X obj 81 78 sel 0 1 2 3 4 5;
+#X msg 81 131 0 90;
+#X msg 114 131 0 -90;
+#X msg 153 131 90 0;
+#X msg 188 131 -90 0;
+#X msg 234 131 0 0;
+#X msg 263 131 0 180;
+#X obj 81 47 inlet num_face;
+#X obj 50 9 inlet head;
+#X obj 50 304 outlet head;
+#X floatatom 163 186 5 0 0 0 - - -, f 5;
+#X floatatom 89 245 5 0 0 0 - - -, f 5;
+#X floatatom 148 250 5 0 0 0 - - -, f 5;
+#X floatatom 57 253 5 0 0 0 - - -, f 5;
+#X obj 50 216 rotateXYZ 0 90 0;
+#X obj 50 280 rotateXYZ -90 0 90;
+#X connect 0 0 15 1;
+#X connect 0 1 15 2;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 1 2 4 0;
+#X connect 1 3 5 0;
+#X connect 1 4 6 0;
+#X connect 1 5 7 0;
+#X connect 2 0 0 0;
+#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 0 0;
+#X connect 8 0 1 0;
+#X connect 9 0 15 0;
+#X connect 11 0 15 3;
+#X connect 12 0 16 2;
+#X connect 13 0 16 3;
+#X connect 14 0 16 1;
+#X connect 15 0 16 0;
+#X connect 16 0 10 0;
+#X restore 211 263 pd rotate_scene;
+#X obj 211 231 gemcubeframebuffer;
+#X obj 225 177 loadbang;
+#X obj 184 107 t a a;
+#N canvas 620 313 360 553 shader 0;
+#X obj 72 166 glsl_vertex;
+#X obj 72 269 glsl_fragment;
+#X obj 72 449 glsl_program;
+#X obj 138 387 pack 0 0;
+#X obj 156 357 t b f;
+#X obj 156 300 change;
+#X obj 138 191 change;
+#X msg 138 409 link \$1 \$2;
+#X floatatom 156 324 2 0 0 0 ID - -, f 2;
+#X floatatom 138 214 2 0 0 0 ID - -, f 2;
+#X obj 120 60 tgl 15 0 \$0-shadOn-snd \$0-shadOn-rcv on/off 17 7 0
+10 -262144 -1 -1 1 1;
+#X obj 21 59 inlet gemlist;
+#X obj 21 489 outlet gemlist;
+#X msg 87 139 open \$1.vert;
+#X msg 152 238 open \$1.frag;
+#X obj 120 14 loadbang;
+#X msg 120 36 1;
+#X obj 152 69 inlet loadShader;
+#X obj 229 408 inlet variables;
+#N canvas 85 80 450 300 demux 0;
+#X obj 52 33 inlet;
+#X obj 308 37 inlet select;
+#X obj 52 55 t a a;
+#X obj 52 148 outlet;
+#X obj 105 105 == 0;
+#X obj 52 126 spigot 1;
+#X obj 122 148 outlet;
+#X obj 175 105 == 1;
+#X obj 122 126 spigot 0;
+#X obj 308 59 t f f;
+#X connect 0 0 2 0;
+#X connect 1 0 9 0;
+#X connect 2 0 5 0;
+#X connect 2 1 8 0;
+#X connect 4 0 5 1;
+#X connect 5 0 3 0;
+#X connect 7 0 8 1;
+#X connect 8 0 6 0;
+#X connect 9 0 4 0;
+#X connect 9 1 7 0;
+#X restore 21 108 pd demux;
+#X obj 152 91 symbol;
+#X obj 152 113 t s s;
+#X connect 0 0 1 0;
+#X connect 0 1 6 0;
+#X connect 1 0 2 0;
+#X connect 1 1 5 0;
+#X connect 2 0 12 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 4 1 3 1;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 7 0 2 0;
+#X connect 8 0 4 0;
+#X connect 9 0 3 0;
+#X connect 10 0 19 1;
+#X connect 11 0 19 0;
+#X connect 13 0 0 0;
+#X connect 14 0 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 10 0;
+#X connect 17 0 20 0;
+#X connect 18 0 2 0;
+#X connect 19 0 12 0;
+#X connect 19 1 0 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 0;
+#X connect 21 1 14 0;
+#X restore 184 369 pd shader;
+#X obj 184 343 pix_texture;
+#X obj 184 310 separator;
+#X obj 211 130 separator;
+#X obj 276 343 loadbang;
+#X obj 184 576 rectangle 2.8 1.4;
+#X obj 355 63 gemframebuffer;
+#X obj 326 532 translateXYZ 0 0 -4;
+#X obj 184 553 spigot;
+#X obj 326 575 sphere 4 50;
+#X obj 223 530 == 1;
+#X obj 39 553 translateXYZ 0 0 -7;
+#X obj 33 184 vradio 20 1 0 4 empty empty empty 0 -8 0 10 -257985 -1
+-1 3;
+#X text 55 185 scene;
+#X text 55 204 equirectangular;
+#X text 55 224 mapped to sphere;
+#X obj 223 506 r \$0-show;
+#X obj 33 269 s \$0-show;
+#X obj 379 460 r \$0-show;
+#X obj 92 486 r \$0-show;
+#X obj 92 508 == 0;
+#X obj 39 531 spigot 1;
+#X obj 379 483 == 2;
+#X obj 326 508 spigot 0;
+#X obj 211 288 s \$0-sceneHead;
+#X obj 39 575 s \$0-sceneHead;
+#X msg 92 51 lighting \$1;
+#X obj 92 27 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X text 28 88 1:Create window;
+#X obj 404 259 cnv 15 120 60 empty empty empty 20 12 0 14 -257985 -66577
+0;
+#N canvas 801 163 632 578 draw_scene 0;
+#X obj 243 285 rotateXYZ;
+#X obj 402 84 f;
+#X obj 402 109 + 1;
+#X obj 402 61 metro 50;
+#X obj 63 314 cube 0.75;
+#X obj 63 283 rotateXYZ 45 0 0;
+#X obj 62 434 sphere 0.75 30;
+#X obj 63 179 separator;
+#X obj 243 181 separator;
+#X obj 62 346 separator;
+#X obj 242 348 separator;
+#X obj 63 255 translateXYZ 3 3 0;
+#X obj 243 243 translateXYZ 3 -3 0;
+#X obj 62 411 translateXYZ -3 3 0;
+#X obj 242 410 translateXYZ -3 -3 0;
+#X obj 243 316 cylinder 0.75;
+#X obj 242 436 cube 0.75;
+#X obj 402 315 / 180;
+#X obj 402 334 * 3.14159;
+#X obj 402 358 cos;
+#X obj 402 276 * 10;
+#X obj 390 414 f;
+#X obj 390 386 + 1;
+#X obj 418 387 * -1;
+#X obj 418 414 + 1;
+#X floatatom 320 341 5 0 0 0 - - -, f 5;
+#X obj 63 218 color 0.8 0.2 0.2;
+#X obj 243 218 color 0.2 0.8 0.2;
+#X obj 242 385 color 0.8 0.8 0.2;
+#X obj 62 385 color 0.2 0.2 0.8;
+#X obj 402 16 loadbang;
+#X obj 402 40 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X floatatom 156 320 5 0 0 0 - - -, f 5;
+#X obj 185 34 inlet;
+#X obj 185 88 rotateXYZ 0 0 0;
+#X obj 488 187 separator;
+#X obj 488 211 color 0.2 0.8 0.8;
+#X msg 504 261 draw line;
+#X obj 185 112 t a a;
+#X obj 185 139 t a;
+#X obj 504 239 loadbang;
+#X obj 253 54 * 0.5;
+#X obj 402 133 mod 720;
+#X obj 488 295 sphere 6 20;
+#X msg 466 95 0;
+#X connect 0 0 15 0;
+#X connect 1 0 2 0;
+#X connect 2 0 42 0;
+#X connect 3 0 1 0;
+#X connect 5 0 4 0;
+#X connect 7 0 26 0;
+#X connect 8 0 27 0;
+#X connect 9 0 29 0;
+#X connect 10 0 28 0;
+#X connect 11 0 5 0;
+#X connect 12 0 0 0;
+#X connect 13 0 6 0;
+#X connect 14 0 16 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 22 0;
+#X connect 19 0 23 0;
+#X connect 20 0 17 0;
+#X connect 21 0 14 3;
+#X connect 21 0 11 3;
+#X connect 22 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 13 3;
+#X connect 24 0 12 3;
+#X connect 25 0 15 1;
+#X connect 26 0 11 0;
+#X connect 27 0 12 0;
+#X connect 28 0 14 0;
+#X connect 29 0 13 0;
+#X connect 30 0 31 0;
+#X connect 31 0 3 0;
+#X connect 32 0 5 3;
+#X connect 33 0 34 0;
+#X connect 34 0 38 0;
+#X connect 35 0 36 0;
+#X connect 36 0 43 0;
+#X connect 37 0 43 0;
+#X connect 38 0 39 0;
+#X connect 38 1 35 0;
+#X connect 39 0 7 0;
+#X connect 39 0 9 0;
+#X connect 39 0 8 0;
+#X connect 39 0 10 0;
+#X connect 40 0 37 0;
+#X connect 41 0 34 1;
+#X connect 42 0 1 1;
+#X connect 42 0 0 3;
+#X connect 42 0 5 3;
+#X connect 42 0 0 2;
+#X connect 42 0 20 0;
+#X connect 42 0 34 3;
+#X connect 42 0 34 2;
+#X connect 42 0 41 0;
+#X connect 44 0 42 0;
+#X restore 409 294 pd draw_scene;
+#X obj 409 265 r \$0-sceneHead;
+#X text 30 165 Show:;
+#X obj 553 178 hsl 128 15 0 1 0 0 empty empty background_opacity -2
+-8 0 10 -262144 -1 -1 0 1;
+#X msg 550 199 color 0 0.1 0.2 \$1;
+#X msg 225 199 dimen 512 512 \, format RGBA \, color 0 0.1 0.2 1;
+#X text 14 630 Antoine Rousseau nov 2015;
+#X text 316 64 See:;
+#X text 467 64 for more messages.;
+#X text 309 39 Renders a scene to faces of a GL cubemap texture.;
+#X msg 276 366 cubemaptosphere;
+#N canvas 624 251 360 553 shader 0;
+#X obj 72 166 glsl_vertex;
+#X obj 72 269 glsl_fragment;
+#X obj 72 449 glsl_program;
+#X obj 138 387 pack 0 0;
+#X obj 156 357 t b f;
+#X obj 156 300 change;
+#X obj 138 191 change;
+#X msg 138 409 link \$1 \$2;
+#X floatatom 156 324 2 0 0 0 ID - -, f 2;
+#X floatatom 138 214 2 0 0 0 ID - -, f 2;
+#X obj 120 60 tgl 15 0 \$0-shadOn-snd \$0-shadOn-rcv on/off 17 7 0
+10 -262144 -1 -1 1 1;
+#X obj 21 59 inlet gemlist;
+#X obj 21 489 outlet gemlist;
+#X msg 87 139 open \$1.vert;
+#X msg 152 238 open \$1.frag;
+#X obj 120 14 loadbang;
+#X msg 120 36 1;
+#X obj 152 69 inlet loadShader;
+#X obj 229 408 inlet variables;
+#N canvas 85 80 450 300 demux 0;
+#X obj 52 33 inlet;
+#X obj 308 37 inlet select;
+#X obj 52 55 t a a;
+#X obj 52 148 outlet;
+#X obj 105 105 == 0;
+#X obj 52 126 spigot 1;
+#X obj 122 148 outlet;
+#X obj 175 105 == 1;
+#X obj 122 126 spigot 0;
+#X obj 308 59 t f f;
+#X connect 0 0 2 0;
+#X connect 1 0 9 0;
+#X connect 2 0 5 0;
+#X connect 2 1 8 0;
+#X connect 4 0 5 1;
+#X connect 5 0 3 0;
+#X connect 7 0 8 1;
+#X connect 8 0 6 0;
+#X connect 9 0 4 0;
+#X connect 9 1 7 0;
+#X restore 21 108 pd demux;
+#X obj 152 91 symbol;
+#X obj 152 113 t s s;
+#X connect 0 0 1 0;
+#X connect 0 1 6 0;
+#X connect 1 0 2 0;
+#X connect 1 1 5 0;
+#X connect 2 0 12 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 4 1 3 1;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 7 0 2 0;
+#X connect 8 0 4 0;
+#X connect 9 0 3 0;
+#X connect 10 0 19 1;
+#X connect 11 0 19 0;
+#X connect 13 0 0 0;
+#X connect 14 0 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 10 0;
+#X connect 17 0 20 0;
+#X connect 18 0 2 0;
+#X connect 19 0 12 0;
+#X connect 19 1 0 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 0;
+#X connect 21 1 14 0;
+#X restore 493 429 pd shader;
+#X obj 575 364 loadbang;
+#X obj 493 385 spigot;
+#X obj 532 338 r \$0-show;
+#X msg 575 387 cubemaptocube;
+#X obj 532 362 == 3;
+#X obj 493 542 accumrotate;
+#X obj 493 489 t a b;
+#X obj 520 521 0.5;
+#X obj 551 520 0.7;
+#X obj 493 462 translateXYZ 0 0 -4;
+#X obj 686 677 separator;
+#X obj 493 578 cube 3;
+#X msg 623 423 3;
+#X msg 587 424 -4;
+#X msg 456 498 3;
+#X msg 420 499 -4;
+#X obj 184 46 gemhead;
+#X text 55 245 mapped to cube;
+#X connect 6 0 7 0;
+#X connect 7 0 6 0;
+#X connect 9 0 74 0;
+#X connect 10 0 15 0;
+#X connect 11 0 13 0;
+#X connect 11 1 12 1;
+#X connect 12 0 40 0;
+#X connect 13 0 12 0;
+#X connect 13 1 17 1;
+#X connect 14 0 51 0;
+#X connect 15 0 18 0;
+#X connect 15 1 19 0;
+#X connect 16 0 24 0;
+#X connect 16 0 39 0;
+#X connect 17 0 16 0;
+#X connect 17 0 59 0;
+#X connect 18 0 17 0;
+#X connect 18 0 37 0;
+#X connect 19 0 11 0;
+#X connect 20 0 56 0;
+#X connect 23 0 25 0;
+#X connect 24 0 21 0;
+#X connect 26 0 24 1;
+#X connect 27 0 41 0;
+#X connect 28 0 33 0;
+#X connect 32 0 26 0;
+#X connect 34 0 38 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 1;
+#X connect 37 0 27 0;
+#X connect 38 0 39 1;
+#X connect 39 0 23 0;
+#X connect 42 0 6 1;
+#X connect 43 0 42 0;
+#X connect 47 0 46 0;
+#X connect 49 0 50 0;
+#X connect 50 0 13 0;
+#X connect 51 0 13 0;
+#X connect 56 0 16 1;
+#X connect 57 0 67 0;
+#X connect 58 0 61 0;
+#X connect 59 0 57 0;
+#X connect 60 0 62 0;
+#X connect 61 0 57 1;
+#X connect 62 0 59 1;
+#X connect 63 0 69 0;
+#X connect 64 0 63 0;
+#X connect 64 1 65 0;
+#X connect 64 1 66 0;
+#X connect 65 0 63 1;
+#X connect 66 0 63 2;
+#X connect 67 0 64 0;
+#X connect 70 0 67 3;
+#X connect 71 0 67 3;
+#X connect 72 0 23 3;
+#X connect 73 0 23 3;
+#X connect 74 0 10 0;
diff --git a/Gem/gemglfw2window.pd_darwin b/Gem/gemglfw2window.pd_darwin
index cb8a7b6..6587024 100755
--- a/Gem/gemglfw2window.pd_darwin
+++ b/Gem/gemglfw2window.pd_darwin
Binary files differ
diff --git a/Gem/gemglfw3window.la b/Gem/gemglfw3window.la
deleted file mode 100755
index caa9301..0000000
--- a/Gem/gemglfw3window.la
+++ /dev/null
@@ -1,41 +0,0 @@
-# gemglfw3window.la - a libtool library file
-# Generated by libtool (GNU libtool) 2.4.6
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='gemglfw3window.pd_darwin'
-
-# Names of this library.
-library_names='gemglfw3window.pd_darwin gemglfw3window.pd_darwin'
-
-# The name of the static archive.
-old_library=''
-
-# Linker flags that cannot go in dependency_libs.
-inherited_linker_flags=' '
-
-# Libraries that this one depends upon.
-dependency_libs=' -L/Users/travis/build/umlaeute/Gem/build/travis-ci/deps/Pd-0.46-5-64bit.app/Contents/Resources//bin -L../.. -L/usr/local/Cellar/glfw3/3.1.1/lib -lglfw3 -ldl -lz -lm'
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for gemglfw3window.
-current=0
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=yes
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/usr/local/lib/pd/extra/Gem'
diff --git a/Gem/gemglfw3window.pd_darwin b/Gem/gemglfw3window.pd_darwin
deleted file mode 100755
index 5f0bf8a..0000000
--- a/Gem/gemglfw3window.pd_darwin
+++ /dev/null
Binary files differ
diff --git a/Gem/gemglutwindow.pd_darwin b/Gem/gemglutwindow.pd_darwin
index fe3479d..cbbb845 100755
--- a/Gem/gemglutwindow.pd_darwin
+++ b/Gem/gemglutwindow.pd_darwin
Binary files differ
diff --git a/Gem/gemsdlwindow.pd_darwin b/Gem/gemsdlwindow.pd_darwin
index 4f49cc5..ebcd611 100755
--- a/Gem/gemsdlwindow.pd_darwin
+++ b/Gem/gemsdlwindow.pd_darwin
Binary files differ
diff --git a/Gem/gemwin-help.pd b/Gem/gemwin-help.pd
index 2355f99..2edbc7f 100644
--- a/Gem/gemwin-help.pd
+++ b/Gem/gemwin-help.pd
@@ -1,4 +1,4 @@
-#N canvas 129 98 676 689 10;
+#N canvas 126 111 676 689 10;
#X text 452 8 GEM object;
#X obj 7 193 cnv 15 430 480 empty empty empty 20 12 0 14 -233017 -66577
0;
@@ -328,7 +328,6 @@ some lights to see something \, such as:;
#X restore 30 575 pd more lighting;
#X obj 490 242 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X msg 490 261 color \$1 \$1 \$1;
#X text 29 635 stereo 0|1|2|3 : set 3D stereo-mode to off(0) \, 2-screen-mode(1)
\, Red/Green-mode(2);
#N canvas 680 259 468 458 draw_geos 0;
@@ -378,7 +377,7 @@ some lights to see something \, such as:;
#X connect 22 0 6 0;
#X restore 455 378 pd draw_geos;
#X msg 472 152 create \, 1;
-#N canvas 255 86 448 630 buffering 0;
+#N canvas 252 99 539 630 buffering 0;
#X msg 63 127 buffer 1;
#X msg 78 152 buffer 2;
#X text 134 127 single buffering;
@@ -413,6 +412,11 @@ the gemhead each time you want to draw. like:;
is created in order to take effect.;
#X obj 176 494 t f f;
#X obj 149 405 t b b;
+#X msg 279 142 transparent \$1;
+#X obj 279 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 299 108 use RGBA buffer to have an alpha channel and a transparent
+window, f 32;
#X connect 0 0 11 0;
#X connect 1 0 11 0;
#X connect 4 0 11 0;
@@ -433,6 +437,8 @@ is created in order to take effect.;
#X connect 28 1 20 1;
#X connect 29 0 16 0;
#X connect 29 1 20 0;
+#X connect 30 0 11 0;
+#X connect 31 0 30 0;
#X restore 355 405 pd buffering;
#N canvas 556 191 548 430 stereo-3D 0;
#X text 32 18 messages to [gemwin] regarding stereoscopic appearance:
@@ -793,10 +799,11 @@ attributes of the window and controls the render-cycle. Multiple instances
of this object can interact with separate windows.;
#X text 30 177 2d argument : context name;
#X text 443 457 see also examples/14.multiple_windows;
+#X msg 490 260 color \$1 \$1 \$1 \$1;
#X connect 11 0 10 0;
#X connect 12 0 10 0;
#X connect 21 0 10 0;
-#X connect 34 0 35 0;
-#X connect 35 0 10 0;
-#X connect 38 0 10 0;
-#X connect 53 0 37 0;
+#X connect 34 0 63 0;
+#X connect 37 0 10 0;
+#X connect 52 0 36 0;
+#X connect 63 0 10 0;
diff --git a/Gem/gemwin.pd b/Gem/gemwin.pd
index b6f60bb..d40c288 100644
--- a/Gem/gemwin.pd
+++ b/Gem/gemwin.pd
@@ -1,5 +1,5 @@
-#N canvas 244 51 937 708 10;
-#X obj 126 104 inlet;
+#N canvas 789 95 937 708 10;
+#X obj 126 74 inlet;
#X obj 626 678 outlet;
#N canvas 1 51 1018 458 argument 0;
#X obj 291 213 list append \$1;
@@ -101,18 +101,38 @@ cursor menubar border title topmost buffer reset print FSAA;
#X text 333 154 info:;
#N canvas 1 51 450 399 creation/destruction 0;
#X obj 96 221 list prepend create;
-#X obj 96 303 outlet gemwin;
-#X obj 96 272 t a;
+#X obj 96 363 outlet gemwin;
+#X obj 96 332 t a;
#X obj 96 196 r \$0-create;
#X obj 275 197 r \$0-destroy;
#X msg 275 221 destroy;
-#X connect 0 0 2 0;
+#X obj 446 125 r \$0-transparent;
+#X obj 461 147 r \$0-color;
+#X obj 461 169 unpack 0 0 0 0;
+#X obj 446 220 ||;
+#X obj 466 195 t b f;
+#X obj 96 243 t a b;
+#X obj 128 265 i;
+#X msg 128 287 transparent \$1;
+#X obj 556 190 < 1;
+#X connect 0 0 11 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 8 3 14 0;
+#X connect 9 0 12 1;
+#X connect 10 0 9 0;
+#X connect 10 1 9 1;
+#X connect 11 0 2 0;
+#X connect 11 1 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
+#X connect 14 0 10 0;
#X restore 124 201 pd creation/destruction;
-#N canvas 271 109 611 377 window-decoration 0;
+#N canvas 29 472 611 377 window-decoration 0;
#X obj 451 282 outlet gemwin;
#X text 125 101 size;
#X text 112 167 position;
@@ -231,7 +251,7 @@ GEM \, buffer 2 \, cursor 1 \, topmost 0;
#X text 55 19 meant as a modular replacement for the internal [gemwin]
;
#X text 53 38 TODO: quite everything;
-#X obj 390 60 loadbang;
+#X obj 390 60 r \$0-loadbang;
#N canvas 64 81 1119 651 README 0;
#X text 34 30 a new gemwin;
#X text 67 145 this has some major drawbacks:;
@@ -271,7 +291,7 @@ they do need).;
#X text 641 450 the sole purpose of this abstraction is to provide
a minimum compatibility with old patches;
#X restore 592 3 pd README;
-#N canvas 157 51 544 526 callbacks 0;
+#N canvas 148 119 544 526 callbacks 0;
#N canvas 61 50 963 457 viewpoint 0;
#X obj 476 254 t l l;
#X obj 508 277 list length;
@@ -658,13 +678,12 @@ a minimum compatibility with old patches;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X restore 118 193 pd lighting;
-#N canvas 1 51 1001 529 window 0;
+#N canvas 0 106 1001 529 window 0;
#X obj 111 53 inlet;
#X obj 700 421 outlet;
#X obj 111 109 route create destroy;
#X text 300 17 create destroy \; dimen fullscreen offset secondscreen
\; border title \; cursor topmost menubar \; buffer \; FSAA;
-#X obj 111 163 route dimen fullscreen offset secondscreen;
#X obj 111 283 route border title;
#X obj 111 403 route cursor topmost menubar;
#X obj 570 420 route buffer FSAA;
@@ -706,7 +725,6 @@ a minimum compatibility with old patches;
#X obj 111 333 != 0;
#X obj 111 355 s \$0-border;
#X obj 201 354 s \$0-title;
-#X obj 605 99 r \$0-reset;
#N canvas 487 195 450 300 dimen 0;
#X obj 80 14 inlet;
#X obj 80 242 s \$0-dimen;
@@ -764,41 +782,50 @@ a minimum compatibility with old patches;
-1 -1 \, secondscreen 0;
#X obj 277 106 t a b;
#X msg 320 107 0;
+#X obj 111 162 route dimen fullscreen offset secondscreen transparent
+;
+#X obj 457 185 i;
+#X obj 457 207 != 0;
+#X obj 605 99 r \$0-reset;
+#X obj 457 229 s \$0-transparent;
#X connect 0 0 2 0;
-#X connect 2 0 10 0;
-#X connect 2 1 34 0;
-#X connect 2 2 4 0;
-#X connect 4 0 25 0;
-#X connect 4 1 26 0;
-#X connect 4 2 29 0;
-#X connect 4 3 30 0;
-#X connect 4 4 5 0;
-#X connect 5 0 20 0;
-#X connect 5 1 23 0;
-#X connect 5 2 6 0;
-#X connect 6 0 13 0;
-#X connect 6 1 15 0;
-#X connect 6 2 18 0;
-#X connect 6 3 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 7 2 1 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
+#X connect 2 0 9 0;
+#X connect 2 1 32 0;
+#X connect 2 2 34 0;
+#X connect 4 0 19 0;
+#X connect 4 1 22 0;
+#X connect 4 2 5 0;
+#X connect 5 0 12 0;
+#X connect 5 1 14 0;
+#X connect 5 2 17 0;
+#X connect 5 3 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 6 2 1 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X connect 14 0 15 0;
#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 18 0 19 0;
+#X connect 17 0 18 0;
+#X connect 19 0 20 0;
#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 24 0 33 0;
-#X connect 26 0 27 0;
-#X connect 27 0 28 0;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 33 0 4 0;
-#X connect 34 0 11 0;
-#X connect 34 1 35 0;
-#X connect 35 0 1 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 31 0 34 0;
+#X connect 32 0 10 0;
+#X connect 32 1 33 0;
+#X connect 33 0 1 0;
+#X connect 34 0 23 0;
+#X connect 34 1 24 0;
+#X connect 34 2 27 0;
+#X connect 34 3 28 0;
+#X connect 34 4 35 0;
+#X connect 34 5 4 0;
+#X connect 35 0 36 0;
+#X connect 36 0 38 0;
+#X connect 37 0 31 0;
#X restore 118 106 pd window;
#N canvas 1 51 450 300 print 0;
#X obj 118 78 t b;
@@ -849,7 +876,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X connect 13 0 7 0;
#X connect 14 0 6 0;
#X restore 118 216 pd stereo;
-#N canvas 364 298 658 300 clearmask 0;
+#N canvas 365 294 658 300 clearmask 0;
#X obj 57 51 inlet;
#X obj 57 72 route clearmask;
#X obj 173 69 outlet;
@@ -863,7 +890,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 226 249 |;
#X obj 222 169 t b b b;
#X msg 246 133 bang;
-#X obj 317 108 loadbang;
+#X obj 317 108 r \$0-loadbang;
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 1 1 2 0;
@@ -885,7 +912,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X text 325 425 buffer reset print;
#X text 290 470 unused:;
#X text 331 485 blur;
-#N canvas 574 300 450 300 color 0;
+#N canvas 569 322 450 300 color 0;
#X obj 67 38 inlet;
#X obj 211 41 outlet;
#X obj 67 190 pack 0 0 0 1;
@@ -893,8 +920,9 @@ stereoFoc stereofoc stereoLine stereoline;
#X msg 148 165 1;
#X msg 90 138 0 0 0 1;
#X obj 90 114 r \$0-reset;
-#X obj 67 214 s \$0-color;
+#X obj 67 224 s \$0-color;
#X obj 67 66 route color;
+#X obj 79 94 r \$0-loadbang;
#X connect 0 0 8 0;
#X connect 2 0 7 0;
#X connect 3 0 2 0;
@@ -904,8 +932,9 @@ stereoFoc stereofoc stereoLine stereoline;
#X connect 6 0 5 0;
#X connect 8 0 3 0;
#X connect 8 1 1 0;
+#X connect 9 0 5 0;
#X restore 118 272 pd color;
-#N canvas 1 51 749 300 render 0;
+#N canvas 0 93 749 300 render 0;
#X obj 31 38 inlet;
#X obj 143 36 outlet;
#X obj 31 189 s \$0-render;
@@ -1172,7 +1201,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X connect 19 0 15 0;
#X connect 20 0 14 1;
#X restore 115 186 pd fog;
-#N canvas 302 60 722 526 lighting 0;
+#N canvas 303 56 722 526 lighting 0;
#X obj 71 168 t a a;
#X obj 71 196 spigot 1;
#X obj 361 216 spigot 0;
@@ -1252,7 +1281,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X restore 361 349 pd shininess;
#X obj 175 173 t f f b;
#X obj 292 232 t b b;
-#X obj 292 208 loadbang;
+#X obj 292 195 r \$0-loadbang;
#X obj 175 126 r \$0-lighting;
#X obj 320 84 print light;
#X obj 71 235 GEMglDisable GL_LIGHTING;
@@ -1295,7 +1324,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 115 63 inlet;
#X obj 115 260 outlet;
#X text 116 42 GemMan::resetValues();
-#N canvas 5 50 393 417 color 0;
+#N canvas 0 160 393 417 color 0;
#X obj 56 52 inlet;
#X obj 56 361 outlet;
#X obj 102 192 GEMglClearColor;
@@ -2783,7 +2812,6 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 130 209 GEMglEnable GL_DEPTH_TEST;
#X obj 130 253 GEMglClearDepth 1;
#X obj 130 283 GEMglClearColor;
-#X obj 362 200 r \$0-clearcolor;
#X obj 362 221 unpack 0 0 0 0;
#X obj 130 304 outlet;
#X obj 130 84 spigot 1;
@@ -2793,25 +2821,26 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 268 66 t b;
#X msg 268 87 1;
#X obj 130 231 GEMglDepthFunc GL_LEQUAL;
-#X connect 0 0 9 0;
+#X obj 362 200 r \$0-color;
+#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
-#X connect 3 0 15 0;
+#X connect 3 0 14 0;
#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 7 0;
-#X connect 7 0 5 1;
-#X connect 7 1 5 2;
-#X connect 7 2 5 3;
-#X connect 7 3 5 4;
-#X connect 9 0 10 0;
-#X connect 10 0 1 0;
-#X connect 10 1 11 0;
-#X connect 11 0 9 1;
+#X connect 5 0 7 0;
+#X connect 6 0 5 1;
+#X connect 6 1 5 2;
+#X connect 6 2 5 3;
+#X connect 6 3 5 4;
+#X connect 8 0 9 0;
+#X connect 9 0 1 0;
+#X connect 9 1 10 0;
+#X connect 10 0 8 1;
+#X connect 11 0 12 0;
#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 9 1;
-#X connect 15 0 4 0;
+#X connect 13 0 8 1;
+#X connect 14 0 4 0;
+#X connect 15 0 6 0;
#X restore 163 415 pd windowInit;
#X obj 131 393 t a a;
#N canvas 1 51 450 300 startStopRendering 0;
@@ -2857,13 +2886,13 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 131 351 t b b;
#N canvas 1 51 514 604 clear 0;
#X obj 121 26 inlet;
-#X obj 121 118 GEMglFlush;
-#X obj 121 162 GEMglLoadIdentity;
-#X obj 121 184 list prepend 2;
-#X obj 121 206 route 1 2;
-#X obj 121 228 GEMglFlush;
-#X obj 230 118 r \$0-clearmask;
-#X obj 121 140 GEMglClear 17664;
+#X obj 369 112 GEMglFlush;
+#X obj 121 152 GEMglLoadIdentity;
+#X obj 121 174 list prepend 2;
+#X obj 121 196 route 1 2;
+#X obj 121 218 GEMglFlush;
+#X obj 230 108 r \$0-clearmask;
+#X obj 121 130 GEMglClear 17664;
#N canvas 632 294 377 366 viewpoint 0;
#X obj 144 37 inlet gemlist;
#X obj 144 298 outlet gemlist;
@@ -2963,15 +2992,26 @@ stereoFoc stereofoc stereoLine stereoline;
#X connect 11 1 12 0;
#X connect 12 0 5 0;
#X restore 121 52 pd GemState;
+#X obj 121 74 t a a;
+#X obj 369 91 spigot;
+#X obj 376 25 r \$0-buffer;
+#X obj 376 47 t f f;
+#X obj 408 69 == 1;
#X connect 0 0 9 0;
-#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 6 0 7 1;
#X connect 7 0 2 0;
-#X connect 9 0 1 0;
+#X connect 9 0 10 0;
+#X connect 10 0 7 0;
+#X connect 10 1 11 0;
+#X connect 11 0 1 0;
+#X connect 12 0 13 0;
+#X connect 13 0 3 1;
+#X connect 13 1 14 0;
+#X connect 14 0 11 1;
#X restore 437 361 pd clear;
#X obj 131 307 symbol;
#X obj 131 263 t b s;
@@ -2981,7 +3021,24 @@ stereoFoc stereofoc stereoLine stereoline;
#X msg 358 230 symbol clear;
#X obj 358 210 r \$0-doclear;
#X obj 22 219 r \$0-dorender;
-#X connect 0 0 9 0;
+#X obj 126 96 t a b;
+#N canvas 2 93 450 300 loadbang 0;
+#X obj 77 35 inlet;
+#X obj 77 57 t b;
+#X obj 77 79 spigot 1;
+#X obj 77 101 t b b;
+#X obj 77 123 s \$0-loadbang;
+#X msg 130 101 0;
+#X obj 127 35 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X connect 5 0 2 1;
+#X connect 6 0 1 0;
+#X restore 174 97 pd loadbang;
+#X connect 0 0 46 0;
#X connect 4 0 38 0;
#X connect 4 1 33 0;
#X connect 7 0 2 0;
@@ -3033,3 +3090,5 @@ stereoFoc stereofoc stereoLine stereoline;
#X connect 43 0 39 0;
#X connect 44 0 43 0;
#X connect 45 0 40 0;
+#X connect 46 0 9 0;
+#X connect 46 1 47 0;
diff --git a/Gem/model-help.pd b/Gem/model-help.pd
index 92111fd..27b937d 100644
--- a/Gem/model-help.pd
+++ b/Gem/model-help.pd
@@ -1,10 +1,10 @@
-#N canvas 407 65 710 632 10;
+#N canvas 404 93 710 647 10;
#X text 54 30 Class: geometric object;
-#X obj 464 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+#X obj 464 77 cnv 15 200 380 empty empty empty 20 12 0 14 -228992 -66577
0;
-#X obj 466 364 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
+#X obj 466 464 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
0;
-#N canvas 0 22 450 300 gemwin 0;
+#N canvas 0 50 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
@@ -22,13 +22,13 @@
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
-#X restore 471 403 pd gemwin;
-#X msg 471 384 create;
-#X text 468 365 Create window:;
+#X restore 471 503 pd gemwin;
+#X msg 471 484 create;
+#X text 468 465 Create window:;
#X text 475 59 Example:;
#X obj 7 67 cnv 15 450 210 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X obj 8 316 cnv 15 450 280 empty empty empty 20 12 0 14 -233017 -66577
+#X obj 8 316 cnv 15 450 320 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 9 321 Inlets:;
#X obj 8 282 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
@@ -36,23 +36,21 @@
#X text 17 281 Arguments:;
#X text 452 8 GEM object;
#X text 27 333 Inlet 1: gemlist;
-#X text 9 560 Outlets:;
-#X text 21 573 Outlet 1: gemlist;
-#X obj 472 136 cnv 15 180 165 empty empty empty 20 12 0 14 -106458
+#X text 9 600 Outlets:;
+#X text 21 613 Outlet 1: gemlist;
+#X obj 472 136 cnv 15 180 265 empty empty empty 20 12 0 14 -106458
-66577 0;
#X text 33 14 Synopsis: [model];
#X text 7 69 Description: Renders an Alias/Wavefront-Model.;
#X text 16 86 The model object renders 3D-models that are saved in
Alias/Wavefront's OBJ-format.;
#X text 63 292 optional: name of a OBJ-file to be loaded;
-#X obj 470 313 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 583 384 gemhead;
-#X obj 583 403 world_light;
-#X obj 552 302 cnv 15 100 50 empty empty empty 20 12 0 14 -106458 -66577
+#X obj 470 413 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
0;
+#X obj 583 484 gemhead;
+#X obj 583 503 world_light;
#X obj 473 84 gemhead;
-#X obj 473 319 model;
+#X obj 473 419 model;
#X obj 486 140 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 486 158 openpanel;
@@ -66,7 +64,7 @@ Alias/Wavefront's OBJ-format.;
#X msg 486 274 material \$1;
#X msg 574 274 texture \$1;
#X msg 576 326 group \$1;
-#X floatatom 490 206 5 0 1 0 - - -;
+#X floatatom 490 206 5 0 1 0 - - -, f 5;
#X msg 486 179 open \$1;
#X obj 576 308 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
-1 0;
@@ -75,7 +73,7 @@ Alias/Wavefront's OBJ-format.;
(must be set PRIOR to opening a model (default: 1);
#X text 26 444 Inlet 1: message: material 1|0 :: use material-information
(from the .MTL-file);
-#X text 27 522 Inlet 1: message: group <int> :: draw only specified
+#X text 27 512 Inlet 1: message: group <int> :: draw only specified
part of the model (0==all groups);
#X text 16 114 To normalize the size and pivot-point of a loaded model
use the "rescale"-message prior(!) to loading the model.;
@@ -99,23 +97,29 @@ to be displayed.;
-1 0;
#X text 17 210 Images can be applied either as linear \, spheric or
UV textures.;
+#X msg 511 351 backends OBJ;
+#X msg 521 371 backends ASSIMP3;
+#X text 27 542 Inlet 1: message: backends <symbol> :: choose which
+backend to use first to open the model;
#X connect 3 0 4 0;
#X connect 4 0 3 0;
#X connect 22 0 23 0;
-#X connect 25 0 49 0;
-#X connect 27 0 28 0;
-#X connect 28 0 38 0;
-#X connect 29 0 30 0;
-#X connect 30 0 26 0;
-#X connect 31 0 26 0;
-#X connect 32 0 33 0;
-#X connect 33 0 26 0;
-#X connect 34 0 26 0;
-#X connect 35 0 26 0;
-#X connect 36 0 26 0;
-#X connect 37 0 31 0;
-#X connect 38 0 26 0;
-#X connect 39 0 36 0;
-#X connect 49 0 26 0;
-#X connect 50 0 34 0;
-#X connect 53 0 35 0;
+#X connect 24 0 48 0;
+#X connect 26 0 27 0;
+#X connect 27 0 37 0;
+#X connect 28 0 29 0;
+#X connect 29 0 25 0;
+#X connect 30 0 25 0;
+#X connect 31 0 32 0;
+#X connect 32 0 25 0;
+#X connect 33 0 25 0;
+#X connect 34 0 25 0;
+#X connect 35 0 25 0;
+#X connect 36 0 30 0;
+#X connect 37 0 25 0;
+#X connect 38 0 35 0;
+#X connect 48 0 25 0;
+#X connect 49 0 33 0;
+#X connect 52 0 34 0;
+#X connect 54 0 25 0;
+#X connect 55 0 25 0;
diff --git a/Gem/pix_drum.pd_darwin b/Gem/pix_drum.pd_darwin
index 12f71a4..8cf0d21 100755
--- a/Gem/pix_drum.pd_darwin
+++ b/Gem/pix_drum.pd_darwin
Binary files differ
diff --git a/Gem/pix_fiducialtrack.pd_darwin b/Gem/pix_fiducialtrack.pd_darwin
index 7782983..b917a41 100755
--- a/Gem/pix_fiducialtrack.pd_darwin
+++ b/Gem/pix_fiducialtrack.pd_darwin
Binary files differ
diff --git a/Gem/pix_hit.pd_darwin b/Gem/pix_hit.pd_darwin
index 306fab3..725ee80 100755
--- a/Gem/pix_hit.pd_darwin
+++ b/Gem/pix_hit.pd_darwin
Binary files differ
diff --git a/Gem/pix_mano.pd_darwin b/Gem/pix_mano.pd_darwin
index 34eed25..c4f215f 100755
--- a/Gem/pix_mano.pd_darwin
+++ b/Gem/pix_mano.pd_darwin
Binary files differ
diff --git a/Gem/pix_write-help.pd b/Gem/pix_write-help.pd
index b1ad8a2..802b4ca 100644
--- a/Gem/pix_write-help.pd
+++ b/Gem/pix_write-help.pd
@@ -1,27 +1,26 @@
-#N canvas 23 49 795 602 10;
-#X obj 17 399 cnv 15 430 190 empty empty empty 20 12 0 14 -233017 -66577
+#N canvas 536 123 795 620 10;
+#X obj 17 419 cnv 15 430 190 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X text 28 402 Inlets:;
-#X text 28 559 Outlets:;
-#X obj 17 364 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+#X text 28 422 Inlets:;
+#X text 28 579 Outlets:;
+#X obj 17 384 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
-#X text 26 363 Arguments:;
-#X obj 17 69 cnv 15 430 290 empty empty empty 20 12 0 14 -233017 -66577
+#X text 26 383 Arguments:;
+#X obj 17 69 cnv 15 430 310 empty empty empty 20 12 0 14 -233017 -66577
0;
-#X text 46 572 Outlet 1: gemlist;
-#X text 52 416 Inlet 1: gemlist;
+#X text 46 592 Outlet 1: gemlist;
+#X text 52 436 Inlet 1: gemlist;
#X text 27 72 Description: Make a snapshot of the frame-buffer and
write it to a file;
-#X text 72 374 list: [offsetX offsetY [dimX dimY]];
-#X text 52 502 Inlet 2: list: offsetX offsetY (in pixels \; default:
+#X text 52 522 Inlet 2: list: offsetX offsetY (in pixels \; default:
0 0);
-#X text 52 528 Inlet 3: list: dimenX dimenY (in pixels \; default:
+#X text 52 548 Inlet 3: list: dimenX dimenY (in pixels \; default:
window-size);
#X text 466 15 GEM object;
-#X obj 459 77 cnv 15 250 300 empty empty empty 20 12 0 14 -228992 -66577
+#X obj 459 77 cnv 15 250 370 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 463 60 Example:;
-#X obj 604 313 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+#X obj 604 383 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 16 419 450 300 gemwin 0;
#X obj 132 136 gemwin;
@@ -41,67 +40,72 @@ window-size);
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
-#X restore 609 352 pd gemwin;
-#X msg 609 333 create;
-#X text 605 312 Create window:;
-#X obj 460 106 cnv 15 240 190 empty empty empty 20 12 0 14 -24198 -66577
+#X restore 609 422 pd gemwin;
+#X msg 609 403 create;
+#X text 605 382 Create window:;
+#X obj 460 106 cnv 15 240 230 empty empty empty 20 12 0 14 -24198 -66577
0;
-#X msg 584 249 256 256;
-#X text 638 249 dimension;
-#X text 637 227 offset;
-#X msg 584 225 100 100;
+#X msg 584 289 256 256;
+#X text 638 289 dimension;
+#X text 637 267 offset;
+#X msg 584 265 100 100;
#X obj 461 84 gemhead 51;
-#X obj 461 272 pix_write 0 0 500 500;
-#X msg 488 116 file pix_test 99;
+#X msg 470 116 file pix_test 99;
#X text 600 138 type : jpg;
#X text 600 127 name : pix_testXXXXX.jpg;
#X text 600 151 quality : 99;
#X text 600 115 set pix_write to:;
-#X msg 490 181 auto \$1;
-#X obj 490 162 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X msg 490 221 auto \$1;
+#X obj 490 202 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X obj 491 205 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+#X obj 491 245 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X text 510 204 WRITE! one file;
-#X obj 464 329 gemhead;
-#X obj 464 354 square;
-#X text 463 309 display something;
-#X obj 466 510 pix_snap;
-#X text 26 99 When banged [pix_write] will take a snapshot of the current
-frame buffer and saves it to a file. When a "bang" message is sent
-to [pix_write] \, that is the moment that something is captured from
-the current frame buffer. When grabbing \, be sure that something is
-in the rendering-buffer \, else you will get a black texture.;
-#X text 464 489 See also:;
-#X obj 466 534 pix_writer;
-#X text 26 240 BE CAREFUL with the filename \, depending on your OS
+#X text 510 244 WRITE! one file;
+#X obj 464 399 gemhead;
+#X obj 464 424 square;
+#X text 463 379 display something;
+#X obj 466 560 pix_snap;
+#X text 464 539 See also:;
+#X obj 466 584 pix_writer;
+#X text 26 260 BE CAREFUL with the filename \, depending on your OS
\, relative names may be different. It start from the patch in Linux
or from HD (/) in osx for example. DO NOT USE SPACES in the basefilename
;
#X text 81 41 Class: pix object;
-#X text 27 187 With the "file" message you can specify a base-filename
+#X text 27 207 With the "file" message you can specify a base-filename
and the type of image-files you want to create. The actual name of
the file will be something like: "<basefilename><current#>.<ext>" (like
"GEM00001.tif");
#X text 60 22 Synopsis: [pix_write];
-#X text 26 299 Supported file-types are TIFF (quality=0) and JPEG (quality>0).
+#X text 26 319 Supported file-types are TIFF (quality=0) and JPEG (quality>0).
TIFF-writing can be slow due to the large file size of uncompressed
images! JPEG might be faster (but quality will be lower due to compression)
;
-#X text 543 181 activate/deactivate auto snapshot;
-#X text 52 453 Inlet 1: file <quality> : set type/quality (quality=0:TIFF
+#X text 543 221 activate/deactivate auto snapshot;
+#X text 52 473 Inlet 1: file <quality> : set type/quality (quality=0:TIFF
\, quality>0:JPG);
-#X text 52 478 Inlet 1: file <basefilename> <quality> : set basefilename
+#X text 52 498 Inlet 1: file <basefilename> <quality> : set basefilename
and type/quality;
-#X text 52 429 Inlet 1: file <basefilename> : set basefilename \, and
+#X text 52 449 Inlet 1: file <basefilename> : set basefilename \, and
type=TIFF;
-#X connect 16 0 17 0;
-#X connect 17 0 16 0;
-#X connect 20 0 25 2;
-#X connect 23 0 25 1;
-#X connect 24 0 25 0;
-#X connect 26 0 25 0;
-#X connect 31 0 25 0;
-#X connect 32 0 31 0;
-#X connect 33 0 25 0;
-#X connect 35 0 36 0;
+#X obj 461 312 pix_write 0 0 500 500 3;
+#X text 71 394 list: [offsetX offsetY [dimX dimY [color_format]]];
+#X text 26 99 When banged [pix_write] will take a snapshot of the current
+frame buffer and saves it to a file. When a "bang" message is sent
+to [pix_write] \, that is the moment that something is captured from
+the current frame buffer. When grabbing \, be sure that something is
+in the rendering-buffer \, else you will get a black texture. color_mode
+let you grab 1 (only red channel) \, 3 (RGB) or 4 (RGBA) byte per pixel.
+RGBA mode is usefull with framebufer.;
+#X msg 480 182 color_format 4;
+#X connect 15 0 16 0;
+#X connect 16 0 15 0;
+#X connect 19 0 48 2;
+#X connect 22 0 48 1;
+#X connect 23 0 48 0;
+#X connect 24 0 48 0;
+#X connect 29 0 48 0;
+#X connect 30 0 29 0;
+#X connect 31 0 48 0;
+#X connect 33 0 34 0;
+#X connect 51 0 48 0;
diff --git a/Gem/examples/05.text/vera.ttf b/Gem/vera.ttf
index 58cd6b5..58cd6b5 100644
--- a/Gem/examples/05.text/vera.ttf
+++ b/Gem/vera.ttf
Binary files differ