16 #ifndef __FLEXT_STDC_H
17 #define __FLEXT_STDC_H
19 #if defined(_MSC_VER) && (_MSC_VER < 0x1300)
34 #if FLEXT_SYS == FLEXT_SYS_PD
39 #pragma warning (push)
40 #pragma warning (disable:4091 4005)
43 #if FLEXT_OS == FLEXT_OS_WIN && !defined(NT)
81 #define internal_error(fmt, ...) pd_error(NULL, fmt, __VA_ARGS__)
83 typedef t_object t_sigobj;
84 typedef t_gpointer *t_ptrtype;
86 typedef t_float t_flint;
87 typedef t_symbol *t_symtype;
88 typedef t_class **t_thing;
90 typedef t_clock t_qelem;
92 #define A_NOTHING A_NULL
93 #define A_FLINT A_FLOAT
94 #define A_DEFFLINT A_DEFFLOAT
95 #define A_DEFSYMBOL A_DEFSYM
100 #elif FLEXT_SYS == FLEXT_SYS_MAX
106 #pragma pack(push,flext_maxsdk)
112 #if FLEXT_OS == FLEXT_OS_MAC
113 #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH
115 #include <Carbon/Carbon.h>
123 #include <MacTypes.h>
125 #elif FLEXT_OS == FLEXT_OS_WIN
126 #define WIN_VERSION 1
127 #define WIN_EXT_VERSION 1
131 #ifdef FLEXT_USE_MAXAPI
135 using namespace c74::max;
138 typedef double t_sample;
140 typedef float t_sample;
143 #define _FLEXT_MAX5SDK
151 #include "ext_user.h"
153 #if FLEXT_OS != FLEXT_OS_MAC || defined(MAC_VERSION)
155 #include "ext_critical.h"
163 #include "ext_obex.h"
166 #include "commonsyms.h"
168 #if C74_MAX_SDK_VERSION >= 0x0500 || COMMON_SYMBOLS_VERSION >= 500
169 #define _FLEXT_MAX5SDK
180 typedef t_pxobject t_sigobj;
181 typedef t_patcher t_canvas;
183 typedef t_int t_flint;
184 typedef t_symbol *t_symtype;
185 typedef t_object *t_thing;
187 #ifndef _FLEXT_MAX5SDK
189 #if FLEXT_OS == FLEXT_OS_MAC
190 typedef struct qelem t_qelem;
192 typedef void *t_qelem;
196 #ifndef FLEXT_USE_MAXAPI
197 typedef void t_outlet;
200 typedef method t_method;
201 typedef method t_newmethod;
202 typedef int t_atomtype;
204 #ifndef _FLEXT_MAX5SDK
205 typedef struct clock t_clock;
208 typedef void t_binbuf;
211 #define clock_free(tick) freeobject((object *)tick)
213 #define A_NULL A_NOTHING
214 #define A_DEFFLINT A_DEFLONG
221 #define A_DEFINT A_DEFLONG
225 #define A_SYMBOL A_SYM
229 #define A_DEFSYMBOL A_DEFSYM
232 #if FLEXT_OS == FLEXT_OS_MAC && !defined(MAC_VERSION)
234 #define critical_enter(N)
235 #define critical_exit(N)
238 #define internal_error error
241 #pragma pack(pop,flext_maxsdk)
247 #error Platform not supported
263 #define FLEXT_LOG(s) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s)
264 #define FLEXT_LOG1(s,v1) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1)
265 #define FLEXT_LOG2(s,v1,v2) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2)
266 #define FLEXT_LOG3(s,v1,v2,v3) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3)
267 #define FLEXT_LOG4(s,v1,v2,v3,v4) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4)
268 #define FLEXT_LOG5(s,v1,v2,v3,v4,v5) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5)
269 #define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6)
270 #define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7)
271 #define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8)
272 #define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8,v9)
274 #define FLEXT_LOG(s) post(s)
275 #define FLEXT_LOG1(s,v1) post(s,v1)
276 #define FLEXT_LOG2(s,v1,v2) post(s,v1,v2)
277 #define FLEXT_LOG3(s,v1,v2,v3) post(s,v1,v2,v3)
278 #define FLEXT_LOG4(s,v1,v2,v3,v4) post(s,v1,v2,v3,v4)
279 #define FLEXT_LOG5(s,v1,v2,v3,v4,v5) post(s,v1,v2,v3,v4,v5)
280 #define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) post(s,v1,v2,v3,v4,v5,v6)
281 #define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) post(s,v1,v2,v3,v4,v5,v6,v7)
282 #define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) post(s,v1,v2,v3,v4,v5,v6,v7,v8)
283 #define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) post(s,v1,v2,v3,v4,v5,v6,v7,v8,v9)
289 #define FLEXT_LOG(s) ((void)0)
290 #define FLEXT_LOG1(s,v1) ((void)0)
291 #define FLEXT_LOG2(s,v1,v2) ((void)0)
292 #define FLEXT_LOG3(s,v1,v2,v3) ((void)0)
293 #define FLEXT_LOG4(s,v1,v2,v3,v4) ((void)0)
294 #define FLEXT_LOG5(s,v1,v2,v3,v4,v5) ((void)0)
295 #define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) ((void)0)
296 #define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) ((void)0)
297 #define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) ((void)0)
298 #define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) ((void)0)
302 #define FLEXT_UNUSED(x) (void)(x)
306 #define FLEXT_ASSERT(b) do { if(!(b)) _CrtDbgReport(_CRT_ASSERT,__FILE__,__LINE__,"flext",#b); } while(false)
307 #define FLEXT_WARN(str) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",NULL)
308 #define FLEXT_ERROR(str) _CrtDbgReport(_CRT_ERROR,__FILE__,__LINE__,"flext",NULL)
310 #define FLEXT_ASSERT(b) assert(b)
312 #define FLEXT_WARN(str) internal_error("Warning: in " __FILE__ " line %i",(int)__LINE__)
313 #define FLEXT_ERROR(str) internal_error("Error: in " __FILE__ " line %i",(int)__LINE__)
316 #define FLEXT_ASSERT(b) FLEXT_UNUSED(b)
317 #define FLEXT_WARN(str) FLEXT_UNUSED(str)
318 #define FLEXT_ERROR(str) internal_error("Error: in " __FILE__ " line %i",(int)__LINE__)
321 #define ERRINTERNAL() internal_error("flext: Internal error in file " __FILE__ ", line %i - please report",(int)__LINE__)
324 #ifndef PD_MAJOR_VERSION
325 # undef FLEXT_NOATTREDIT
326 # define FLEXT_NOATTREDIT
331 #if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 37
334 # define FLEXT_PDLOCK
338 # if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 38 && defined(PD_DEVEL_VERSION)
340 # define FLEXT_QMODE 1
341 # elif defined(FLEXT_PDLOCK)
343 # if FLEXT_SYS == FLEXT_SYS_PD
344 # ifdef FLEXT_THREADS
346 # define FLEXT_QMODE 2
348 # define FLEXT_QMODE 0
351 # error FLEXT_PDLOCK can only be defined with PD
354 # define FLEXT_QMODE 0
359 # error Internal error: Queueing mode not defined
Definition of the Max/MSP buffer structure.
t_symbol * t_symptr
Definition: flstdc.h:255