From 0ed7a8b68dd73e2b0473b8127aeca99f3bac9061 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Wed, 1 Apr 2009 21:13:09 +0000 Subject: cleaned up grill externals - replaced with svn:externals to svn.grrrr.org/ext/trunk/ svn path=/trunk/; revision=10951 --- externals/grill/flext/source/flstdc.h | 311 ---------------------------------- 1 file changed, 311 deletions(-) delete mode 100644 externals/grill/flext/source/flstdc.h (limited to 'externals/grill/flext/source/flstdc.h') diff --git a/externals/grill/flext/source/flstdc.h b/externals/grill/flext/source/flstdc.h deleted file mode 100644 index 13ac271c..00000000 --- a/externals/grill/flext/source/flstdc.h +++ /dev/null @@ -1,311 +0,0 @@ -/* - -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -/*! \file flstdc.h - \brief Definitions to unite Max/MSP and PD notions - - This file contains a few definitions to unite a few of the notions that - once drifted apart in Max and PD. It is not elegant but helps. -*/ - -#ifndef __FLEXT_STDC_H -#define __FLEXT_STDC_H - -#if defined(_MSC_VER) && (_MSC_VER < 0x1300) -/* - include math.h here - when included with PD or Max/MSP headers, - C linkage would be used which disturbs MSVC6 -*/ -#include -#endif - -#ifdef _MSC_VER -#include -#else -#include -#endif - -// PD stuff - -#if FLEXT_SYS == FLEXT_SYS_PD - -/* PD definitions start here */ - -#ifdef _MSC_VER - #pragma warning (push) - #pragma warning (disable:4091 4005) -#endif - -#if FLEXT_OS == FLEXT_OS_WIN && !defined(NT) -#define NT -#endif - -extern "C" { - // Include the relevant PD header files - #ifdef FLEXT_DEBUG - /* PD header file structure has changed with version 0.37 - from then on m_imp.h needs m_pd.h to be included before - on the other hand versions < 0.37 don't like that.... - (they want m_imp.h solely as m_pd.h is included therein) - So better use the m_pd.h here also for the debug version. - Change that if really needed for debugging PD internals... - */ - - #ifndef PD_VERSION - // include only if not already included - #include - #endif -// #include // for easier debugging - #else - #ifndef PD_VERSION - // include only if not already included - #include - #endif - #endif -} - -#ifdef _MSC_VER - #pragma warning (pop) -#endif - -#ifdef cabs -#undef cabs // this is defined in m_pd.h (clashes with math.h in MacOSX) -#endif - -typedef t_object t_sigobj; -typedef t_gpointer *t_ptrtype; - -typedef t_float t_flint; -typedef t_symbol *t_symtype; -typedef t_class **t_thing; - -typedef t_clock t_qelem; - -#define A_NOTHING A_NULL -#define A_FLINT A_FLOAT -#define A_DEFFLINT A_DEFFLOAT -#define A_DEFSYMBOL A_DEFSYM - - -#elif FLEXT_SYS == FLEXT_SYS_MAX - -/* Max/MSP definitions start here */ - -// 2-byte alignment for Max/MSP structures -#ifdef _MSC_VER -#pragma pack(push,flext_maxsdk) -#pragma pack(2) -#endif - -// Include the relevant Max/MSP header files - -#if FLEXT_OS == FLEXT_OS_MAC - #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH - // MachO version - must insert prefix header - #include - #else - // CFM version - #ifndef __MRC__ - #define powerc - #endif - #define __MOTO__ 0 - - #include - #endif -#elif FLEXT_OS == FLEXT_OS_WIN - #define WIN_VERSION 1 - #define WIN_EXT_VERSION 1 -#endif - -// necessary for the old OS9 SDK -extern "C" { - -#include "ext.h" -#include "ext_user.h" -#if FLEXT_OS != FLEXT_OS_MAC || defined(MAC_VERSION) -// doesn't exist for OS9 -#include "ext_critical.h" -#include "buffer.h" -#else -// for OS9 include "inofficial" header file -#include "flmspbuffer.h" -#endif -#include "z_dsp.h" - -} // extern "C" - -#undef WIN_VERSION - -typedef t_pxobject t_sigobj; // that's the all-in-one object type of Max/MSP (not very memory-efficent, i guess) -typedef t_patcher t_canvas; - -typedef t_int t_flint; -typedef t_symbol *t_symtype; -typedef t_object *t_thing; - -// for the following to work you should have the latest SDK -#if FLEXT_OS == FLEXT_OS_MAC //&& !defined(MAC_VERSION) -typedef struct qelem t_qelem; -#else -typedef void *t_qelem; -#endif - -typedef method t_method; -typedef method t_newmethod; -typedef int t_atomtype; - -typedef struct clock t_clock; -typedef void t_binbuf; - -#undef clock_free -#define clock_free(tick) freeobject((object *)tick) - -#define A_NULL A_NOTHING -#define A_DEFFLINT A_DEFLONG - -#ifndef A_INT -#define A_INT A_LONG -#endif - -#ifndef A_DEFINT -#define A_DEFINT A_DEFLONG -#endif - -#ifndef A_SYMBOL -#define A_SYMBOL A_SYM -#endif - -#ifndef A_DEFSYMBOL -#define A_DEFSYMBOL A_DEFSYM -#endif - -#if FLEXT_OS == FLEXT_OS_MAC && !defined(MAC_VERSION) -// simulate non-existing functions for OS9 -#define critical_enter(N) -#define critical_exit(N) -#endif - -#ifdef _MSC_VER -#pragma pack(pop,flext_maxsdk) -#endif - -#else -#error Platform not supported -#endif // FLEXT_SYS - - -// general definitions - -typedef t_symbol *t_symptr; - - -// ------------------------- - -#ifdef FLEXT_LOGGING -/* If FLEXT_LOGGING is defined implement logging */ - -#ifdef _MSC_VER -#define FLEXT_LOG(s) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s) -#define FLEXT_LOG1(s,v1) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1) -#define FLEXT_LOG2(s,v1,v2) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2) -#define FLEXT_LOG3(s,v1,v2,v3) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3) -#define FLEXT_LOG4(s,v1,v2,v3,v4) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6) -#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) -#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) -#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) -#else -#define FLEXT_LOG(s) post(s) -#define FLEXT_LOG1(s,v1) post(s,v1) -#define FLEXT_LOG2(s,v1,v2) post(s,v1,v2) -#define FLEXT_LOG3(s,v1,v2,v3) post(s,v1,v2,v3) -#define FLEXT_LOG4(s,v1,v2,v3,v4) post(s,v1,v2,v3,v4) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) post(s,v1,v2,v3,v4,v5) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) post(s,v1,v2,v3,v4,v5,v6) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) post(s,v1,v2,v3,v4,v5,v6,v7) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) post(s,v1,v2,v3,v4,v5,v6,v7,v8) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) post(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) -#endif - -#else - -/* If FLEXT_LOGGING is not defined avoid logging */ -#define FLEXT_LOG(s) ((void)0) -#define FLEXT_LOG1(s,v1) ((void)0) -#define FLEXT_LOG2(s,v1,v2) ((void)0) -#define FLEXT_LOG3(s,v1,v2,v3) ((void)0) -#define FLEXT_LOG4(s,v1,v2,v3,v4) ((void)0) -#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) ((void)0) -#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) ((void)0) -#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) ((void)0) -#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) ((void)0) -#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) ((void)0) - -#endif - -#ifdef FLEXT_DEBUG -#ifdef _MSC_VER -#define FLEXT_ASSERT(b) do { if(!(b)) _CrtDbgReport(_CRT_ASSERT,__FILE__,__LINE__,"flext",#b); } while(false) -#define FLEXT_WARN(str) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",NULL) -#define FLEXT_ERROR(str) _CrtDbgReport(_CRT_ERROR,__FILE__,__LINE__,"flext",NULL) -#else -#define FLEXT_ASSERT(b) assert(b) -//#define FLEXT_ASSERT(b) do { if(!(b)) error("Assertion failed: " #b " - in " __FILE__ " line %i",(int)__LINE__); } while(false) -#define FLEXT_WARN(str) error("Warning: in " __FILE__ " line %i",(int)__LINE__) -#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__) -#endif -#else -#define FLEXT_ASSERT(b) (1) -#define FLEXT_WARN(str) (1) -#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__) -#endif - -#define ERRINTERNAL() error("flext: Internal error in file " __FILE__ ", line %i - please report",(int)__LINE__) - - -// ----- disable attribute editor for PD version < devel_0_36 or 0.37 -#ifndef PD_MAJOR_VERSION -#undef FLEXT_NOATTREDIT -#define FLEXT_NOATTREDIT -#endif - - -// ----- set message queue mode ----- -#if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 37 - // for PD version >= 0.37test10 FLEXT_PDLOCK is standard - #undef FLEXT_PDLOCK - #define FLEXT_PDLOCK -#endif - -#if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 38 && defined(PD_DEVEL_VERSION) - // use idle callback - #define FLEXT_QMODE 1 -#elif defined(FLEXT_PDLOCK) - // new PD thread locking functionality shall be used - #if FLEXT_SYS == FLEXT_SYS_PD - #ifdef FLEXT_THREADS - // can only be used with PD and threaded build - #define FLEXT_QMODE 2 - #else - #define FLEXT_QMODE 0 - #endif - #else - #error FLEXT_PDLOCK can only be defined with PD - #endif -#else - #define FLEXT_QMODE 0 -#endif - -#ifndef FLEXT_QMODE -#error Internal error: Queueing mode not defined -#endif - -#endif -- cgit v1.2.1