aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-02-12 04:56:09 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-02-12 04:56:09 +0000
commit3d2c0b82fb2192cc3295dd0f64b09163db6b63ef (patch)
tree29352122c1a9c2ecff276cc26e13366d31e78cf1 /externals/grill/flext
parent771bef794b7edb7ef6cbe78acf2ee93b39f10f74 (diff)
Max: use high-priority click instead of qelem for message-posting
fixed flext::Timer::At method eliminated ChannelsIn/ChannelsOut fix for flext_dsp @ Max better STL support on OSX svn path=/trunk/; revision=2567
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/changes.txt3
-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
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