aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext/source')
-rw-r--r--externals/grill/flext/source/fldsp.cpp23
-rw-r--r--externals/grill/flext/source/fldsp.h6
-rw-r--r--externals/grill/flext/source/flsupport.h10
3 files changed, 12 insertions, 27 deletions
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