diff options
Diffstat (limited to 'externals/grill/flext')
-rw-r--r-- | externals/grill/flext/readme.txt | 4 | ||||
-rw-r--r-- | externals/grill/flext/source/flbase.cpp | 4 | ||||
-rw-r--r-- | externals/grill/flext/source/flbase.h | 4 | ||||
-rw-r--r-- | externals/grill/flext/source/fldsp.cpp | 4 | ||||
-rw-r--r-- | externals/grill/flext/source/flext.h | 4 | ||||
-rwxr-xr-x | externals/grill/flext/source/fllib.cpp | 18 | ||||
-rw-r--r-- | externals/grill/flext/source/flout.cpp | 1 |
7 files changed, 23 insertions, 16 deletions
diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt index 7696ef6f..9eac2a1b 100644 --- a/externals/grill/flext/readme.txt +++ b/externals/grill/flext/readme.txt @@ -115,6 +115,10 @@ see flext.h, fldefs.h and flclass.h for the documented base definitions and clas Version history: +0.4.2: +- moved CLASS_MAINSIGNALIN to class scope (fixed "float method overwritten" warning) +- unix makefiles: CXX should be commented out if standard (to enable environmental settings) + 0.4.1: - full port for Max@OSX - completely redesigned message and attribute handling: now hashed and much more efficient diff --git a/externals/grill/flext/source/flbase.cpp b/externals/grill/flext/source/flbase.cpp index f9aaffca..516be430 100644 --- a/externals/grill/flext/source/flbase.cpp +++ b/externals/grill/flext/source/flbase.cpp @@ -62,7 +62,7 @@ bool flext_obj::Init() { return true; } bool flext_obj::Finalize() { return true; } void flext_obj::Exit() {} -void flext_obj::DefineHelp(t_class *c,const char *ref,const char *dir,bool addtilde) +void flext_obj::DefineHelp(t_classid c,const char *ref,const char *dir,bool addtilde) { #if FLEXT_SYS == FLEXT_SYS_PD char tmp[256]; @@ -74,7 +74,7 @@ void flext_obj::DefineHelp(t_class *c,const char *ref,const char *dir,bool addti } else strcpy(tmp,ref); - ::class_sethelpsymbol(c,gensym(const_cast<char *>(tmp))); + ::class_sethelpsymbol(getClass(c),gensym(const_cast<char *>(tmp))); #else // no solution for Max/MSP yet #endif diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h index 78e4818c..ea682077 100644 --- a/externals/grill/flext/source/flbase.h +++ b/externals/grill/flext/source/flbase.h @@ -180,10 +180,10 @@ class FLEXT_SHARE flext_obj: /*! Define the help reference symbol for a class \internal */ - static void DefineHelp(t_class *c,const char *ref,const char *dir = NULL,bool addtilde = false); + static void DefineHelp(t_classid c,const char *ref,const char *dir = NULL,bool addtilde = false); //! Define the help reference symbol for a class - void DefineHelp(const char *ref,const char *dir = NULL,bool addtilde = false) { DefineHelp(thisClass(),ref,dir,addtilde); } + void DefineHelp(const char *ref,const char *dir = NULL,bool addtilde = false) { DefineHelp(thisClassId(),ref,dir,addtilde); } //! @} diff --git a/externals/grill/flext/source/fldsp.cpp b/externals/grill/flext/source/fldsp.cpp index 03492ce0..7f845074 100644 --- a/externals/grill/flext/source/fldsp.cpp +++ b/externals/grill/flext/source/fldsp.cpp @@ -29,6 +29,10 @@ void flext_dsp::Setup(t_classid id) dsp_initboxclass(); #endif +#if FLEXT_SYS == FLEXT_SYS_PD + CLASS_MAINSIGNALIN(c,flext_hdr,defsig); +#endif + add_dsp(c,cb_dsp); #if FLEXT_SYS != FLEXT_SYS_MAX add_method1(c,cb_enable,"enable",A_FLOAT); diff --git a/externals/grill/flext/source/flext.h b/externals/grill/flext/source/flext.h index 8f1a71ce..b62b583e 100644 --- a/externals/grill/flext/source/flext.h +++ b/externals/grill/flext/source/flext.h @@ -23,10 +23,10 @@ WARRANTIES, see the file, "license.txt," in this distribution. */ //! \brief flext version number -#define FLEXT_VERSION 401 +#define FLEXT_VERSION 402 //! \brief flext version string -#define FLEXT_VERSTR "0.4.1" +#define FLEXT_VERSTR "0.4.2pre" //! @} diff --git a/externals/grill/flext/source/fllib.cpp b/externals/grill/flext/source/fllib.cpp index cd0c65d9..2d3aaa4c 100755 --- a/externals/grill/flext/source/fllib.cpp +++ b/externals/grill/flext/source/fllib.cpp @@ -270,8 +270,16 @@ void flext_obj::obj_add(bool lib,bool dsp,bool attr,const char *idname,const cha va_end(marker); } + // get unique class id +#if FLEXT_SYS == FLEXT_SYS_PD + t_classid clid = lo->clss; +#else + // in Max/MSP the t_class *value can't be used because it's possible that's it's not yet set!! + t_classid clid = lo; +#endif + // make help reference - flext_obj::DefineHelp(lo->clss,idname,extract(names,-1),dsp); + flext_obj::DefineHelp(clid,idname,extract(names,-1),dsp); for(int ix = 0; ; ++ix) { // in this loop register all the possible aliases of the object @@ -296,14 +304,6 @@ void flext_obj::obj_add(bool lib,bool dsp,bool attr,const char *idname,const cha #endif } - // get unique class id -#if FLEXT_SYS == FLEXT_SYS_PD - t_classid clid = lo->clss; -#else - // in Max/MSP the t_class *value can't be used because it's possible that's it's not yet set!! - t_classid clid = lo; -#endif - // call class setup function setupfun(clid); } diff --git a/externals/grill/flext/source/flout.cpp b/externals/grill/flext/source/flout.cpp index 382c7e39..f8fb1fe1 100644 --- a/externals/grill/flext/source/flout.cpp +++ b/externals/grill/flext/source/flout.cpp @@ -79,7 +79,6 @@ bool flext_base::InitInlets() if(incnt >= 1) { switch(list[0]) { case xlet::tp_sig: - CLASS_MAINSIGNALIN(thisClass(),flext_hdr,defsig); ++insigs; break; default: |