aboutsummaryrefslogtreecommitdiff
path: root/Gem
diff options
context:
space:
mode:
Diffstat (limited to 'Gem')
-rwxr-xr-xGem/Gem.pd_darwinbin4848716 -> 4868632 bytes
-rw-r--r--Gem/develop/include/Gem/Base/CPPExtern.h10
-rw-r--r--Gem/develop/include/Gem/Base/GemBase.h2
-rw-r--r--Gem/develop/include/Gem/Base/GemWindow.h7
-rwxr-xr-xGem/gem_filmAVFoundation.sobin34800 -> 34800 bytes
-rwxr-xr-xGem/gem_imageJPEG.sobin50444 -> 50444 bytes
-rwxr-xr-xGem/gem_imageMAGICK.sobin53588 -> 53588 bytes
-rwxr-xr-xGem/gem_imageSGI.sobin57464 -> 57464 bytes
-rwxr-xr-xGem/gem_imageTIFF.sobin65624 -> 65624 bytes
-rwxr-xr-xGem/gem_modelOBJ.sobin86692 -> 86692 bytes
-rwxr-xr-xGem/gemcocoawindow.pd_darwinbin38916 -> 39008 bytes
-rwxr-xr-xGem/gemglfw2window.pd_darwinbin27288 -> 27384 bytes
-rwxr-xr-xGem/gemglfw3window.pd_darwinbin36884 -> 36976 bytes
-rwxr-xr-xGem/gemglutwindow.pd_darwinbin42752 -> 42848 bytes
-rwxr-xr-xGem/gemsdlwindow.pd_darwinbin40396 -> 40488 bytes
-rwxr-xr-xGem/pix_drum.pd_darwinbin25496 -> 25584 bytes
-rwxr-xr-xGem/pix_fiducialtrack.pd_darwinbin73668 -> 73756 bytes
-rwxr-xr-xGem/pix_hit.pd_darwinbin27384 -> 27472 bytes
-rwxr-xr-xGem/pix_mano.pd_darwinbin39544 -> 39632 bytes
19 files changed, 18 insertions, 1 deletions
diff --git a/Gem/Gem.pd_darwin b/Gem/Gem.pd_darwin
index 9b9fc20..b999958 100755
--- a/Gem/Gem.pd_darwin
+++ b/Gem/Gem.pd_darwin
Binary files differ
diff --git a/Gem/develop/include/Gem/Base/CPPExtern.h b/Gem/develop/include/Gem/Base/CPPExtern.h
index 0350681..ddacc54 100644
--- a/Gem/develop/include/Gem/Base/CPPExtern.h
+++ b/Gem/develop/include/Gem/Base/CPPExtern.h
@@ -122,6 +122,12 @@ class GEM_EXTERN CPPExtern
// Creation callback
static void real_obj_setupCallback(t_class *) {}
+ ///////////
+ // called directly before the destructor
+ // normally you should not override this (use the dtor!)
+ // if you do override this, make sure that you call the parent as well
+ virtual void beforeDeletion();
+
private:
//////////
@@ -157,7 +163,9 @@ class GEM_EXTERN CPPExtern
#define CPPEXTERN_HEADER(NEW_CLASS, PARENT_CLASS) \
public: \
static void obj_freeCallback(void *data) \
-{ CPPExtern *mydata = ((Obj_header *)data)->data; delete mydata; \
+{ CPPExtern *mydata = ((Obj_header *)data)->data; \
+ GetMyClass(data)->beforeDeletion(); \
+ delete mydata; \
((Obj_header *)data)->Obj_header::~Obj_header(); } \
static void real_obj_setupCallback(t_class *classPtr) \
{ PARENT_CLASS::real_obj_setupCallback(classPtr); \
diff --git a/Gem/develop/include/Gem/Base/GemBase.h b/Gem/develop/include/Gem/Base/GemBase.h
index 09e6a8f..9b0d362 100644
--- a/Gem/develop/include/Gem/Base/GemBase.h
+++ b/Gem/develop/include/Gem/Base/GemBase.h
@@ -128,6 +128,8 @@ class GEM_EXTERN GemBase : public CPPExtern
protected:
enum RenderState getState(void);
+
+ virtual void beforeDeletion(void);
};
#endif // for header file
diff --git a/Gem/develop/include/Gem/Base/GemWindow.h b/Gem/develop/include/Gem/Base/GemWindow.h
index c5105c4..18ad28f 100644
--- a/Gem/develop/include/Gem/Base/GemWindow.h
+++ b/Gem/develop/include/Gem/Base/GemWindow.h
@@ -30,6 +30,7 @@ DESCRIPTION
namespace gem {
class Context;
};
+class GemBase;
class GEM_EXTERN GemWindow : public CPPExtern
{
@@ -86,6 +87,12 @@ class GEM_EXTERN GemWindow : public CPPExtern
*/
static gem::Context*destroyContext(gem::Context*);
+ /*
+ * call stopRendering() of a given objects for all valid contexts
+ * (this will make each context current, call obj->stopRendering and switch back to the original context)
+ */
+ static void stopInAllContexts(GemBase*obj);
+
/* this MUST be called from the derived classes
* as it will eventually establish a new GemContext (if m_context is non-NULL)
* if you want to share GemContext's you MUST call
diff --git a/Gem/gem_filmAVFoundation.so b/Gem/gem_filmAVFoundation.so
index 4a6f9c3..602291c 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 a053d10..d8b542e 100755
--- a/Gem/gem_imageJPEG.so
+++ b/Gem/gem_imageJPEG.so
Binary files differ
diff --git a/Gem/gem_imageMAGICK.so b/Gem/gem_imageMAGICK.so
index 1e5fc70..8d57484 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 2f465d1..f36db5b 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 deb3e69..3faebca 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 ad86337..7f22e46 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 50b8dd2..50b902a 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 f284dc3..5b82bc5 100755
--- a/Gem/gemglfw2window.pd_darwin
+++ b/Gem/gemglfw2window.pd_darwin
Binary files differ
diff --git a/Gem/gemglfw3window.pd_darwin b/Gem/gemglfw3window.pd_darwin
index e73066f..5beac3e 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 5daf034..ea0dd8a 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 066740f..dacee9f 100755
--- a/Gem/gemsdlwindow.pd_darwin
+++ b/Gem/gemsdlwindow.pd_darwin
Binary files differ
diff --git a/Gem/pix_drum.pd_darwin b/Gem/pix_drum.pd_darwin
index e27b538..1377972 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 6b43b77..cdb411c 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 f5f5480..679a7d9 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 8a6595e..29cbfbe 100755
--- a/Gem/pix_mano.pd_darwin
+++ b/Gem/pix_mano.pd_darwin
Binary files differ