[PD-cvs] externals/grill/flext/source flbase.h, 1.40, 1.41 flclass.h, 1.70, 1.71 fldefs_setup.h, 1.5, 1.6 flext.cpp, 1.45, 1.46 fllib.cpp, 1.40, 1.41 flmsg.cpp, 1.21, 1.22 flprefix.h, 1.37, 1.38 flproxy.cpp, 1.14, 1.15

Thomas Grill xovo at users.sourceforge.net
Tue Oct 31 01:30:59 CET 2006


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 at 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 at 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:





More information about the Pd-cvs mailing list