23#if C74_MAX_SDK_VERSION >= 0x0610
48 static void post(
const char *
fmt,...);
50 static void error(
const char *
fmt,...);
58#ifdef FLEXT_NOGLOBALNEW
59#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USE_CMEM instead
64 inline void *
operator new(
size_t bytes) { return ::operator
new(
bytes); }
67 inline void *
operator new[](
size_t bytes) { return ::operator
new[](
bytes); }
70 static bool MemCheck(
void *) {
return true; }
76 void *
operator new(
size_t bytes);
78 void operator delete(
void *
blk);
81 inline void *
operator new[](
size_t bytes) {
return operator new(
bytes); }
82 inline void operator delete[](
void *
blk) {
operator delete(
blk); }
88 static bool MemCheck(
void *) {
return true; }
94 inline void *
operator new(
size_t,
void *
p) {
return p; }
95 inline void operator delete(
void *,
void *) {}
97 inline void *
operator new[](
size_t,
void *
p) {
return p; }
98 inline void operator delete[](
void *,
void *) {}
111 return (
reinterpret_cast<size_t>(
ptr)&(
bitalign-1)) == 0;
126#if !defined(_MSC_VER) && !defined(__BORLANDC__)
127#if __cpp_noexcept_function_type
128# define NEWTHROW noexcept(false)
129# define DELTHROW noexcept(true)
131# define NEWTHROW throw(std::bad_alloc)
132# define DELTHROW throw()
214#if FLEXT_SYS == FLEXT_SYS_PD
216#elif FLEXT_SYS == FLEXT_SYS_MAX
219#error Not implemented
224#if FLEXT_SYS == FLEXT_SYS_PD
225# if PD_MINOR_VERSION >= 41
227# define FLEXT_PD_ARRAYGRAB garray_getfloatwords
228# define FLEXT_ARRAYTYPE t_word
229# define FLEXT_GETSAMPLE(x) ((x).w_float)
230# define _FLEXT_NEED_SAMPLE_CONV 1
234# define FLEXT_PD_ARRAYGRAB garray_getfloatarray
235# define FLEXT_ARRAYTYPE t_sample
236# define FLEXT_GETSAMPLE(x) (x)
237# define _FLEXT_NEED_SAMPLE_CONV 0
240#elif FLEXT_SYS == FLEXT_SYS_MAX
241# define FLEXT_ARRAYTYPE float
242# define FLEXT_GETSAMPLE(x) (x)
243# define _FLEXT_NEED_SAMPLE_CONV 0
252#if _FLEXT_NEED_SAMPLE_CONV
277#if FLEXT_SYS == FLEXT_SYS_PD
289#if FLEXT_SYS == FLEXT_SYS_PD
291#elif FLEXT_SYS == FLEXT_SYS_MAX
293 return p &&
p->b_valid;
295#error not implemented
344 Element *Data() {
return data; }
346 const Element *Data()
const {
return data; }
384#if FLEXT_SYS == FLEXT_SYS_PD
401#elif FLEXT_SYS == FLEXT_SYS_MAX
536#if FLEXT_SYS == FLEXT_SYS_PD
541#elif FLEXT_SYS == FLEXT_SYS_MAX
566#if FLEXT_SYS == FLEXT_SYS_PD
571 static bool IsInt(
const t_atom &) {
return false; }
579#ifndef FLEXT_COMPATIBLE
592#elif FLEXT_SYS == FLEXT_SYS_MAX
605#error "Platform not supported"
644 AtomList &operator()(
int argc = 0,
const t_atom *argv =
NULL) {
return Set(argc,argv,0,
true); }
787 hdr =
h; AtomList::operator()(argc,argv);
802#pragma optimize("p",off)
806 float f =
static_cast<float>(
d);
807 float r =
static_cast<float>(
d-
f);
813#pragma optimize("p",on)
838 static MsgBundle *
MsgNew();
844 static void ToSysMsg(MsgBundle *
mb);
897#if FLEXT_SYS == FLEXT_SYS_PD
898 #if PD_MINOR_VERSION >= 38 || (PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION))
903 static void Lock() {}
906#elif FLEXT_SYS == FLEXT_SYS_MAX
930# if FLEXT_THREADS == FLEXT_THR_MP
932# elif FLEXT_THREADS == FLEXT_THR_POSIX
934# elif FLEXT_THREADS == FLEXT_THR_WIN32
937# error Threading model not supported
943#if FLEXT_THREADS == FLEXT_THR_POSIX
945#elif FLEXT_THREADS == FLEXT_THR_MP
947#elif FLEXT_THREADS == FLEXT_THR_WIN32
963#if FLEXT_THREADS == FLEXT_THR_POSIX
1014#if FLEXT_THREADS == FLEXT_THR_POSIX
1017#elif FLEXT_THREADS == FLEXT_THR_MP
1019#elif FLEXT_THREADS == FLEXT_THR_WIN32
1029#if FLEXT_THREADS == FLEXT_THR_POSIX || FLEXT_THREADS == FLEXT_THR_WIN32
1031#elif FLEXT_THREADS == FLEXT_THR_MP
1056#if FLEXT_THREADS == FLEXT_THR_POSIX
1079#elif FLEXT_THREADS == FLEXT_THR_WIN32
1094 bool TryLock() { return ::TryEnterCriticalSection(&
mutex) != 0; }
1101#elif FLEXT_THREADS == FLEXT_THR_MP
1122#error "Not implemented"
1155#elif FLEXT_THREADS == FLEXT_THR_WIN32
1180#elif FLEXT_THREADS == FLEXT_THR_MP
1203#error "Not implemented"
1266 #if FLEXT_SYS == FLEXT_SYS_PD
1268 #elif FLEXT_SYS == FLEXT_SYS_MAX
1273 #error Not implemented
1282 #if FLEXT_SYS == FLEXT_SYS_PD
1284 #elif FLEXT_SYS == FLEXT_SYS_MAX
1287 #error Not implemented
1299 static void Sleep(
double s);
1328 virtual void Work();
1333#if FLEXT_SYS == FLEXT_SYS_PD
1335#elif FLEXT_SYS == FLEXT_SYS_MAX
1340#error Not implemented
1388 friend class flext_obj;
1391 static void Setup();
1400#if FLEXT_SYS == FLEXT_SYS_MAX
#define FLEXT_THR_POSIX
Definition flprefix.h:71
#define FLEXT_TEMPINST(fun)
Definition flprefix.h:455
#define FLEXT_SHARE
Definition flprefix.h:416
#define FLEXT_CLASSDEF(CL)
Definition flprefix.h:381
#define FLEXT_THREADS
Definition flprefix.h:358
#define FLEXT_TEMPLATE
Definition flprefix.h:453
Definitions to unite Max/MSP and PD notions.
#define FLEXT_ASSERT(b)
Definition flstdc.h:316
t_symbol * t_symptr
Definition flstdc.h:255
#define FLEXT_CAST
Switch for compilation of derived virtual classes.
Definition fldefs.h:27
bool operator!=(const t_atom &a, const t_atom &b)
Definition flsupport.h:1413
bool operator==(const t_atom &a, const t_atom &b)
Definition flsupport.h:1412
bool operator>(const t_atom &a, const t_atom &b)
Definition flsupport.h:1416
bool operator<=(const t_atom &a, const t_atom &b)
Definition flsupport.h:1415
bool operator>=(const t_atom &a, const t_atom &b)
Definition flsupport.h:1417
bool operator<(const t_atom &a, const t_atom &b)
Definition flsupport.h:1414
#define DELTHROW
Definition flsupport.h:132
#define NEWTHROW
Definition flsupport.h:131