17 #ifndef __FLEXT_INTERNALS_H 18 #define __FLEXT_INTERNALS_H 23 #if FLEXT_SYS == FLEXT_SYS_PD 25 #define object_new(clss) pd_new(clss) 26 #define object_free(obj) pd_free(&(obj)->ob_pd) 30 #define add_dsp(clss,meth) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("dsp")),A_NULL) 31 #define add_bang(clss,meth) class_addbang(clss, (t_method)meth) 32 #define add_float(clss,meth) class_addfloat(clss, (t_method)meth) 33 #define add_floatn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("ft" #n)),A_FLOAT,A_NULL) 34 #define add_flint(clss,meth) class_addfloat(clss, (t_method)meth) 35 #define add_flintn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym(const_cast<char *>("ft" #n)),A_FLOAT,A_NULL) 36 #define add_method(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), A_NULL) 37 #define add_methodG(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), A_GIMME,A_NULL) 38 #define add_method1(clss,meth,text,a1) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,A_NULL) 39 #define add_method2(clss,meth,text,a1,a2) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,A_NULL) 40 #define add_method3(clss,meth,text,a1,a2,a3) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,A_NULL) 41 #define add_method4(clss,meth,text,a1,a2,a3,a4) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,a4,A_NULL) 42 #define add_method5(clss,meth,text,a1,a2,a3,a5) class_addmethod(clss, (t_method)meth, gensym(const_cast<char *>(text)), a1,a2,a3,a4,a5,A_NULL) 43 #define add_loadbang(clss,meth) class_addmethod(clss,(t_method)meth, gensym(const_cast<char *>("loadbang")), A_NULL) 44 #define add_anything(clss,meth) class_addanything(clss,meth) 47 #define newout_signal(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_signal)) 48 #define newout_float(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float)) 49 #define newout_flint(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float)) 50 #define newout_list(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_list)) 51 #define newout_symbol(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_symbol)) 52 #define newout_anything(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_anything)) 54 #define outlet_flint(o,v) outlet_float(o,(float)(v)) 56 typedef t_perfroutine t_dspmethod;
58 #define qelem_new clock_new 59 #define qelem_free clock_free 60 #define qelem_set clock_delay 61 #define qelem_front clock_delay 62 #define qelem_unset clock_unset 68 #elif FLEXT_SYS == FLEXT_SYS_MAX 70 typedef void t_outlet;
74 #define object_free(obj) freeobject((object *)(obj)) 76 #define add_dsp(clss,meth) addmess((method)meth,const_cast<char *>("dsp"),A_CANT,A_NOTHING) 77 #define add_bang(clss,meth) addbang((method)meth) 78 #define add_float(clss,meth) addfloat((method)meth) 79 #define add_floatn(clss,meth,n) addftx((method)meth,n) 80 #define add_flint(clss,meth) addint((method)meth) 81 #define add_flintn(clss,meth,n) addinx((method)meth,n) 82 #define add_method(clss,meth,text) addmess((method)meth, text, A_NOTHING) 83 #define add_methodG(clss,meth,text) addmess((method)meth, text, A_GIMME,A_NOTHING) 84 #define add_method1(clss,meth,text,a1) addmess((method)meth, text, a1,A_NOTHING) 85 #define add_method2(clss,meth,text,a1,a2) addmess((method)meth, text, a1,a2,A_NOTHING) 86 #define add_method3(clss,meth,text,a1,a2,a3) addmess((method)meth, text, a1,a2,a3,A_NOTHING) 87 #define add_method4(clss,meth,text,a1,a2,a3,a4) addmess((method)meth, text, a1,a2,a3,a4,A_NOTHING) 88 #define add_method5(clss,meth,text,a1,a2,a3,a5) addmess((method)meth, text, a1,a2,a3,a4,a5,A_NOTHING) 89 #define add_anything(clss,meth) addmess((method)meth, const_cast<char *>("anything"), A_GIMME,A_NOTHING) 91 #define add_assist(clss,meth) addmess((method)meth, const_cast<char *>("assist"), A_CANT, A_NULL) 92 #define add_loadbang(clss,meth) addmess((method)meth, const_cast<char *>("loadbang"), A_CANT, A_NULL) 93 #define add_dblclick(clss,meth) addmess((method)meth, const_cast<char *>("dblclick"), A_CANT, A_NULL) 95 #define newout_signal(clss) outlet_new(clss,"signal") 96 #define newout_float(clss) outlet_new(clss,"float") 97 #define newout_flint(clss) outlet_new(clss,"int") 98 #define newout_list(clss) outlet_new(clss,"list") 99 #define newout_symbol(clss) outlet_new(clss,"symbol") 100 #define newout_anything(clss) outlet_new(clss,0) 102 #define outlet_flint(o,v) outlet_int(o,(int)(v)) 103 #define outlet_symbol(o,s) outlet_anything(o,s,0,NULL) 105 typedef t_perfroutine t_dspmethod;
107 #define CRITON() short state = lockout_set(1) 108 #define CRITOFF() lockout_set(state) 111 #elif FLEXT_SYS == FLEXT_SYS_JMAX Definitions to unite Max/MSP and PD notions.