diff options
Diffstat (limited to 'externals/grill/flext')
-rw-r--r-- | externals/grill/flext/source/flext.cpp | 14 | ||||
-rwxr-xr-x | externals/grill/flext/source/flmsg.cpp | 3 |
2 files changed, 15 insertions, 2 deletions
diff --git a/externals/grill/flext/source/flext.cpp b/externals/grill/flext/source/flext.cpp index c13d8732..e54ad339 100644 --- a/externals/grill/flext/source/flext.cpp +++ b/externals/grill/flext/source/flext.cpp @@ -27,8 +27,6 @@ flext_base::flext_base(): insigs(0),outsigs(0), outlets(NULL),outattr(NULL), distmsgs(false), - methhead(new itemarr),attrhead(new itemarr), - clmethhead(ClMeths(thisClassId())),clattrhead(ClAttrs(thisClassId())), inlets(NULL) #if FLEXT_SYS == FLEXT_SYS_MAX ,indesc(NULL),outdesc(NULL) @@ -36,6 +34,18 @@ flext_base::flext_base(): { LOG1("%s - flext logging is on",thisName()); + t_classid clid = thisClassId(); + clmethhead = ClMeths(clid); + methhead = new itemarr; + + if(procattr) { + // initialize when attribute processing is enabled + attrhead = new itemarr; + clattrhead = ClAttrs(clid); + } + else + attrhead = clattrhead = NULL; + // message queue ticker qhead = qtail = NULL; qclk = (t_qelem *)(qelem_new(this,(t_method)QTick)); diff --git a/externals/grill/flext/source/flmsg.cpp b/externals/grill/flext/source/flmsg.cpp index 4a6e0c20..3041ea0b 100755 --- a/externals/grill/flext/source/flmsg.cpp +++ b/externals/grill/flext/source/flmsg.cpp @@ -128,6 +128,9 @@ bool flext_base::TryMethAny(const methitem *m,int inlet,const t_symbol *t,const return false; } +/*! \brief Find a method item for a specific tag and arguments + \remark All attributes are also stored in the method list and retrieved by a member of the method item +*/ bool flext_base::FindMeth(int inlet,const t_symbol *s,int argc,const t_atom *argv) { methitem *m; |