flext 0.6.2
fldefs_setup.h
Go to the documentation of this file.
1/*
2flext - C++ layer for Max and Pure Data externals
3
4Copyright (c) 2001-2015 Thomas Grill (gr@grrrr.org)
5For information on usage and redistribution, and for a DISCLAIMER OF ALL
6WARRANTIES, see the file, "license.txt," in this distribution.
7*/
8
14#ifndef __FLEXT_DEFS_SETUP_H
15#define __FLEXT_DEFS_SETUP_H
16
17// ====================================================================================
18
50// NO ARGUMENTS
51// ----------------------------------------
52
58#define FLEXT_NEW(NAME,NEW_CLASS) \
59\
60REAL_NEW(NAME,NEW_CLASS,0,0,0)
61
65#define FLEXT_NEW_DSP(NAME,NEW_CLASS) \
66\
67REAL_NEW(NAME,NEW_CLASS,1,0,0)
68
72#define FLEXT_NEW_DSP0(NAME,NEW_CLASS) \
73\
74REAL_NEW(NAME,NEW_CLASS,1,1,0)
75
79#define FLEXT_LIB(NAME,NEW_CLASS) \
80\
81REAL_NEW(NAME,NEW_CLASS,0,0,1)
82
86#define FLEXT_LIB_DSP(NAME,NEW_CLASS) \
87\
88REAL_NEW(NAME,NEW_CLASS,1,0,1)
89
93#define FLEXT_LIB_DSP0(NAME,NEW_CLASS) \
94\
95REAL_NEW(NAME,NEW_CLASS,1,1,1)
96
97
98// VARIABLE ARGUMENT LIST
99// ----------------------------------------
100
104#define FLEXT_NEW_V(NAME,NEW_CLASS) \
105\
106REAL_NEW_V(NAME,NEW_CLASS,0,0,0)
107
111#define FLEXT_NEW_DSP_V(NAME,NEW_CLASS) \
112\
113REAL_NEW_V(NAME,NEW_CLASS,1,0,0)
114
118#define FLEXT_NEW_DSP0_V(NAME,NEW_CLASS) \
119\
120REAL_NEW_V(NAME,NEW_CLASS,1,1,0)
121
125#define FLEXT_LIB_V(NAME,NEW_CLASS) \
126\
127REAL_NEW_V(NAME,NEW_CLASS, 0,0,1)
128
132#define FLEXT_LIB_DSP_V(NAME,NEW_CLASS) \
133\
134REAL_NEW_V(NAME,NEW_CLASS, 1,0,1)
135
139#define FLEXT_LIB_DSP0_V(NAME,NEW_CLASS) \
140\
141REAL_NEW_V(NAME,NEW_CLASS, 1,1,1)
142
143
144// ONE ARGUMENT
145// ----------------------------------------
146
150#define FLEXT_NEW_1(NAME,NEW_CLASS, TYPE) \
151\
152REAL_NEW_1(NAME,NEW_CLASS, 0,0,0, TYPE)
153
157#define FLEXT_NEW_DSP_1(NAME,NEW_CLASS, TYPE) \
158\
159REAL_NEW_1(NAME,NEW_CLASS, 1,0,0, TYPE)
160
164#define FLEXT_NEW_DSP0_1(NAME,NEW_CLASS, TYPE) \
165\
166REAL_NEW_1(NAME,NEW_CLASS, 1,1,0, TYPE)
167
171#define FLEXT_LIB_1(NAME,NEW_CLASS, TYPE) \
172\
173REAL_NEW_1(NAME,NEW_CLASS, 0,0,1, TYPE)
174
178#define FLEXT_LIB_DSP_1(NAME,NEW_CLASS, TYPE) \
179\
180REAL_NEW_1(NAME,NEW_CLASS, 1,0,1, TYPE)
181
185#define FLEXT_LIB_DSP0_1(NAME,NEW_CLASS, TYPE) \
186\
187REAL_NEW_1(NAME,NEW_CLASS, 1,1,1, TYPE)
188
189
190// TWO ARGUMENTS
191// ----------------------------------------
192
196#define FLEXT_NEW_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
197\
198REAL_NEW_2(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2)
199
203#define FLEXT_NEW_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
204\
205REAL_NEW_2(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2)
206
210#define FLEXT_NEW_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
211\
212REAL_NEW_2(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2)
213
217#define FLEXT_LIB_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
218\
219REAL_NEW_2(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2)
220
224#define FLEXT_LIB_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
225\
226REAL_NEW_2(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2)
227
231#define FLEXT_LIB_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
232\
233REAL_NEW_2(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2)
234
235
236// THREE ARGUMENTS
237// ----------------------------------------
238
242#define FLEXT_NEW_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
243\
244REAL_NEW_3(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2, TYPE3)
245
249#define FLEXT_NEW_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
250\
251REAL_NEW_3(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2, TYPE3)
252
256#define FLEXT_NEW_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
257\
258REAL_NEW_3(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2, TYPE3)
259
263#define FLEXT_LIB_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
264\
265REAL_NEW_3(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2, TYPE3)
266
270#define FLEXT_LIB_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
271\
272REAL_NEW_3(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2, TYPE3)
273
277#define FLEXT_LIB_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
278\
279REAL_NEW_3(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2, TYPE3)
280
281
282// deprecated stuff
283
289#define FLEXT_NEW_G FLEXT_NEW_V
290
291#define FLEXT_NEW_TILDE FLEXT_NEW_DSP
292#define FLEXT_NEW_TILDE_G FLEXT_NEW_DSP_V
293#define FLEXT_NEW_TILDE_1 FLEXT_NEW_DSP_1
294#define FLEXT_NEW_TILDE_2 FLEXT_NEW_DSP_2
295#define FLEXT_NEW_TILDE_3 FLEXT_NEW_DSP_3
296
297#define FLEXT_LIB_G FLEXT_LIB_V
298
299#define FLEXT_LIB_TILDE FLEXT_LIB_DSP
300#define FLEXT_LIB_TILDE_G FLEXT_LIB_DSP_V
301#define FLEXT_LIB_TILDE_1 FLEXT_LIB_DSP_1
302#define FLEXT_LIB_TILDE_2 FLEXT_LIB_DSP_2
303#define FLEXT_LIB_TILDE_3 FLEXT_LIB_DSP_3
304
305#define FLEXT_TILDE_SETUP FLEXT_DSP_SETUP
306
308
309
317#define FLEXT_LIB_SETUP(NAME,SETUPFUN) REAL_LIB_SETUP(NAME,SETUPFUN)
318
322#define FLEXT_SETUP(cl) REAL_SETUP(cl,0)
323
327#define FLEXT_DSP_SETUP(cl) REAL_SETUP(cl,1)
328
330
331
333
334
335#endif