diff options
31 files changed, 236 insertions, 191 deletions
@@ -17,7 +17,7 @@ old_library='' inherited_linker_flags=' -pthread' # Libraries that this one depends upon. -dependency_libs=' -lGL -lGL -L/usr/include/pd -lSM -lICE -lftgl -lGL -lGLU -lGL -lXxf86vm -ldl -lz' +dependency_libs=' -lGL -lGL -L/usr/include/pd -lSM -lICE -lftgl -lGL -lGLU -lGL -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/Gem.pd_linux b/Gem/Gem.pd_linux Binary files differindex 0daf3a4..a607dcd 100755 --- a/Gem/Gem.pd_linux +++ b/Gem/Gem.pd_linux 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/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_filmAVIPLAY.la b/Gem/gem_filmAVIPLAY.la index 16e95c8..6cdf3f9 100755 --- a/Gem/gem_filmAVIPLAY.la +++ b/Gem/gem_filmAVIPLAY.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -laviplay -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -laviplay -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_filmGMERLIN.la b/Gem/gem_filmGMERLIN.la index 8444628..63788d5 100755 --- a/Gem/gem_filmGMERLIN.la +++ b/Gem/gem_filmGMERLIN.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lgmerlin_avdec -lgavl -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lgmerlin_avdec -lgavl -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_filmMPEG3.la b/Gem/gem_filmMPEG3.la index d60dfee..5e33dee 100755 --- a/Gem/gem_filmMPEG3.la +++ b/Gem/gem_filmMPEG3.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lmpeg3 -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lmpeg3 -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_filmQT4L.la b/Gem/gem_filmQT4L.la index 8609662..6680e27 100755 --- a/Gem/gem_filmQT4L.la +++ b/Gem/gem_filmQT4L.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lpthread -lquicktime -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lpthread -lquicktime -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_imageJPEG.la b/Gem/gem_imageJPEG.la index 16a3d51..adccfa6 100755 --- a/Gem/gem_imageJPEG.la +++ b/Gem/gem_imageJPEG.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -ljpeg -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -ljpeg -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_imageMAGICK.la b/Gem/gem_imageMAGICK.la index 047596d..aa7a295 100755 --- a/Gem/gem_imageMAGICK.la +++ b/Gem/gem_imageMAGICK.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags=' -fopenmp -pthread' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. /usr/lib/libMagick++.la /usr/lib/libMagickCore.la -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. /usr/lib/libMagick++.la /usr/lib/libMagickCore.la -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_imageSGI.la b/Gem/gem_imageSGI.la index af78165..365405a 100755 --- a/Gem/gem_imageSGI.la +++ b/Gem/gem_imageSGI.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_imageTIFF.la b/Gem/gem_imageTIFF.la index e07d9a0..a3e7012 100755 --- a/Gem/gem_imageTIFF.la +++ b/Gem/gem_imageTIFF.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. /usr/lib/x86_64-linux-gnu/libtiff.la -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. /usr/lib/x86_64-linux-gnu/libtiff.la -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_modelOBJ.la b/Gem/gem_modelOBJ.la index 7eae709..5d687d5 100755 --- a/Gem/gem_modelOBJ.la +++ b/Gem/gem_modelOBJ.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lGL -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lGL -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_modelOBJ.so b/Gem/gem_modelOBJ.so Binary files differindex ee3ac8c..d7db4f6 100755 --- a/Gem/gem_modelOBJ.so +++ b/Gem/gem_modelOBJ.so diff --git a/Gem/gem_recordQT4L.la b/Gem/gem_recordQT4L.la index c675739..e2b9612 100755 --- a/Gem/gem_recordQT4L.la +++ b/Gem/gem_recordQT4L.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lpthread -lquicktime -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lpthread -lquicktime -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_recordV4L.la b/Gem/gem_recordV4L.la index 8a42a9c..3afc8b2 100755 --- a/Gem/gem_recordV4L.la +++ b/Gem/gem_recordV4L.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lv4l1 -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lv4l1 -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_recordV4L2.la b/Gem/gem_recordV4L2.la index b931039..843f800 100755 --- a/Gem/gem_recordV4L2.la +++ b/Gem/gem_recordV4L2.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lv4l2 -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lv4l2 -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_videoV4L.la b/Gem/gem_videoV4L.la index 2ac0fb1..1619629 100755 --- a/Gem/gem_videoV4L.la +++ b/Gem/gem_videoV4L.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags=' -pthread' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lv4l1 -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lv4l1 -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_videoV4L2.la b/Gem/gem_videoV4L2.la index 1a59b1b..7776cd3 100755 --- a/Gem/gem_videoV4L2.la +++ b/Gem/gem_videoV4L2.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags=' -pthread' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lv4l2 -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lv4l2 -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gem_videoVNC.la b/Gem/gem_videoVNC.la index f854ed7..12f860b 100755 --- a/Gem/gem_videoVNC.la +++ b/Gem/gem_videoVNC.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lvncclient -lnsl -lpthread -ljpeg -lgcrypt -lgnutls -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lvncclient -lnsl -lpthread -ljpeg -lgcrypt -lgnutls -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gemglxwindow.la b/Gem/gemglxwindow.la index d91b83c..a61e8d9 100755 --- a/Gem/gemglxwindow.la +++ b/Gem/gemglxwindow.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lSM -lICE -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lSM -lICE -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/gemglxwindow.pd_linux b/Gem/gemglxwindow.pd_linux Binary files differindex e346591..dac9ff1 100755 --- a/Gem/gemglxwindow.pd_linux +++ b/Gem/gemglxwindow.pd_linux 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.la b/Gem/pix_drum.la index 1ea7f5a..aabe8cd 100755 --- a/Gem/pix_drum.la +++ b/Gem/pix_drum.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/pix_fiducialtrack.la b/Gem/pix_fiducialtrack.la index 0d4c8dd..2b4469e 100755 --- a/Gem/pix_fiducialtrack.la +++ b/Gem/pix_fiducialtrack.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/pix_hit.la b/Gem/pix_hit.la index 3ca5e2a..9fe2f76 100755 --- a/Gem/pix_hit.la +++ b/Gem/pix_hit.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' diff --git a/Gem/pix_mano.la b/Gem/pix_mano.la index 008b5f9..8884fc8 100755 --- a/Gem/pix_mano.la +++ b/Gem/pix_mano.la @@ -17,7 +17,7 @@ old_library='' inherited_linker_flags='' # Libraries that this one depends upon. -dependency_libs=' -L/usr/include/pd -L../.. -lXxf86vm -ldl -lz' +dependency_libs=' -L/usr/include/pd -L../.. -lXrender -lXxf86vm -ldl -lz' # Names of additional weak libraries provided by this library weak_library_names='' 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 Binary files differindex 58cd6b5..58cd6b5 100644 --- a/Gem/examples/05.text/vera.ttf +++ b/Gem/vera.ttf |