From 15b30fe20b401d079c2b3c6a8e77eee827813de3 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Tue, 17 Mar 2015 22:54:19 +0000 Subject: Gem 096ed6ef786b7a9d6e11a437ff8526619c89a1fd osx/x86_64 built 'master:096ed6ef786b7a9d6e11a437ff8526619c89a1fd' for osx/x86_64 --- Gem/manual/WriteCode.html | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Gem/manual/WriteCode.html (limited to 'Gem/manual/WriteCode.html') diff --git a/Gem/manual/WriteCode.html b/Gem/manual/WriteCode.html new file mode 100644 index 0000000..d4d0480 --- /dev/null +++ b/Gem/manual/WriteCode.html @@ -0,0 +1,41 @@ + + + + + + + Writing new objects + + + +
+

+Creating new GEM objects

+Look at the source code :-)  GEM is written in C++, which means that +you have to jump through some hopes to interact properly with Pd, which +is written in C.  If you look in Base/CPPExtern.h, you will see a +collection of macros which you can use to help you create new objects.  +Use one of the GEM objects which is closest to what you want to do as a +template. +

One problem on SGI...you will need to +

setenv LD_LIBRARY_PATH "/where/ever/pd/gem" +

so that rld (the run-time linker) can find the GEM dso.  Because +you are linking with GEM, Pd isn't involved with the run time linking process; +it is all done when Pd calls dlopen. +

On NT, there is much the same problem... +

set your PATH environment variable to \where\ever\pd\gem +

or +

make sure that your new .dll is located in the same directory where +GEM is. +

On NT, all of the classes and functions are exported through declexport/declimport.  +You shouldn't have to do anything to call the functions.  I have not +had any problems making other dll's which are loaded into Pd at runtime.  +You need to make certain that you are exporting the correct functions.  +If your dll cannot find the gem.dll, then it will silently fail. +

And of course, e-mail IOhannes m zmölnig (zmoelnig@iem.at) if you have any problems, +questions, or solutions +

+

[return] +
  + + -- cgit v1.2.1