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 typedef t_object t_sigobj;
82 typedef t_gpointer *t_ptrtype;
84 typedef t_float t_flint;
85 typedef t_symbol *t_symtype;
86 typedef t_class **t_thing;
88 typedef t_clock t_qelem;
90 #define A_NOTHING A_NULL
91 #define A_FLINT A_FLOAT
92 #define A_DEFFLINT A_DEFFLOAT
93 #define A_DEFSYMBOL A_DEFSYM
98 #elif FLEXT_SYS == FLEXT_SYS_MAX
104 #pragma pack(push,flext_maxsdk)
110 #if FLEXT_OS == FLEXT_OS_MAC
111 #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH
113 #include <Carbon/Carbon.h>
121 #include <MacTypes.h>
123 #elif FLEXT_OS == FLEXT_OS_WIN
124 #define WIN_VERSION 1
125 #define WIN_EXT_VERSION 1
132 #include "ext_user.h"
133 #if FLEXT_OS != FLEXT_OS_MAC || defined(MAC_VERSION)
135 #include "ext_critical.h"
142 #include "ext_obex.h"
145 #include "commonsyms.h"
146 #if C74_MAX_SDK_VERSION >= 0x0500 || COMMON_SYMBOLS_VERSION >= 500
147 #define _FLEXT_MAX5SDK
156 typedef t_pxobject t_sigobj;
157 typedef t_patcher t_canvas;
159 typedef t_int t_flint;
160 typedef t_symbol *t_symtype;
161 typedef t_object *t_thing;
163 #ifndef _FLEXT_MAX5SDK
165 #if FLEXT_OS == FLEXT_OS_MAC
166 typedef struct qelem t_qelem;
168 typedef void *t_qelem;
172 typedef method t_method;
173 typedef method t_newmethod;
174 typedef int t_atomtype;
176 #ifndef _FLEXT_MAX5SDK
177 typedef struct clock t_clock;
180 typedef void t_binbuf;
183 #define clock_free(tick) freeobject((object *)tick)
185 #define A_NULL A_NOTHING
186 #define A_DEFFLINT A_DEFLONG
193 #define A_DEFINT A_DEFLONG
197 #define A_SYMBOL A_SYM
201 #define A_DEFSYMBOL A_DEFSYM
204 #if FLEXT_OS == FLEXT_OS_MAC && !defined(MAC_VERSION)
206 #define critical_enter(N)
207 #define critical_exit(N)
211 #pragma pack(pop,flext_maxsdk)
217 #error Platform not supported
233 #define FLEXT_LOG(s) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s)
234 #define FLEXT_LOG1(s,v1) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1)
235 #define FLEXT_LOG2(s,v1,v2) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2)
236 #define FLEXT_LOG3(s,v1,v2,v3) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3)
237 #define FLEXT_LOG4(s,v1,v2,v3,v4) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4)
238 #define FLEXT_LOG5(s,v1,v2,v3,v4,v5) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5)
239 #define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6)
240 #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)
241 #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)
242 #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)
244 #define FLEXT_LOG(s) post(s)
245 #define FLEXT_LOG1(s,v1) post(s,v1)
246 #define FLEXT_LOG2(s,v1,v2) post(s,v1,v2)
247 #define FLEXT_LOG3(s,v1,v2,v3) post(s,v1,v2,v3)
248 #define FLEXT_LOG4(s,v1,v2,v3,v4) post(s,v1,v2,v3,v4)
249 #define FLEXT_LOG5(s,v1,v2,v3,v4,v5) post(s,v1,v2,v3,v4,v5)
250 #define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) post(s,v1,v2,v3,v4,v5,v6)
251 #define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) post(s,v1,v2,v3,v4,v5,v6,v7)
252 #define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) post(s,v1,v2,v3,v4,v5,v6,v7,v8)
253 #define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) post(s,v1,v2,v3,v4,v5,v6,v7,v8,v9)
259 #define FLEXT_LOG(s) ((void)0)
260 #define FLEXT_LOG1(s,v1) ((void)0)
261 #define FLEXT_LOG2(s,v1,v2) ((void)0)
262 #define FLEXT_LOG3(s,v1,v2,v3) ((void)0)
263 #define FLEXT_LOG4(s,v1,v2,v3,v4) ((void)0)
264 #define FLEXT_LOG5(s,v1,v2,v3,v4,v5) ((void)0)
265 #define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) ((void)0)
266 #define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) ((void)0)
267 #define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) ((void)0)
268 #define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) ((void)0)
274 #define FLEXT_ASSERT(b) do { if(!(b)) _CrtDbgReport(_CRT_ASSERT,__FILE__,__LINE__,"flext",#b); } while(false)
275 #define FLEXT_WARN(str) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",NULL)
276 #define FLEXT_ERROR(str) _CrtDbgReport(_CRT_ERROR,__FILE__,__LINE__,"flext",NULL)
278 #define FLEXT_ASSERT(b) assert(b)
280 #define FLEXT_WARN(str) error("Warning: in " __FILE__ " line %i",(int)__LINE__)
281 #define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__)
284 #define FLEXT_ASSERT(b) assert(1)
285 #define FLEXT_WARN(str) assert(1)
286 #define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__)
289 #define ERRINTERNAL() error("flext: Internal error in file " __FILE__ ", line %i - please report",(int)__LINE__)
293 #ifndef PD_MAJOR_VERSION
294 # undef FLEXT_NOATTREDIT
295 # define FLEXT_NOATTREDIT
300 #if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 37
303 # define FLEXT_PDLOCK
307 # if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 38 && defined(PD_DEVEL_VERSION)
309 # define FLEXT_QMODE 1
310 # elif defined(FLEXT_PDLOCK)
312 # if FLEXT_SYS == FLEXT_SYS_PD
313 # ifdef FLEXT_THREADS
315 # define FLEXT_QMODE 2
317 # define FLEXT_QMODE 0
320 # error FLEXT_PDLOCK can only be defined with PD
323 # define FLEXT_QMODE 0
328 # error Internal error: Queueing mode not defined
Definition of the Max/MSP buffer structure.
t_symbol * t_symptr
Definition: flstdc.h:225