Update of /cvsroot/pure-data/externals/grill/flext/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32688/source
Modified Files: flbase.h flclass.h fldefs_setup.h flext.cpp fllib.cpp flmsg.cpp flprefix.h flproxy.cpp Log Message: PD: possibility to create DSP objects without main DSP inlet (use FLEXT_DSP0_NEW or similar) fixed buggy memory deallocation for AtomListStatic
Index: flext.cpp =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flext.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** flext.cpp 24 May 2006 12:20:57 -0000 1.45 --- flext.cpp 31 Oct 2006 00:30:57 -0000 1.46 *************** *** 141,145 ****
! void flext_base::AddMessageMethods(t_class *c,bool dsp) { add_loadbang(c,cb_loadbang); --- 141,145 ----
! void flext_base::AddMessageMethods(t_class *c,bool dsp,bool dspin) { add_loadbang(c,cb_loadbang); *************** *** 160,164 **** dsp_initclass(); #elif FLEXT_SYS == FLEXT_SYS_PD ! CLASS_MAINSIGNALIN(c,flext_hdr,defsig); // float messages going into the left inlet are converted to signal add_dsp(c,cb_dsp); #else --- 160,165 ---- dsp_initclass(); #elif FLEXT_SYS == FLEXT_SYS_PD ! if(dspin) ! CLASS_MAINSIGNALIN(c,flext_hdr,defsig); // float messages going into the left inlet are converted to signal add_dsp(c,cb_dsp); #else *************** *** 179,186 **** if(!IsLib(id)) #endif ! AddMessageMethods(c,IsDSP(id));
if(HasAttributes(id)) { - // if(process_attributes) { AddMethod(id,0,"getattributes",cb_ListAttrib); AddMethod(id,0,"getmethods",cb_ListMethods); --- 180,186 ---- if(!IsLib(id)) #endif ! AddMessageMethods(c,IsDSP(id),HasDSPIn(id));
if(HasAttributes(id)) { AddMethod(id,0,"getattributes",cb_ListAttrib); AddMethod(id,0,"getmethods",cb_ListMethods);
Index: flproxy.cpp =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flproxy.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** flproxy.cpp 20 Jun 2006 00:04:11 -0000 1.14 --- flproxy.cpp 31 Oct 2006 00:30:57 -0000 1.15 *************** *** 80,83 **** --- 80,103 ---- void flext_base::cb_anything(flext_hdr *c,const t_symbol *s,int argc,t_atom *argv) { + if(UNLIKELY(!s)) { + // apparently, this happens only in one case... object is a DSP object, but has no main DSP inlet... + + // interpret tag from args + if(!argc) + s = sym_bang; + else if(argc == 1) { + if(IsFloat(*argv)) + s = sym_float; + else if(IsSymbol(*argv)) + s = sym_symbol; + else if(IsPointer(*argv)) + s = sym_pointer; + else + FLEXT_ASSERT(false); + } + else + s = sym_list; + } + thisObject(c)->CbMethodHandler(0,s,argc,argv); }
Index: flmsg.cpp =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flmsg.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** flmsg.cpp 27 Oct 2006 13:34:56 -0000 1.21 --- flmsg.cpp 31 Oct 2006 00:30:57 -0000 1.22 *************** *** 257,269 **** } catch(std::exception &x) { ! error("%s - Exception while processing method: %s",thisName(),x.what()); ret = false; } catch(const char *txt) { ! error("%s - Exception while processing method: %s",thisName(),txt); ret = false; } catch(...) { ! error("%s - Unknown exception while processing method",thisName()); ret = false; } --- 257,269 ---- } catch(std::exception &x) { ! error("%s - %s: %s",thisName(),GetString(s),x.what()); ret = false; } catch(const char *txt) { ! error("%s - %s: %s",thisName(),GetString(s),txt); ret = false; } catch(...) { ! error("%s - %s : Unknown exception while processing method",thisName(),GetString(s)); ret = false; }
Index: flbase.h =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flbase.h,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** flbase.h 20 Sep 2006 14:24:10 -0000 1.40 --- flbase.h 31 Oct 2006 00:30:57 -0000 1.41 *************** *** 159,162 **** --- 159,163 ---- static bool HasAttributes(t_classid id); static bool IsDSP(t_classid id); + static bool HasDSPIn(t_classid id); static bool IsLib(t_classid id);
*************** *** 164,167 **** --- 165,169 ---- bool IsLib() const; bool IsDSP() const; + bool HasDSPIn() const;
#if FLEXT_SYS == FLEXT_SYS_MAX *************** *** 253,257 **** // Definitions for library objects static void lib_init(const char *name,void setupfun()); ! static void obj_add(bool lib,bool dsp,bool attr,const char *idname,const char *names,void setupfun(t_classid),FLEXT_CLASSDEF(flext_obj) *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...); #if FLEXT_SYS == FLEXT_SYS_MAX static flext_hdr *obj_new(const t_symbol *s,short argc,t_atom *argv); --- 255,259 ---- // Definitions for library objects static void lib_init(const char *name,void setupfun()); ! static void obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),FLEXT_CLASSDEF(flext_obj) *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...); #if FLEXT_SYS == FLEXT_SYS_MAX static flext_hdr *obj_new(const t_symbol *s,short argc,t_atom *argv); *************** *** 492,497 **** #define ARGCAST(a,tp) ARGMEMBER_##tp(a)
! ! #define REAL_NEW(NAME,NEW_CLASS,DSP,LIB) \ flext_obj *NEW_CLASS::__init__(int ,t_atom *) \ { \ --- 494,498 ---- #define ARGCAST(a,tp) ARGMEMBER_##tp(a)
! #define REAL_NEW(NAME,NEW_CLASS,DSP,NOI,LIB) \ flext_obj *NEW_CLASS::__init__(int ,t_atom *) \ { \ *************** *** 500,508 **** FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_V(NAME,NEW_CLASS,DSP,LIB) \ flext_obj *NEW_CLASS::__init__(int argc,t_atom *argv) \ { \ --- 501,509 ---- FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_V(NAME,NEW_CLASS,DSP,NOI,LIB) \ flext_obj *NEW_CLASS::__init__(int argc,t_atom *argv) \ { \ *************** *** 511,519 **** FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_VAR,FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_1(NAME,NEW_CLASS,DSP,LIB, TYPE1) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ --- 512,520 ---- FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_VAR,FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_1(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ *************** *** 522,530 **** FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_2(NAME,NEW_CLASS,DSP,LIB, TYPE1,TYPE2) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ --- 523,531 ---- FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_2(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ *************** *** 533,541 **** FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_3(NAME,NEW_CLASS,DSP,LIB, TYPE1, TYPE2, TYPE3) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ --- 534,542 ---- FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_3(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1, TYPE2, TYPE3) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ *************** *** 544,552 **** FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_4(NAME,NEW_CLASS,DSP,LIB, TYPE1,TYPE2, TYPE3, TYPE4) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ --- 545,553 ---- FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
! #define REAL_NEW_4(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2, TYPE3, TYPE4) \ flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ *************** *** 555,559 **** FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTP(TYPE4),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) --- 556,560 ---- FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ { \ ! flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTP(TYPE4),FLEXTTPN_NULL); \ } \ FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
Index: fllib.cpp =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/fllib.cpp,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** fllib.cpp 20 Sep 2006 14:24:10 -0000 1.40 --- fllib.cpp 31 Oct 2006 00:30:57 -0000 1.41 *************** *** 142,146 ****
flext_library *lib; ! bool dsp,attr,dist;
flext_base::ItemCont meths,attrs; --- 142,146 ----
flext_library *lib; ! bool dsp:1,noi:1,attr:1,dist:1;
flext_base::ItemCont meths,attrs; *************** *** 172,179 **** --- 172,181 ---- bool flext_obj::HasAttributes(t_classid cl) { return cl->attr; } bool flext_obj::IsDSP(t_classid cl) { return cl->dsp; } + bool flext_obj::HasDSPIn(t_classid cl) { return !cl->noi; } bool flext_obj::IsLib(t_classid cl) { return cl->lib != NULL; }
bool flext_obj::HasAttributes() const { return clss->attr; } bool flext_obj::IsDSP() const { return clss->dsp; } + bool flext_obj::HasDSPIn() const { return !clss->noi; } bool flext_obj::IsLib() const { return clss->lib != NULL; }
*************** *** 225,229 **** }
! void flext_obj::obj_add(bool lib,bool dsp,bool attr,const char *idname,const char *names,void setupfun(t_classid),flext_obj *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...) { // get first possible object name --- 227,231 ---- }
! void flext_obj::obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),flext_obj *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...) { // get first possible object name *************** *** 275,278 **** --- 277,281 ---- lo->lib = curlib; lo->dsp = dsp; + lo->noi = noi; lo->attr = attr;
*************** *** 346,353 **** } catch(std::exception &x) { ! error("%s - Exception while initializing class: %s",idname,x.what()); } catch(char *txt) { ! error("%s - Exception while initializing class: %s",idname,txt); } catch(...) { --- 349,356 ---- } catch(std::exception &x) { ! error("%s: %s",idname,x.what()); } catch(char *txt) { ! error("%s: %s",idname,txt); } catch(...) {
Index: fldefs_setup.h =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/fldefs_setup.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** fldefs_setup.h 26 Jan 2005 05:01:45 -0000 1.5 --- fldefs_setup.h 31 Oct 2006 00:30:57 -0000 1.6 *************** *** 60,64 **** #define FLEXT_NEW(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,0,0)
/*! \brief Implementation of a flext dsp class with no arguments --- 60,64 ---- #define FLEXT_NEW(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,0,0,0)
/*! \brief Implementation of a flext dsp class with no arguments *************** *** 67,71 **** #define FLEXT_NEW_DSP(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,1,0)
/*! \brief Implementation of a flext class (part of a library) with no arguments --- 67,78 ---- #define FLEXT_NEW_DSP(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,1,0,0) ! ! /*! \brief Implementation of a flext dsp class with no arguments and no dsp inlet ! \ingroup FLEXT_D_NEW_DSP ! */ ! #define FLEXT_NEW_DSP0(NAME,NEW_CLASS) \ ! \ ! REAL_NEW(NAME,NEW_CLASS,1,1,0)
/*! \brief Implementation of a flext class (part of a library) with no arguments *************** *** 74,78 **** #define FLEXT_LIB(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,0,1)
/*! \brief Implementation of a flext dsp class (part of a library) with no arguments --- 81,85 ---- #define FLEXT_LIB(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,0,0,1)
/*! \brief Implementation of a flext dsp class (part of a library) with no arguments *************** *** 81,85 **** #define FLEXT_LIB_DSP(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,1,1)
--- 88,99 ---- #define FLEXT_LIB_DSP(NAME,NEW_CLASS) \ \ ! REAL_NEW(NAME,NEW_CLASS,1,0,1) ! ! /*! \brief Implementation of a flext dsp class (part of a library) with no arguments and no dsp inlet ! \ingroup FLEXT_D_LIB_DSP ! */ ! #define FLEXT_LIB_DSP0(NAME,NEW_CLASS) \ ! \ ! REAL_NEW(NAME,NEW_CLASS,1,1,1)
*************** *** 92,96 **** #define FLEXT_NEW_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS,0,0) \
/*! \brief Implementation of a flext dsp class with a variable argument list --- 106,110 ---- #define FLEXT_NEW_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS,0,0,0)
/*! \brief Implementation of a flext dsp class with a variable argument list *************** *** 99,103 **** #define FLEXT_NEW_DSP_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS,1,0) \
/*! \brief Implementation of a flext class (part of a library) with a variable argument list --- 113,124 ---- #define FLEXT_NEW_DSP_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS,1,0,0) ! ! /*! \brief Implementation of a flext dsp class with a variable argument list and no dsp inlet ! \ingroup FLEXT_D_NEW_DSP ! */ ! #define FLEXT_NEW_DSP0_V(NAME,NEW_CLASS) \ ! \ ! REAL_NEW_V(NAME,NEW_CLASS,1,1,0)
/*! \brief Implementation of a flext class (part of a library) with a variable argument list *************** *** 106,110 **** #define FLEXT_LIB_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS, 0,1)
/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list --- 127,131 ---- #define FLEXT_LIB_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS, 0,0,1)
/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list *************** *** 113,117 **** #define FLEXT_LIB_DSP_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS, 1,1)
--- 134,145 ---- #define FLEXT_LIB_DSP_V(NAME,NEW_CLASS) \ \ ! REAL_NEW_V(NAME,NEW_CLASS, 1,0,1) ! ! /*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list and no dsp inlet ! \ingroup FLEXT_D_LIB_DSP ! */ ! #define FLEXT_LIB_DSP0_V(NAME,NEW_CLASS) \ ! \ ! REAL_NEW_V(NAME,NEW_CLASS, 1,1,1)
*************** *** 124,128 **** #define FLEXT_NEW_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 0, 0,TYPE) \
/*! \brief Implementation of a flext dsp class with one argument --- 152,156 ---- #define FLEXT_NEW_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 0,0,0, TYPE)
/*! \brief Implementation of a flext dsp class with one argument *************** *** 131,135 **** #define FLEXT_NEW_DSP_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 1, 0,TYPE) \
/*! \brief Implementation of a flext class (part of a library) with one argument --- 159,170 ---- #define FLEXT_NEW_DSP_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 1,0,0, TYPE) ! ! /*! \brief Implementation of a flext dsp class with one argument and no dsp inlet ! \ingroup FLEXT_D_NEW_DSP ! */ ! #define FLEXT_NEW_DSP0_1(NAME,NEW_CLASS, TYPE) \ ! \ ! REAL_NEW_1(NAME,NEW_CLASS, 1,1,0, TYPE)
/*! \brief Implementation of a flext class (part of a library) with one argument *************** *** 138,142 **** #define FLEXT_LIB_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 0,1,TYPE)
/*! \brief Implementation of a flext dsp class (part of a library) with one argument --- 173,177 ---- #define FLEXT_LIB_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 0,0,1, TYPE)
/*! \brief Implementation of a flext dsp class (part of a library) with one argument *************** *** 145,149 **** #define FLEXT_LIB_DSP_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 1,1, TYPE)
--- 180,191 ---- #define FLEXT_LIB_DSP_1(NAME,NEW_CLASS, TYPE) \ \ ! REAL_NEW_1(NAME,NEW_CLASS, 1,0,1, TYPE) ! ! /*! \brief Implementation of a flext dsp class (part of a library) with one argument and no dsp inlet ! \ingroup FLEXT_D_LIB_DSP ! */ ! #define FLEXT_LIB_DSP0_1(NAME,NEW_CLASS, TYPE) \ ! \ ! REAL_NEW_1(NAME,NEW_CLASS, 1,1,1, TYPE)
*************** *** 156,160 **** #define FLEXT_NEW_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 0,0, TYPE1, TYPE2) \
/*! \brief Implementation of a flext dsp class with 2 arguments --- 198,202 ---- #define FLEXT_NEW_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2)
/*! \brief Implementation of a flext dsp class with 2 arguments *************** *** 163,167 **** #define FLEXT_NEW_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 1,0, TYPE1, TYPE2) \
/*! \brief Implementation of a flext class (part of a library) with 2 arguments --- 205,216 ---- #define FLEXT_NEW_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2) ! ! /*! \brief Implementation of a flext dsp class with 2 arguments and no dsp inlet ! \ingroup FLEXT_D_NEW_DSP ! */ ! #define FLEXT_NEW_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ ! \ ! REAL_NEW_2(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2)
/*! \brief Implementation of a flext class (part of a library) with 2 arguments *************** *** 170,174 **** #define FLEXT_LIB_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 0,1, TYPE1, TYPE2)
/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments --- 219,223 ---- #define FLEXT_LIB_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2)
/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments *************** *** 177,181 **** #define FLEXT_LIB_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 1,1, TYPE1, TYPE2)
--- 226,237 ---- #define FLEXT_LIB_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ \ ! REAL_NEW_2(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2) ! ! /*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments and no dsp inlet ! \ingroup FLEXT_D_LIB_DSP ! */ ! #define FLEXT_LIB_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \ ! \ ! REAL_NEW_2(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2)
*************** *** 188,192 **** #define FLEXT_NEW_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 0,0, TYPE1, TYPE2, TYPE3) \
/*! \brief Implementation of a flext dsp class with 3 arguments --- 244,248 ---- #define FLEXT_NEW_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2, TYPE3)
/*! \brief Implementation of a flext dsp class with 3 arguments *************** *** 195,199 **** #define FLEXT_NEW_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 1,0, TYPE1, TYPE2, TYPE3) \
/*! \brief Implementation of a flext class (part of a library) with 3 arguments --- 251,262 ---- #define FLEXT_NEW_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2, TYPE3) ! ! /*! \brief Implementation of a flext dsp class with 3 arguments and no dsp inlet ! \ingroup FLEXT_D_NEW_DSP ! */ ! #define FLEXT_NEW_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ ! \ ! REAL_NEW_3(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2, TYPE3)
/*! \brief Implementation of a flext class (part of a library) with 3 arguments *************** *** 202,206 **** #define FLEXT_LIB_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 0,1,TYPE1, TYPE2, TYPE3)
/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments --- 265,269 ---- #define FLEXT_LIB_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2, TYPE3)
/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments *************** *** 209,213 **** #define FLEXT_LIB_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 1,1, TYPE1, TYPE2, TYPE3)
--- 272,283 ---- #define FLEXT_LIB_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ \ ! REAL_NEW_3(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2, TYPE3) ! ! /*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments and no dsp inlet ! \ingroup FLEXT_D_LIB_DSP ! */ ! #define FLEXT_LIB_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \ ! \ ! REAL_NEW_3(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2, TYPE3)
Index: flprefix.h =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flprefix.h,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** flprefix.h 27 Oct 2006 13:34:56 -0000 1.37 --- flprefix.h 31 Oct 2006 00:30:57 -0000 1.38 *************** *** 3,7 **** flext - C++ layer for Max/MSP and pd (pure data) externals
! Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. --- 3,7 ---- flext - C++ layer for Max/MSP and pd (pure data) externals
! Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution.
Index: flclass.h =================================================================== RCS file: /cvsroot/pure-data/externals/grill/flext/source/flclass.h,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** flclass.h 20 Sep 2006 14:24:10 -0000 1.70 --- flclass.h 31 Oct 2006 00:30:57 -0000 1.71 *************** *** 844,848 ****
// add class method handlers ! static void AddMessageMethods(t_class *c,bool dsp);
private: --- 844,848 ----
// add class method handlers ! static void AddMessageMethods(t_class *c,bool dsp,bool dspin);
private: