aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-12-12 03:41:32 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-12-12 03:41:32 +0000
commitdd500deadc8cc4577a305a9f1fe438786671f9e6 (patch)
tree4e73ff62c4a697446570a2f64c470978b7725204 /externals/grill/flext
parentc0ca4188c9813ddb28076c025fdcd3f4f100abeb (diff)
""
svn path=/trunk/; revision=1217
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/changes.txt12
-rw-r--r--externals/grill/flext/config-pd-cygwin.txt2
-rw-r--r--externals/grill/flext/flext.doxy58
-rw-r--r--externals/grill/flext/source/flattr_ed.cpp56
-rw-r--r--externals/grill/flext/source/flbase.h9
-rw-r--r--externals/grill/flext/source/fldefs.h6
-rw-r--r--externals/grill/flext/source/fldefs_attradd.h2
-rw-r--r--externals/grill/flext/source/fldefs_attrcb.h3
-rw-r--r--externals/grill/flext/source/fldefs_attrvar.h49
-rw-r--r--externals/grill/flext/source/fldefs_methadd.h2
-rw-r--r--externals/grill/flext/source/fldefs_methcall.h1
-rw-r--r--externals/grill/flext/source/fldefs_methcb.h1
-rw-r--r--externals/grill/flext/source/fldefs_setup.h4
-rw-r--r--externals/grill/flext/source/fldoxygen.h2
-rwxr-xr-xexternals/grill/flext/source/flqueue.cpp18
-rw-r--r--externals/grill/flext/source/flsupport.h7
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