diff options
Diffstat (limited to 'externals')
-rw-r--r-- | externals/grill/flext/changes.txt | 3 | ||||
-rw-r--r-- | externals/grill/flext/source/fldsp.cpp | 23 | ||||
-rw-r--r-- | externals/grill/flext/source/fldsp.h | 6 | ||||
-rw-r--r-- | externals/grill/flext/source/flsupport.h | 10 |
4 files changed, 14 insertions, 28 deletions
diff --git a/externals/grill/flext/changes.txt b/externals/grill/flext/changes.txt index 845e5c8d..75b663b0 100644 --- a/externals/grill/flext/changes.txt +++ b/externals/grill/flext/changes.txt @@ -29,9 +29,10 @@ Version history: - removed virtual flext_dsp::m_enable function (which wasn't present for Max/MSP) - added m_click method which gets called on alt-click (PD) resp. double clicks (Max) onto the object box - in ToOut check if we are inside dsp (and use ToQueue then...) -- some restructuring and use symbols (rather the char *) natively for AddMethod* and AddAttrib* functions +- some restructuring and use symbols (rather than char *) natively for AddMethod* and AddAttrib* functions - added some more SIMD functionality - fixes to flext::Timer::At method +- eliminated misleading flext_dsp::ChannelsIn and ChannelsOut 0.4.7: - added flext::GetBool (just because flext::GetInt has been there for a while) diff --git a/externals/grill/flext/source/fldsp.cpp b/externals/grill/flext/source/fldsp.cpp index 91400346..0cf5eb37 100644 --- a/externals/grill/flext/source/fldsp.cpp +++ b/externals/grill/flext/source/fldsp.cpp @@ -65,20 +65,13 @@ flext_dsp::~FLEXT_CLASSDEF(flext_dsp)() fts_dsp_object_delete(thisHdr()); #endif - if(invecs) delete[] invecs; - if(outvecs) delete[] outvecs; - -/* #if FLEXT_SYS == FLEXT_SYS_MAX - // switch off dsp as the dsp function might get called afterwards (?!) + // switch off dsp as the dsp function might get called afterwards (different thread) thisHdr()->z_disabled = true; - +#endif + if(invecs) delete[] invecs; if(outvecs) delete[] outvecs; -#elif FLEXT_SYS == FLEXT_SYS_PD - dspon = false; -#endif -*/ } #if FLEXT_SYS == FLEXT_SYS_JMAX @@ -89,15 +82,7 @@ void flext_dsp::dspmeth(fts_word_t *w) t_int *flext_dsp::dspmeth(t_int *w) { flext_dsp *obj = (flext_dsp *)(size_t)w[1]; -/* -#ifdef FLEXT_DEBUG - if(!obj->thisHdr()) { - // object is already deleted! - ERRINTERNAL(); - return w+3; - } -#endif -*/ + #if FLEXT_SYS == FLEXT_SYS_MAX if(!obj->thisHdr()->z_disabled) #else diff --git a/externals/grill/flext/source/fldsp.h b/externals/grill/flext/source/fldsp.h index 7b7f381a..a9452aa6 100644 --- a/externals/grill/flext/source/fldsp.h +++ b/externals/grill/flext/source/fldsp.h @@ -51,12 +51,6 @@ public: //! returns current block (aka vector) size int Blocksize() const { return blksz; } - //! returns number of input channels - int ChannelsIn() const { return chnsin; } - - //! returns number of output channels - int ChannelsOut() const { return chnsout; } - //! typedef describing a signal vector #if FLEXT_SYS == FLEXT_SYS_JMAX typedef fts_symbol_t t_signalvec; diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h index 95bf8ea6..9377b021 100644 --- a/externals/grill/flext/source/flsupport.h +++ b/externals/grill/flext/source/flsupport.h @@ -53,9 +53,15 @@ public: //! Overloaded delete method void operator delete(void *blk); + inline void *operator new(size_t,void *p) { return p; } + inline void operator delete(void *,void *) {} + #ifndef __MRC__ // doesn't allow new[] overloading?! - void *operator new[](size_t bytes) { return operator new(bytes); } - void operator delete[](void *blk) { operator delete(blk); } + inline void *operator new[](size_t bytes) { return operator new(bytes); } + inline void operator delete[](void *blk) { operator delete(blk); } + + inline void *operator new[](size_t,void *p) { return p; } + inline void operator delete[](void *,void *) {} #endif //! Get an aligned memory block |