diff options
Diffstat (limited to 'externals/grill/flext')
-rw-r--r-- | externals/grill/flext/changes.txt | 12 | ||||
-rw-r--r-- | externals/grill/flext/config-pd-cygwin.txt | 2 | ||||
-rw-r--r-- | externals/grill/flext/flext.doxy | 58 | ||||
-rw-r--r-- | externals/grill/flext/source/flattr_ed.cpp | 56 | ||||
-rw-r--r-- | externals/grill/flext/source/flbase.h | 9 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs.h | 6 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs_attradd.h | 2 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs_attrcb.h | 3 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs_attrvar.h | 49 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs_methadd.h | 2 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs_methcall.h | 1 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs_methcb.h | 1 | ||||
-rw-r--r-- | externals/grill/flext/source/fldefs_setup.h | 4 | ||||
-rw-r--r-- | externals/grill/flext/source/fldoxygen.h | 2 | ||||
-rwxr-xr-x | externals/grill/flext/source/flqueue.cpp | 18 | ||||
-rw-r--r-- | externals/grill/flext/source/flsupport.h | 7 |
16 files changed, 136 insertions, 96 deletions
diff --git a/externals/grill/flext/changes.txt b/externals/grill/flext/changes.txt index 84ebac86..4c0eca4b 100644 --- a/externals/grill/flext/changes.txt +++ b/externals/grill/flext/changes.txt @@ -23,7 +23,6 @@ Version history: - added "getmethods" message (for attribute-enabled externals) to list methods for a specified inlet (default = 0) - "getattributes" or "getmethods" output lists are now alphabethically sorted - flext::StopThread function to terminate running threads (started with LaunchThread) -- added flext::post() and flext::error() console printing (thread-safe) - added flext::CmpAtom and AtomList::operator < methods ... useful for using lists as keys for STL - make use of new PD thread locking (PD functions sys_lock() and sys_unlock()), queue messages only if necessary - better FLEXT_OSAPI resolution @@ -35,6 +34,7 @@ Version history: - moved memory functions and console output from flext to super-base-class flext_root and derived all helper classes from that - changed FLEXT_THREAD_X: wrappers doesn't delete the passed data pointer anymore -> the called method is responsible for that (and it knows the type....) - enabled binding of more than one function to a symbol and added flext_base::GetBoundMethod +- native support for Windows threading model 0.4.4: - fixed deadly bug for Max/MSP method-to-symbol-binding proxies @@ -277,11 +277,12 @@ general: - add log messages for debugging version - use PD's t_float and t_int types (or comparable for 32-Bit safety) -- make links flext.a -> libflext.a for compatibility - - add double handlers - add signal in/out connection query function +- support for Max qelem style + + bugs: - attributes and attribute editor saving with patcher arguments (like $0-gugu ) @@ -290,8 +291,9 @@ bugs: - Max rounding bug ... buffer resize could be one sample less! - flext_dsp: Max/MSP doesn't correctly report in/out channel counts -- new called in a flext-based class member function doesn _NOT_ call flext::operator new. - how can we achieve that???? +- linker problems between MFC libraries and global new and delete overloadings +- flext::post and flext::error should print via a worker thread + tests: - PD: figure out what "pointer" messages do and where they occur diff --git a/externals/grill/flext/config-pd-cygwin.txt b/externals/grill/flext/config-pd-cygwin.txt index dec1ebc4..50a72db0 100644 --- a/externals/grill/flext/config-pd-cygwin.txt +++ b/externals/grill/flext/config-pd-cygwin.txt @@ -25,4 +25,4 @@ INSTDIR=${PDPATH}/flext # additional compiler flags # (check if they fit for your system!) -UFLAGS=-mcpu=pentium3 -msse
\ No newline at end of file +UFLAGS=-mcpu=pentium4 -msse
\ No newline at end of file diff --git a/externals/grill/flext/flext.doxy b/externals/grill/flext/flext.doxy index 8b245668..46f973d6 100644 --- a/externals/grill/flext/flext.doxy +++ b/externals/grill/flext/flext.doxy @@ -1,12 +1,34 @@ -# Doxyfile 1.3-rc2 +# Doxyfile 1.3.5 #--------------------------------------------------------------------------- -# General configuration options +# Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = flext -PROJECT_NUMBER = "version 0.4.4" +PROJECT_NUMBER = "version 0.5.0" OUTPUT_DIRECTORY = f:/prog/max/flext/doc/ OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = YES +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO @@ -15,35 +37,18 @@ HIDE_UNDOC_MEMBERS = YES HIDE_UNDOC_CLASSES = YES HIDE_FRIEND_COMPOUNDS = NO HIDE_IN_BODY_DOCS = NO -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = INTERNAL_DOCS = YES CASE_SENSE_NAMES = YES -SHORT_NAMES = NO HIDE_SCOPE_NAMES = NO -VERBATIM_HEADERS = NO SHOW_INCLUDE_FILES = YES -JAVADOC_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = YES -INHERIT_DOCS = YES INLINE_INFO = YES SORT_MEMBER_DOCS = YES -DISTRIBUTE_GROUP_DOC = NO -TAB_SIZE = 8 GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ALIASES = ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO SHOW_USED_FILES = YES #--------------------------------------------------------------------------- # configuration options related to warning and progress messages @@ -77,6 +82,7 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = YES REFERENCES_RELATION = YES +VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- @@ -117,6 +123,7 @@ LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -137,8 +144,10 @@ MAN_LINKS = NO # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO +XML_OUTPUT = xml XML_SCHEMA = XML_DTD = +XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -183,24 +192,21 @@ HIDE_UNDOC_RELATIONS = YES HAVE_DOT = NO CLASS_GRAPH = YES COLLABORATION_GRAPH = YES +UML_LOOK = NO TEMPLATE_RELATIONS = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO GRAPHICAL_HIERARCHY = YES DOT_IMAGE_FORMAT = png DOT_PATH = DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::addtions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -CGI_NAME = search.cgi -CGI_URL = -DOC_URL = -DOC_ABSPATH = -BIN_ABSPATH = /usr/local/bin/ -EXT_DOC_PATHS = diff --git a/externals/grill/flext/source/flattr_ed.cpp b/externals/grill/flext/source/flattr_ed.cpp index fb6183ed..6b2b1d96 100644 --- a/externals/grill/flext/source/flattr_ed.cpp +++ b/externals/grill/flext/source/flattr_ed.cpp @@ -64,9 +64,6 @@ void flext_base::SetAttrEditor(t_classid c) widgetbehavior.w_clickfn = text_widgetbehavior.w_clickfn; #endif - widgetbehavior.w_visfn = cb_GfxVis; - class_setwidget(c, &widgetbehavior); - #if PD_MINOR_VERSION >= 37 class_setpropertiesfn(c,cb_GfxProperties); class_setsavefn(c,cb_GfxSave); @@ -75,6 +72,9 @@ void flext_base::SetAttrEditor(t_classid c) widgetbehavior.w_savefn = cb_GfxSave; #endif + widgetbehavior.w_visfn = cb_GfxVis; + class_setwidget(c, &widgetbehavior); + // generate the script for the property dialog sys_gui( @@ -411,29 +411,33 @@ void flext_base::cb_GfxProperties(t_gobj *c, t_glist *) //! Strip the attributes off the object command line void flext_base::cb_GfxVis(t_gobj *c, t_glist *gl, int vis) { - t_text *x = (t_text *)c; - - FLEXT_ASSERT(x->te_binbuf); - - int argc = binbuf_getnatom(x->te_binbuf); - t_atom *argv = binbuf_getvec(x->te_binbuf); - int cnt = CheckAttrib(argc,argv); - - if(cnt) { - t_binbuf *nb = binbuf_new(); - binbuf_restore(nb,cnt,argv); - binbuf_free(x->te_binbuf); - x->te_binbuf = nb; - } - - t_rtext *rt = glist_findrtext(gl,x); - rtext_retext(rt); - -#ifdef FLEXT_CLONEWIDGET - text_widgetbehavior.w_visfn(c,gl,vis); -#else - ori_vis(c,gl,vis); -#endif + // show object if it's not a GOP + if(!gl->gl_isgraph || gl->gl_havewindow) { + + t_text *x = (t_text *)c; + FLEXT_ASSERT(x->te_binbuf); + + int argc = binbuf_getnatom(x->te_binbuf); + t_atom *argv = binbuf_getvec(x->te_binbuf); + int cnt = CheckAttrib(argc,argv); + + if(cnt) { + t_binbuf *nb = binbuf_new(); + binbuf_restore(nb,cnt,argv); + binbuf_free(x->te_binbuf); + x->te_binbuf = nb; + } + + t_rtext *rt = glist_findrtext(gl,x); + rtext_retext(rt); + + // now display the changed text with the normal drawing function + #ifdef FLEXT_CLONEWIDGET + text_widgetbehavior.w_visfn(c,gl,vis); + #else + ori_vis(c,gl,vis); + #endif + } } static void BinbufAdd(t_binbuf *b,const t_atom &at) diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h index 789a0855..594bfbfc 100644 --- a/externals/grill/flext/source/flbase.h +++ b/externals/grill/flext/source/flbase.h @@ -139,9 +139,8 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): t_canvas *thisCanvas() const { return m_canvas; } //! Get the PD or Max/MSP object - t_sigobj *thisHdr() { return &x_obj->obj; } - //! Get the PD or Max/MSP object - const t_sigobj *thisHdr() const { return &x_obj->obj; } + t_sigobj *thisHdr() { FLEXT_ASSERT(x_obj); return &x_obj->obj; } + const t_sigobj *thisHdr() const { FLEXT_ASSERT(x_obj); return &x_obj->obj; } //! Get the class name (as a string) const char *thisName() const { return GetString(m_name); } //! Get the class name (as a symbol) @@ -150,9 +149,9 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj): //! Get the class pointer #if FLEXT_SYS == FLEXT_SYS_PD - t_class *thisClass() const { return (t_class *)((t_object *)(x_obj))->te_g.g_pd; } + t_class *thisClass() const { FLEXT_ASSERT(x_obj); return (t_class *)((t_object *)(x_obj))->te_g.g_pd; } #elif FLEXT_SYS == FLEXT_SYS_MAX - t_class *thisClass() const { return (t_class *)(((t_tinyobject *)x_obj)->t_messlist-1); } + t_class *thisClass() const { FLEXT_ASSERT(x_obj); return (t_class *)(((t_tinyobject *)x_obj)->t_messlist-1); } #elif FLEXT_SYS == FLEXT_SYS_JMAX t_class *thisClass() const { return fts_object_get_class((fts_object_t *)thisHdr()); } #else diff --git a/externals/grill/flext/source/fldefs.h b/externals/grill/flext/source/fldefs.h index 66d50c17..f0e37ab8 100644 --- a/externals/grill/flext/source/fldefs.h +++ b/externals/grill/flext/source/fldefs.h @@ -29,6 +29,8 @@ WARRANTIES, see the file, "license.txt," in this distribution. #define FLEXT_CAST static_cast #endif +//! @} FLEXT_DEFS + #include "fldefs_hdr.h" #include "fldefs_setup.h" @@ -65,8 +67,4 @@ WARRANTIES, see the file, "license.txt," in this distribution. #endif // FLEXT_ATTRIBUTES - - -//! @} FLEXT_DEFS - #endif // __FLEXT_DEFS_H diff --git a/externals/grill/flext/source/fldefs_attradd.h b/externals/grill/flext/source/fldefs_attradd.h index db0ce82b..50aef3cb 100644 --- a/externals/grill/flext/source/fldefs_attradd.h +++ b/externals/grill/flext/source/fldefs_attradd.h @@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. /*! \defgroup FLEXT_D_CADDATTR Announce object attributes at class scope + \ingroup FLEXT_D_ATTRIB \note These can only be used at class construction time @{ */ @@ -67,6 +68,7 @@ AddAttrib(CL,NAME,(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(f /*! \defgroup FLEXT_D_ADDATTR Announce object attributes + \ingroup FLEXT_D_ATTRIB \note These can only be used at object construction time \note (in constructor or in Init() function before call to parent's Init()) @{ diff --git a/externals/grill/flext/source/fldefs_attrcb.h b/externals/grill/flext/source/fldefs_attrcb.h index 1c147613..cf9aec4c 100644 --- a/externals/grill/flext/source/fldefs_attrcb.h +++ b/externals/grill/flext/source/fldefs_attrcb.h @@ -35,6 +35,7 @@ static bool FLEXT_GET_PRE(FUN)(flext_base *c,TP &arg) \ /*! \defgroup FLEXT_DA_CALLSET Definition of attribute set handlers + \ingroup FLEXT_D_ATTRIB @{ */ @@ -75,6 +76,7 @@ static bool FLEXT_SET_PRE(FUN)(flext_base *c,AtomList *&arg) \ //! @} FLEXT_DA_CALLSET /*! \defgroup FLEXT_DA_CALLGET Definition of attribute get handlers + \ingroup FLEXT_D_ATTRIB @{ */ @@ -116,6 +118,7 @@ static bool FLEXT_GET_PRE(FUN)(flext_base *c,AtomList *&arg) \ /*! \defgroup FLEXT_DA_CALLVAR Definition of attribute transfer handlers (both get and set) + \ingroup FLEXT_D_ATTRIB @{ */ diff --git a/externals/grill/flext/source/fldefs_attrvar.h b/externals/grill/flext/source/fldefs_attrvar.h index 89592c29..c63fbb35 100644 --- a/externals/grill/flext/source/fldefs_attrvar.h +++ b/externals/grill/flext/source/fldefs_attrvar.h @@ -17,14 +17,14 @@ WARRANTIES, see the file, "license.txt," in this distribution. #define __FLEXT_DEFS_ATTRVAR_H -/*! \brief Declare an implicite attribute set function +/*! \brief Declare an implicit attribute set function \internal */ #define FLEXT_ATTRSET_(VAR,TP) \ static bool FLEXT_SET_PRE(VAR)(flext_base *c,TP &arg) \ { FLEXT_CAST<thisType *>(c)->VAR = arg; return true; } -/*! \brief Declare an implicite attribute get function +/*! \brief Declare an implicit attribute get function \internal */ #define FLEXT_ATTRGET_(VAR,TP) \ @@ -33,26 +33,27 @@ static bool FLEXT_GET_PRE(VAR)(flext_base *c,TP &arg) \ -/*! \defgroup FLEXT_DA_ATTRSET Definition of implicite attribute set handlers +/*! \defgroup FLEXT_DA_ATTRSET Definition of implicit attribute set handlers + \ingroup FLEXT_D_ATTRIB @{ */ -//! Declare an implicite set function for a float attribute +//! Declare an implicit set function for a float attribute #define FLEXT_ATTRSET_F(VAR) \ \ FLEXT_ATTRSET_(VAR,float) -//! Declare an implicite set function for an integer attribute +//! Declare an implicit set function for an integer attribute #define FLEXT_ATTRSET_I(VAR) \ \ FLEXT_ATTRSET_(VAR,int) -//! Declare an implicite set function for a symbol attribute +//! Declare an implicit set function for a symbol attribute #define FLEXT_ATTRSET_S(VAR) \ \ FLEXT_ATTRSET_(VAR,const t_symbol *) -//! Declare an implicite set function for a boolean attribute +//! Declare an implicit set function for a boolean attribute #define FLEXT_ATTRSET_B(VAR) \ \ FLEXT_ATTRSET_(VAR,bool) @@ -61,38 +62,39 @@ static bool FLEXT_SET_PRE(VAR)(flext_base *c,int &arg) \ { FLEXT_CAST<thisType *>(c)->VAR = arg != 0; return true; } */ -//! Declare an implicite set function for an enum attribute +//! Declare an implicit set function for an enum attribute #define FLEXT_ATTRSET_E(VAR,TP) \ \ FLEXT_ATTRSET_(VAR,TP) -//! Declare an implicite set function for a variable list attribute +//! Declare an implicit set function for a variable list attribute #define FLEXT_ATTRSET_V(VAR) \ static bool FLEXT_SET_PRE(VAR)(flext_base *c,AtomList *&arg) \ { FLEXT_CAST<thisType *>(c)->VAR = *arg; return true; } //! @} FLEXT_DA_ATTRSET -/*! \defgroup FLEXT_DA_ATTRGET Definition of implicite attribute get handlers +/*! \defgroup FLEXT_DA_ATTRGET Definition of implicit attribute get handlers + \ingroup FLEXT_D_ATTRIB @{ */ -//! Declare an implicite get function for a float attribute +//! Declare an implicit get function for a float attribute #define FLEXT_ATTRGET_F(VAR) \ \ FLEXT_ATTRGET_(VAR,float) -//! Declare an implicite get function for an integer attribute +//! Declare an implicit get function for an integer attribute #define FLEXT_ATTRGET_I(VAR) \ \ FLEXT_ATTRGET_(VAR,int) -//! Declare an implicite get function for a symbol attribute +//! Declare an implicit get function for a symbol attribute #define FLEXT_ATTRGET_S(VAR) \ \ FLEXT_ATTRGET_(VAR,const t_symbol *) -//! Declare an implicite get function for a boolean attribute +//! Declare an implicit get function for a boolean attribute #define FLEXT_ATTRGET_B(VAR) \ \ FLEXT_ATTRGET_(VAR,bool) @@ -101,12 +103,12 @@ static bool FLEXT_GET_PRE(VAR)(flext_base *c,int &arg) \ { arg = FLEXT_CAST<thisType *>(c)->VAR?1:0; return true; } */ -//! Declare an implicite get function for an enum attribute +//! Declare an implicit get function for an enum attribute #define FLEXT_ATTRGET_E(VAR,TP) \ \ FLEXT_ATTRGET_(VAR,TP) -//! Declare an implicite get function for a variable list attribute +//! Declare an implicit get function for a variable list attribute #define FLEXT_ATTRGET_V(VAR) \ static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \ { *arg = FLEXT_CAST<thisType *>(c)->VAR; return true; } @@ -114,36 +116,37 @@ static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \ //! @} FLEXT_DA_ATTRGET -/*! \defgroup FLEXT_DA_ATTRVAR Definition of implicite attribute transfer handlers (both get and set) +/*! \defgroup FLEXT_DA_ATTRVAR Definition of implicit attribute transfer handlers (both get and set) + \ingroup FLEXT_D_ATTRIB @{ */ -//! Declare both implicite get and set functions for a float attribute +//! Declare both implicit get and set functions for a float attribute #define FLEXT_ATTRVAR_F(VAR) \ \ FLEXT_ATTRGET_F(VAR) FLEXT_ATTRSET_F(VAR) -//! Declare both implicite get and set functions for an integer attribute +//! Declare both implicit get and set functions for an integer attribute #define FLEXT_ATTRVAR_I(VAR) \ \ FLEXT_ATTRGET_I(VAR) FLEXT_ATTRSET_I(VAR) -//! Declare both implicite get and set functions for a symbol attribute +//! Declare both implicit get and set functions for a symbol attribute #define FLEXT_ATTRVAR_S(VAR) \ \ FLEXT_ATTRGET_S(VAR) FLEXT_ATTRSET_S(VAR) -//! Declare both implicite get and set functions for a boolean attribute +//! Declare both implicit get and set functions for a boolean attribute #define FLEXT_ATTRVAR_B(VAR) \ \ FLEXT_ATTRGET_B(VAR) FLEXT_ATTRSET_B(VAR) -//! Declare both implicite get and set functions for an enum attribute +//! Declare both implicit get and set functions for an enum attribute #define FLEXT_ATTRVAR_E(VAR,TP) \ \ FLEXT_ATTRGET_(VAR,TP) FLEXT_ATTRSET_(VAR,TP) -//! Declare both implicite get and set functions for a variable list attribute +//! Declare both implicit get and set functions for a variable list attribute #define FLEXT_ATTRVAR_V(VAR) \ \ FLEXT_ATTRGET_V(VAR) FLEXT_ATTRSET_V(VAR) diff --git a/externals/grill/flext/source/fldefs_methadd.h b/externals/grill/flext/source/fldefs_methadd.h index f2f2d62b..e9cb93d4 100644 --- a/externals/grill/flext/source/fldefs_methadd.h +++ b/externals/grill/flext/source/fldefs_methadd.h @@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. /*! \defgroup FLEXT_D_CADDMETHOD Add flext methods within class scope + \ingroup FLEXT_D_METHOD \note These can only be used at class construction time @{ */ @@ -108,6 +109,7 @@ FLEXT_CADDMETHOD_3(CL,IX,M_TAG,M_FUN,int,int,int) /*! \defgroup FLEXT_D_ADDMETHOD Add flext methods + \ingroup FLEXT_D_METHOD \note These can only be used at object construction time \note (in constructor or in Init() function before call to parent's Init()) @{ diff --git a/externals/grill/flext/source/fldefs_methcall.h b/externals/grill/flext/source/fldefs_methcall.h index 8085e9d9..8b6e1bde 100644 --- a/externals/grill/flext/source/fldefs_methcall.h +++ b/externals/grill/flext/source/fldefs_methcall.h @@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. /*! \defgroup FLEXT_D_CALLMETHOD Call flext methods manually + \ingroup FLEXT_D_METHOD @{ */ diff --git a/externals/grill/flext/source/fldefs_methcb.h b/externals/grill/flext/source/fldefs_methcb.h index de279d92..45763f59 100644 --- a/externals/grill/flext/source/fldefs_methcb.h +++ b/externals/grill/flext/source/fldefs_methcb.h @@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. /*! \defgroup FLEXT_D_CALLBACK Declare callbacks for class methods + \ingroup FLEXT_D_METHOD @{ */ diff --git a/externals/grill/flext/source/fldefs_setup.h b/externals/grill/flext/source/fldefs_setup.h index e00cc943..255b18ad 100644 --- a/externals/grill/flext/source/fldefs_setup.h +++ b/externals/grill/flext/source/fldefs_setup.h @@ -8,7 +8,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. */ -/*! \file fldef_setup.h +/*! \file fldefs_setup.h \brief This file contains all #defines for actual usage */ @@ -27,6 +27,8 @@ WARRANTIES, see the file, "license.txt," in this distribution. - There may be additional names (aliases) appened, separated by spaces - There may be a help path prepended, separated by a colon - This help path doesn't work for Max/MSP. There you'll have to use a object mapping file (Max/MSP version >= 4.2) + + @{ */ diff --git a/externals/grill/flext/source/fldoxygen.h b/externals/grill/flext/source/fldoxygen.h index 202176ea..27b000c0 100644 --- a/externals/grill/flext/source/fldoxygen.h +++ b/externals/grill/flext/source/fldoxygen.h @@ -150,7 +150,7 @@ private: For each method that shall be exposed to the realtime-system (for receiving messages) and every attribute (for setting and getting values) callbacks have to be set up. -The functions in the groups "\ref FLEXT_D_CALLBACK" and "\ref FLEXT_D_ATTRIB" allow for their +The functions in the groups \ref FLEXT_D_CALLBACK and \ref FLEXT_D_ATTRIB allow for their convenient definition. \verbatim diff --git a/externals/grill/flext/source/flqueue.cpp b/externals/grill/flext/source/flqueue.cpp index 2d10aeee..747c4cc8 100755 --- a/externals/grill/flext/source/flqueue.cpp +++ b/externals/grill/flext/source/flqueue.cpp @@ -66,8 +66,8 @@ void qmsg::Clear() tp = tp_none; } -static int qcnt = 0; -static qmsg *qhead = NULL,*qtail = NULL; +static volatile int qcnt = 0; +static qmsg *volatile qhead = NULL,*volatile qtail = NULL; #ifdef FLEXT_QTHR static flext::ThrCond qthrcond; @@ -275,13 +275,15 @@ void flext_base::StartQueue() void flext_base::ToQueueBang(int o) const { - qmsg *m = new qmsg(const_cast<flext_base *>(this)); + FLEXT_ASSERT(o >= 0); + qmsg *m = new qmsg(const_cast<flext_base *>(this)); m->SetBang(o); Queue(m); } void flext_base::ToQueueFloat(int o,float f) const { + FLEXT_ASSERT(o >= 0); qmsg *m = new qmsg(const_cast<flext_base *>(this)); m->SetFloat(o,f); Queue(m); @@ -289,6 +291,7 @@ void flext_base::ToQueueFloat(int o,float f) const void flext_base::ToQueueInt(int o,int f) const { + FLEXT_ASSERT(o >= 0); qmsg *m = new qmsg(const_cast<flext_base *>(this)); m->SetInt(o,f); Queue(m); @@ -296,6 +299,7 @@ void flext_base::ToQueueInt(int o,int f) const void flext_base::ToQueueSymbol(int o,const t_symbol *s) const { + FLEXT_ASSERT(o >= 0); qmsg *m = new qmsg(const_cast<flext_base *>(this)); m->SetSymbol(o,s); Queue(m); @@ -303,6 +307,7 @@ void flext_base::ToQueueSymbol(int o,const t_symbol *s) const void flext_base::ToQueueList(int o,int argc,const t_atom *argv) const { + FLEXT_ASSERT(o >= 0); qmsg *m = new qmsg(const_cast<flext_base *>(this)); m->SetList(o,argc,argv); Queue(m); @@ -310,6 +315,7 @@ void flext_base::ToQueueList(int o,int argc,const t_atom *argv) const void flext_base::ToQueueAnything(int o,const t_symbol *s,int argc,const t_atom *argv) const { + FLEXT_ASSERT(o >= 0); qmsg *m = new qmsg(const_cast<flext_base *>(this)); m->SetAny(o,s,argc,argv); Queue(m); @@ -318,31 +324,37 @@ void flext_base::ToQueueAnything(int o,const t_symbol *s,int argc,const t_atom * void flext_base::ToSelfBang(int n) const { + FLEXT_ASSERT(n >= 0); ToQueueBang(-1-n); } void flext_base::ToSelfFloat(int n,float f) const { + FLEXT_ASSERT(n >= 0); ToQueueFloat(-1-n,f); } void flext_base::ToSelfInt(int n,int f) const { + FLEXT_ASSERT(n >= 0); ToQueueInt(-1-n,f); } void flext_base::ToSelfSymbol(int n,const t_symbol *s) const { + FLEXT_ASSERT(n >= 0); ToQueueSymbol(-1-n,s); } void flext_base::ToSelfList(int n,int argc,const t_atom *argv) const { + FLEXT_ASSERT(n >= 0); ToQueueList(-1-n,argc,argv); } void flext_base::ToSelfAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { + FLEXT_ASSERT(n >= 0); ToQueueAnything(-1-n,s,argc,argv); } diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h index b135b613..283466ac 100644 --- a/externals/grill/flext/source/flsupport.h +++ b/externals/grill/flext/source/flsupport.h @@ -18,6 +18,10 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include "flstdc.h" #include <new> +/*! \defgroup FLEXT_SUPPORT Flext support classes + @{ +*/ + class FLEXT_SHARE FLEXT_CLASSDEF(flext_root); typedef class FLEXT_CLASSDEF(flext_root) flext_root; @@ -65,6 +69,7 @@ public: //! @} FLEXT_S_MEMORY }; + #if !defined(_MSC_VER) && !defined(__BORLANDC__) #define NEWTHROW throw(std::bad_alloc) #define DELTHROW throw() @@ -1106,6 +1111,6 @@ inline bool operator <=(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF inline bool operator >(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF(flext)::CmpAtom(a,b) > 0; } inline bool operator >=(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF(flext)::CmpAtom(a,b) >= 0; } - +//! @} // FLEXT_SUPPORT #endif |