flext
0.6.0
build
pd-flext-j6Usjn
pd-flext-0.6.0+git20161101.1.01318a94
source
flinternal.h
Go to the documentation of this file.
1
/*
2
flext - C++ layer for Max and Pure Data externals
3
4
Copyright (c) 2001-2015 Thomas Grill (gr@grrrr.org)
5
For information on usage and redistribution, and for a DISCLAIMER OF ALL
6
WARRANTIES, see the file, "license.txt," in this distribution.
7
*/
8
17
#ifndef __FLEXT_INTERNALS_H
18
#define __FLEXT_INTERNALS_H
19
20
#include "
flstdc.h
"
21
22
23
#if FLEXT_SYS == FLEXT_SYS_PD
24
25
#define object_new(clss) pd_new(clss)
26
#define object_free(obj) pd_free(&(obj)->ob_pd)
27
28
29
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)
45
46
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))
53
54
#define outlet_flint(o,v) outlet_float(o,(float)(v))
55
56
typedef
t_perfroutine t_dspmethod;
57
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
63
64
#define CRITON()
65
#define CRITOFF()
66
67
68
#elif FLEXT_SYS == FLEXT_SYS_MAX
69
70
typedef
void
t_outlet;
71
72
73
//#define object_new(clss) newobject(clss)
74
#define object_free(obj) freeobject((object *)(obj))
75
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)
90
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)
94
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)
101
102
#define outlet_flint(o,v) outlet_int(o,(int)(v))
103
#define outlet_symbol(o,s) outlet_anything(o,s,0,NULL)
104
105
typedef
t_perfroutine t_dspmethod;
106
107
#define CRITON() short state = lockout_set(1)
108
#define CRITOFF() lockout_set(state)
109
110
111
#elif FLEXT_SYS == FLEXT_SYS_JMAX
112
113
114
#endif
115
116
117
#endif
flstdc.h
Definitions to unite Max/MSP and PD notions.
Generated by
1.8.16