aboutsummaryrefslogtreecommitdiff
path: root/Gem
diff options
context:
space:
mode:
Diffstat (limited to 'Gem')
-rwxr-xr-xGem/Gem.la2
-rwxr-xr-xGem/Gem.pd_darwinbin4889784 -> 4994608 bytes
-rw-r--r--Gem/develop/include/Gem/Gem/Loaders.h14
-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.sobin34800 -> 34768 bytes
-rwxr-xr-xGem/gem_imageJPEG.sobin50444 -> 50324 bytes
-rwxr-xr-xGem/gem_imageMAGICK.la2
-rwxr-xr-xGem/gem_imageMAGICK.sobin53632 -> 53336 bytes
-rwxr-xr-xGem/gem_imageSGI.sobin57464 -> 57280 bytes
-rwxr-xr-xGem/gem_imageTIFF.sobin65624 -> 65476 bytes
-rwxr-xr-xGem/gem_modelOBJ.sobin86692 -> 86536 bytes
-rwxr-xr-xGem/gemcocoawindow.pd_darwinbin39008 -> 38536 bytes
-rwxr-xr-xGem/gemglfw2window.pd_darwinbin27384 -> 27152 bytes
-rwxr-xr-xGem/gemglfw3window.la2
-rwxr-xr-xGem/gemglfw3window.pd_darwinbin36976 -> 36476 bytes
-rwxr-xr-xGem/gemglutwindow.pd_darwinbin42968 -> 42512 bytes
-rwxr-xr-xGem/gemsdlwindow.pd_darwinbin40488 -> 39620 bytes
-rw-r--r--Gem/gemwin.pd41
-rw-r--r--Gem/model-help.pd76
-rwxr-xr-xGem/pix_drum.pd_darwinbin25584 -> 25556 bytes
-rwxr-xr-xGem/pix_fiducialtrack.pd_darwinbin73756 -> 69808 bytes
-rwxr-xr-xGem/pix_hit.pd_darwinbin27472 -> 27280 bytes
-rwxr-xr-xGem/pix_mano.pd_darwinbin39632 -> 39512 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
27 files changed, 247 insertions, 173 deletions
diff --git a/Gem/Gem.la b/Gem/Gem.la
index 0556ecd..1100a5b 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.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.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 77a815c..d6d0bce 100755
--- a/Gem/Gem.pd_darwin
+++ b/Gem/Gem.pd_darwin
Binary files differ
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/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 c8e5748..3caaf6c 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 b6a3a04..325c1d2 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 9d7c1f6..0b37205 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.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.app/Contents/Resources//bin -L../.. -L/usr/local/Cellar/imagemagick/6.9.6-6/lib /usr/local/Cellar/imagemagick/6.9.6-6/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.6-6/lib/libMagickWand-6.Q16.la /usr/local/Cellar/imagemagick/6.9.6-6/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 e1393d6..e405a62 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 a0d1d11..1865150 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 389a985..dbe3db0 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 1f73235..5487255 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 c70c6b8..2cbb673 100755
--- a/Gem/gemcocoawindow.pd_darwin
+++ b/Gem/gemcocoawindow.pd_darwin
Binary files differ
diff --git a/Gem/gemglfw2window.pd_darwin b/Gem/gemglfw2window.pd_darwin
index 84da9c2..0da4a6a 100755
--- a/Gem/gemglfw2window.pd_darwin
+++ b/Gem/gemglfw2window.pd_darwin
Binary files differ
diff --git a/Gem/gemglfw3window.la b/Gem/gemglfw3window.la
index 9776830..b77714f 100755
--- a/Gem/gemglfw3window.la
+++ b/Gem/gemglfw3window.la
@@ -17,7 +17,7 @@ old_library=''
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.app/Contents/Resources//bin -L../.. -L/usr/local/Cellar/glfw3/3.1.1/lib -lglfw3 -ldl -lz -lm'
+dependency_libs=' -L/Users/travis/build/umlaeute/Gem/build/travis-ci/deps/Pd-0.46-5.app/Contents/Resources//bin -L../.. -L/usr/local/Cellar/glfw3/3.2.1/lib -lglfw3 -ldl -lz -lm'
# Names of additional weak libraries provided by this library
weak_library_names=''
diff --git a/Gem/gemglfw3window.pd_darwin b/Gem/gemglfw3window.pd_darwin
index 0074408..0ef79a4 100755
--- a/Gem/gemglfw3window.pd_darwin
+++ b/Gem/gemglfw3window.pd_darwin
Binary files differ
diff --git a/Gem/gemglutwindow.pd_darwin b/Gem/gemglutwindow.pd_darwin
index e6ff393..d7efc10 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 6be847c..bfd3eb3 100755
--- a/Gem/gemsdlwindow.pd_darwin
+++ b/Gem/gemsdlwindow.pd_darwin
Binary files differ
diff --git a/Gem/gemwin.pd b/Gem/gemwin.pd
index b6f60bb..90c81e5 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 425 52 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;
@@ -231,7 +231,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:;
@@ -849,7 +849,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 +863,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 +885,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;
@@ -895,6 +895,7 @@ stereoFoc stereofoc stereoLine stereoline;
#X obj 90 114 r \$0-reset;
#X obj 67 214 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,6 +905,7 @@ 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;
#X obj 31 38 inlet;
@@ -1172,7 +1174,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 +1254,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 +1297,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;
@@ -2981,7 +2983,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 5 49 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 +3052,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 ebe1d6d..8e9b3ad 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 6e44783..9b33d3f 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 57665d9..698623a 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 17438a0..571f0ec 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