diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2005-01-26 05:02:06 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2005-01-26 05:02:06 +0000 |
commit | dcbc90c265de6782a1dc6f2e5e7e9fa3c4743f87 (patch) | |
tree | 1945ec1d26aaba80a35073c1e40bf8c395740e2f /externals/grill/flext/source/flout.cpp | |
parent | 329c9b00931e368ff4b16177bfc7a70b033689b9 (diff) |
- fixed typos and 64-bit compatibility
usage of symbols for method and attribute adding
fixed buggy unbinding of receive symbols
reconsidered flext::buffer:Update
some restructuring
added object construction and destruction flags
better templates, some minor changes
build system: added profiler mode, more fixes
added method for clicks into object box
- conform to idle callback functionality in devel_0_38
oops, forgot about SIMD for Windows
fix for ToOut calls in dsp time
svn path=/trunk/; revision=2540
Diffstat (limited to 'externals/grill/flext/source/flout.cpp')
-rw-r--r-- | externals/grill/flext/source/flout.cpp | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/externals/grill/flext/source/flout.cpp b/externals/grill/flext/source/flout.cpp index 70c940ef..7a2d2e8e 100644 --- a/externals/grill/flext/source/flout.cpp +++ b/externals/grill/flext/source/flout.cpp @@ -2,7 +2,7 @@ flext - C++ layer for Max/MSP and pd (pure data) externals -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) +Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. @@ -17,14 +17,6 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include <string.h> #if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX - -void flext_base::ToSysBang(int n) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); } } -void flext_base::ToSysFloat(int n,float f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); } } -void flext_base::ToSysInt(int n,int f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); } } -void flext_base::ToSysSymbol(int n,const t_symbol *s) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); } } -void flext_base::ToSysList(int n,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_list((t_outlet *)o,const_cast<t_symbol *>(sym_list),argc,(t_atom *)argv); CRITOFF(); } } -void flext_base::ToSysAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); } } - void flext_base::ToSysAtom(int n,const t_atom &at) const { outlet *o = GetOut(n); @@ -47,28 +39,18 @@ void flext_base::ToSysAtom(int n,const t_atom &at) const CRITOFF(); } } - -#elif FLEXT_SYS == FLEXT_SYS_JMAX - -void flext_base::ToSysBang(int n) const { fts_outlet_bang((fts_object *)thisHdr(),n); } -void flext_base::ToSysFloat(int n,float f) const { fts_outlet_float((fts_object *)thisHdr(),n,f); } -void flext_base::ToSysInt(int n,int f) const { fts_outlet_int((fts_object *)thisHdr(),n,f); } -void flext_base::ToSysSymbol(int n,const t_symbol *s) const { fts_outlet_symbol((fts_object *)thisHdr(),n,s); } -void flext_base::ToSysList(int n,int argc,const t_atom *argv) const { fts_outlet_send((fts_object *)thisHdr(),n,sym_list,argc,(t_atom *)argv); } -void flext_base::ToSysAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { fts_outlet_send((fts_object *)thisHdr(),n,const_cast<t_symbol *>(s),argc,(t_atom *)argv); } - #else #error Not implemented #endif #if defined(FLEXT_THREADS) #if FLEXT_QMODE == 2 - #define CHKTHR() (IsSystemThread() || IsThread(flext::thrmsgid)) + #define CHKTHR() ((IsSystemThread() || IsThread(flext::thrmsgid)) && !InDsp()) #else - #define CHKTHR() IsSystemThread() + #define CHKTHR() (IsSystemThread() && !InDsp()) #endif #else - #define CHKTHR() true + #define CHKTHR() (!InDsp()) #endif void flext_base::ToOutBang(int n) const { if(CHKTHR()) ToSysBang(n); else ToQueueBang(n); } |