flext  0.6.2
fldefs_setup.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 
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 \
60 REAL_NEW(NAME,NEW_CLASS,0,0,0)
61 
65 #define FLEXT_NEW_DSP(NAME,NEW_CLASS) \
66 \
67 REAL_NEW(NAME,NEW_CLASS,1,0,0)
68 
72 #define FLEXT_NEW_DSP0(NAME,NEW_CLASS) \
73 \
74 REAL_NEW(NAME,NEW_CLASS,1,1,0)
75 
79 #define FLEXT_LIB(NAME,NEW_CLASS) \
80 \
81 REAL_NEW(NAME,NEW_CLASS,0,0,1)
82 
86 #define FLEXT_LIB_DSP(NAME,NEW_CLASS) \
87 \
88 REAL_NEW(NAME,NEW_CLASS,1,0,1)
89 
93 #define FLEXT_LIB_DSP0(NAME,NEW_CLASS) \
94 \
95 REAL_NEW(NAME,NEW_CLASS,1,1,1)
96 
97 
98 // VARIABLE ARGUMENT LIST
99 // ----------------------------------------
100 
104 #define FLEXT_NEW_V(NAME,NEW_CLASS) \
105 \
106 REAL_NEW_V(NAME,NEW_CLASS,0,0,0)
107 
111 #define FLEXT_NEW_DSP_V(NAME,NEW_CLASS) \
112 \
113 REAL_NEW_V(NAME,NEW_CLASS,1,0,0)
114 
118 #define FLEXT_NEW_DSP0_V(NAME,NEW_CLASS) \
119 \
120 REAL_NEW_V(NAME,NEW_CLASS,1,1,0)
121 
125 #define FLEXT_LIB_V(NAME,NEW_CLASS) \
126 \
127 REAL_NEW_V(NAME,NEW_CLASS, 0,0,1)
128 
132 #define FLEXT_LIB_DSP_V(NAME,NEW_CLASS) \
133 \
134 REAL_NEW_V(NAME,NEW_CLASS, 1,0,1)
135 
139 #define FLEXT_LIB_DSP0_V(NAME,NEW_CLASS) \
140 \
141 REAL_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 \
152 REAL_NEW_1(NAME,NEW_CLASS, 0,0,0, TYPE)
153 
157 #define FLEXT_NEW_DSP_1(NAME,NEW_CLASS, TYPE) \
158 \
159 REAL_NEW_1(NAME,NEW_CLASS, 1,0,0, TYPE)
160 
164 #define FLEXT_NEW_DSP0_1(NAME,NEW_CLASS, TYPE) \
165 \
166 REAL_NEW_1(NAME,NEW_CLASS, 1,1,0, TYPE)
167 
171 #define FLEXT_LIB_1(NAME,NEW_CLASS, TYPE) \
172 \
173 REAL_NEW_1(NAME,NEW_CLASS, 0,0,1, TYPE)
174 
178 #define FLEXT_LIB_DSP_1(NAME,NEW_CLASS, TYPE) \
179 \
180 REAL_NEW_1(NAME,NEW_CLASS, 1,0,1, TYPE)
181 
185 #define FLEXT_LIB_DSP0_1(NAME,NEW_CLASS, TYPE) \
186 \
187 REAL_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 \
198 REAL_NEW_2(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2)
199 
203 #define FLEXT_NEW_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
204 \
205 REAL_NEW_2(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2)
206 
210 #define FLEXT_NEW_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
211 \
212 REAL_NEW_2(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2)
213 
217 #define FLEXT_LIB_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
218 \
219 REAL_NEW_2(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2)
220 
224 #define FLEXT_LIB_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
225 \
226 REAL_NEW_2(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2)
227 
231 #define FLEXT_LIB_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
232 \
233 REAL_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 \
244 REAL_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 \
251 REAL_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 \
258 REAL_NEW_3(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2, TYPE3)
259 
263 #define FLEXT_LIB_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
264 \
265 REAL_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 \
272 REAL_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 \
279 REAL_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