From d0b6781beeffe75dad099ed7a6a6d93766c3fa71 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Fri, 23 Apr 2004 02:32:55 +0000 Subject: "" svn path=/trunk/; revision=1628 --- externals/grill/flext/source/flbase.h | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'externals/grill/flext/source/flbase.h') diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h index b636dd1b..85633f20 100644 --- a/externals/grill/flext/source/flbase.h +++ b/externals/grill/flext/source/flbase.h @@ -2,7 +2,7 @@ flext - C++ layer for Max/MSP and pd (pure data) externals -Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) +Copyright (c) 2001-2004 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. @@ -411,9 +411,12 @@ fts_module_t __##NAME##_module = {#NAME,#NAME,__##NAME##_initfun,0,0}; #define FLEXTTPN_PTR A_POINTER #else #define FLEXTTPN_INT A_INT + #define FLEXTTPN_DEFINT A_DEFINT #endif #define FLEXTTPN_FLOAT A_FLOAT + #define FLEXTTPN_DEFFLOAT A_DEFFLOAT #define FLEXTTPN_SYM A_SYMBOL + #define FLEXTTPN_DEFSYM A_DEFSYMBOL #define FLEXTTPN_VAR A_GIMME #else #define FLEXTTPN_NULL 0 @@ -422,29 +425,37 @@ fts_module_t __##NAME##_module = {#NAME,#NAME,__##NAME##_initfun,0,0}; #define FLEXTTPN_FLOAT 3 #define FLEXTTPN_SYM 4 #define FLEXTTPN_VAR 5 + #define FLEXTTPN_DEFINT 6 + #define FLEXTTPN_DEFFLOAT 7 + #define FLEXTTPN_DEFSYM 8 #endif // Shortcuts for PD/Max type arguments #define FLEXTTYPE_void FLEXTTPN_NULL #define CALLBTYPE_void void #define FLEXTTYPE_float FLEXTTPN_FLOAT +#define FLEXTTYPE_float0 FLEXTTPN_DEFFLOAT #define CALLBTYPE_float float #define FLEXTTYPE_t_float FLEXTTPN_FLOAT #define CALLBTYPE_t_float t_float #if FLEXT_SYS == FLEXT_SYS_PD #define FLEXTTYPE_int FLEXTTPN_FLOAT +#define FLEXTTYPE_int0 FLEXTTPN_DEFFLOAT #define CALLBTYPE_int float #elif FLEXT_SYS == FLEXT_SYS_MAX || FLEXT_SYS == FLEXT_SYS_JMAX #define FLEXTTYPE_int FLEXTTPN_INT +#define FLEXTTYPE_int0 FLEXTTPN_DEFINT #define CALLBTYPE_int int #else #error #endif #define FLEXTTYPE_t_symptr FLEXTTPN_SYM +#define FLEXTTYPE_t_symptr0 FLEXTTPN_DEFSYM #define CALLBTYPE_t_symptr t_symptr -#define FLEXTTYPE_t_symtype FLEXTTPN_SYM +#define FLEXTTYPE_t_symtype FLEXTTYPE_t_symptr +#define FLEXTTYPE_t_symtype0 FLEXTTYPE_t_symptr0 #define CALLBTYPE_t_symtype t_symptr #define FLEXTTYPE_t_ptrtype FLEXTTPN_PTR #define CALLBTYPE_t_ptrtype t_ptrtype @@ -454,10 +465,14 @@ fts_module_t __##NAME##_module = {#NAME,#NAME,__##NAME##_initfun,0,0}; #define ARGMEMBER_int(a) GetInt(a) +#define ARGMEMBER_int0(a) ARGMEMBER_int(a) #define ARGMEMBER_float(a) GetFloat(a) +#define ARGMEMBER_float0(a) ARGMEMBER_float(a) #define ARGMEMBER_t_symptr(a) GetSymbol(a) -#define ARGMEMBER_t_symtype(a) GetSymbol(a) -#define ARGCAST(arg,tp) ARGMEMBER_##tp(arg) +#define ARGMEMBER_t_symptr0(a) ARGMEMBER_t_symptr(a) +#define ARGMEMBER_t_symtype(a) ARGMEMBER_t_symptr(a) +#define ARGMEMBER_t_symtype0(a) ARGMEMBER_t_symptr0(a) +#define ARGCAST(a,tp) ARGMEMBER_##tp(a) #define REAL_NEW(NAME,NEW_CLASS,DSP,LIB) \ @@ -483,7 +498,7 @@ FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ 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) \ +flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ return new NEW_CLASS(ARGCAST(argv[0],TYPE1)); \ } \ @@ -494,7 +509,7 @@ FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ 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) \ +flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2)); \ } \ @@ -505,7 +520,7 @@ FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ 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) \ +flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3)); \ } \ @@ -516,7 +531,7 @@ FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \ 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) \ +flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \ { \ return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3),ARGCAST(argv[3],TYPE4)); \ } \ -- cgit v1.2.1