aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/source/flext.cpp14
-rwxr-xr-xexternals/grill/flext/source/flmsg.cpp3
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;