diff options
Diffstat (limited to 'Gem')
-rwxr-xr-x | Gem/Gem.pd_darwin | bin | 4848716 -> 4868632 bytes | |||
-rw-r--r-- | Gem/develop/include/Gem/Base/CPPExtern.h | 10 | ||||
-rw-r--r-- | Gem/develop/include/Gem/Base/GemBase.h | 2 | ||||
-rw-r--r-- | Gem/develop/include/Gem/Base/GemWindow.h | 7 | ||||
-rwxr-xr-x | Gem/gem_filmAVFoundation.so | bin | 34800 -> 34800 bytes | |||
-rwxr-xr-x | Gem/gem_imageJPEG.so | bin | 50444 -> 50444 bytes | |||
-rwxr-xr-x | Gem/gem_imageMAGICK.so | bin | 53588 -> 53588 bytes | |||
-rwxr-xr-x | Gem/gem_imageSGI.so | bin | 57464 -> 57464 bytes | |||
-rwxr-xr-x | Gem/gem_imageTIFF.so | bin | 65624 -> 65624 bytes | |||
-rwxr-xr-x | Gem/gem_modelOBJ.so | bin | 86692 -> 86692 bytes | |||
-rwxr-xr-x | Gem/gemcocoawindow.pd_darwin | bin | 38916 -> 39008 bytes | |||
-rwxr-xr-x | Gem/gemglfw2window.pd_darwin | bin | 27288 -> 27384 bytes | |||
-rwxr-xr-x | Gem/gemglfw3window.pd_darwin | bin | 36884 -> 36976 bytes | |||
-rwxr-xr-x | Gem/gemglutwindow.pd_darwin | bin | 42752 -> 42848 bytes | |||
-rwxr-xr-x | Gem/gemsdlwindow.pd_darwin | bin | 40396 -> 40488 bytes | |||
-rwxr-xr-x | Gem/pix_drum.pd_darwin | bin | 25496 -> 25584 bytes | |||
-rwxr-xr-x | Gem/pix_fiducialtrack.pd_darwin | bin | 73668 -> 73756 bytes | |||
-rwxr-xr-x | Gem/pix_hit.pd_darwin | bin | 27384 -> 27472 bytes | |||
-rwxr-xr-x | Gem/pix_mano.pd_darwin | bin | 39544 -> 39632 bytes |
19 files changed, 18 insertions, 1 deletions
diff --git a/Gem/Gem.pd_darwin b/Gem/Gem.pd_darwin Binary files differindex 9b9fc20..b999958 100755 --- a/Gem/Gem.pd_darwin +++ b/Gem/Gem.pd_darwin 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 Binary files differindex 4a6f9c3..602291c 100755 --- a/Gem/gem_filmAVFoundation.so +++ b/Gem/gem_filmAVFoundation.so diff --git a/Gem/gem_imageJPEG.so b/Gem/gem_imageJPEG.so Binary files differindex a053d10..d8b542e 100755 --- a/Gem/gem_imageJPEG.so +++ b/Gem/gem_imageJPEG.so diff --git a/Gem/gem_imageMAGICK.so b/Gem/gem_imageMAGICK.so Binary files differindex 1e5fc70..8d57484 100755 --- a/Gem/gem_imageMAGICK.so +++ b/Gem/gem_imageMAGICK.so diff --git a/Gem/gem_imageSGI.so b/Gem/gem_imageSGI.so Binary files differindex 2f465d1..f36db5b 100755 --- a/Gem/gem_imageSGI.so +++ b/Gem/gem_imageSGI.so diff --git a/Gem/gem_imageTIFF.so b/Gem/gem_imageTIFF.so Binary files differindex deb3e69..3faebca 100755 --- a/Gem/gem_imageTIFF.so +++ b/Gem/gem_imageTIFF.so diff --git a/Gem/gem_modelOBJ.so b/Gem/gem_modelOBJ.so Binary files differindex ad86337..7f22e46 100755 --- a/Gem/gem_modelOBJ.so +++ b/Gem/gem_modelOBJ.so diff --git a/Gem/gemcocoawindow.pd_darwin b/Gem/gemcocoawindow.pd_darwin Binary files differindex 50b8dd2..50b902a 100755 --- a/Gem/gemcocoawindow.pd_darwin +++ b/Gem/gemcocoawindow.pd_darwin diff --git a/Gem/gemglfw2window.pd_darwin b/Gem/gemglfw2window.pd_darwin Binary files differindex f284dc3..5b82bc5 100755 --- a/Gem/gemglfw2window.pd_darwin +++ b/Gem/gemglfw2window.pd_darwin diff --git a/Gem/gemglfw3window.pd_darwin b/Gem/gemglfw3window.pd_darwin Binary files differindex e73066f..5beac3e 100755 --- a/Gem/gemglfw3window.pd_darwin +++ b/Gem/gemglfw3window.pd_darwin diff --git a/Gem/gemglutwindow.pd_darwin b/Gem/gemglutwindow.pd_darwin Binary files differindex 5daf034..ea0dd8a 100755 --- a/Gem/gemglutwindow.pd_darwin +++ b/Gem/gemglutwindow.pd_darwin diff --git a/Gem/gemsdlwindow.pd_darwin b/Gem/gemsdlwindow.pd_darwin Binary files differindex 066740f..dacee9f 100755 --- a/Gem/gemsdlwindow.pd_darwin +++ b/Gem/gemsdlwindow.pd_darwin diff --git a/Gem/pix_drum.pd_darwin b/Gem/pix_drum.pd_darwin Binary files differindex e27b538..1377972 100755 --- a/Gem/pix_drum.pd_darwin +++ b/Gem/pix_drum.pd_darwin diff --git a/Gem/pix_fiducialtrack.pd_darwin b/Gem/pix_fiducialtrack.pd_darwin Binary files differindex 6b43b77..cdb411c 100755 --- a/Gem/pix_fiducialtrack.pd_darwin +++ b/Gem/pix_fiducialtrack.pd_darwin diff --git a/Gem/pix_hit.pd_darwin b/Gem/pix_hit.pd_darwin Binary files differindex f5f5480..679a7d9 100755 --- a/Gem/pix_hit.pd_darwin +++ b/Gem/pix_hit.pd_darwin diff --git a/Gem/pix_mano.pd_darwin b/Gem/pix_mano.pd_darwin Binary files differindex 8a6595e..29cbfbe 100755 --- a/Gem/pix_mano.pd_darwin +++ b/Gem/pix_mano.pd_darwin |