51d2804535
[To be reviewed by] Paul Davis
177 lines
4.9 KiB
C
177 lines
4.9 KiB
C
/*
|
|
Copyright (C) 2014 Waves Audio Ltd.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
*/
|
|
|
|
#ifndef __WUDefines_h__
|
|
#define __WUDefines_h__
|
|
|
|
/*Copy to include
|
|
#include "BasicTypes/WUDefines.h"
|
|
*/
|
|
|
|
#include "1.0/WavesPublicAPI_Defines.h"
|
|
|
|
// When changing wvNS value also do the same change in Objective_C_MangledNames.h
|
|
// because CWSAUCocoaViewFactoryAsString is hard coded there
|
|
#define wvNS wvWavesV9_3
|
|
#ifdef __APPLE__
|
|
#define ObjCNameSpace(__className__) wvWavesV9_3_ ## __className__
|
|
#endif
|
|
|
|
#ifdef INSIDE_NETSHELL
|
|
#define DllExport
|
|
#else
|
|
#define DllExport WPAPI_DllExport
|
|
#endif
|
|
|
|
#define __CDECL __WPAPI_CDECL
|
|
#define __STDCALL __WPAPI_STDCALL
|
|
|
|
|
|
#ifndef NULL
|
|
#define NULL (0)
|
|
#endif
|
|
|
|
#ifndef nil
|
|
#define nil NULL
|
|
#endif
|
|
|
|
#define PASCAL_MAC_ONLY #error do not use PASCAL_MAC_ONLY. See defintions in WavesFTT.h for replacment.
|
|
#define CALLCON #error do not use CALLCON. See defintions in WavesFTT.h for replacment.
|
|
#define FUNCEXP #error do not use FUNCEXP. See defintions in WavesFTT.h for replacment.
|
|
|
|
#define WUNUSED_PARAM(__SOME_UNUSED_PARAM__) ((void)__SOME_UNUSED_PARAM__)
|
|
|
|
#ifdef __APPLE__
|
|
const char* const OS_NAME = "Mac";
|
|
|
|
#define WIN_ONLY(__Something_only_for_windows__)
|
|
#define MAC_ONLY(__Something_only_for_mac__) __Something_only_for_mac__
|
|
|
|
#if defined(i386) || defined(__i386) || defined(__i386__)
|
|
#define kNumArchBits 32
|
|
#endif
|
|
#if defined(__x86_64) || defined(__x86_64__)
|
|
#define kNumArchBits 64
|
|
#endif
|
|
|
|
#if (__i386 || __x86_64) && !defined(__LITTLE_ENDIAN__)
|
|
#define __LITTLE_ENDIAN__
|
|
#endif
|
|
#if !(__i386 || __x86_64) && !defined(__BIG_ENDIAN__)
|
|
#define __BIG_ENDIAN__
|
|
#endif
|
|
#ifdef __GNUC__
|
|
#define STD_EXCEPT_WIN std
|
|
#define FAR
|
|
#define PASCAL
|
|
// #define HINSTANCE void*
|
|
#define WINAPI
|
|
|
|
#else
|
|
|
|
#define DllExport_WinOnly
|
|
#define STD_EXCEPT_WIN std
|
|
#define FAR
|
|
#define PASCAL // windows' pascal
|
|
#define HINSTANCE void*
|
|
#define WINAPI
|
|
|
|
#endif
|
|
#define THROW_SPEC(THROW_OBJ) throw (THROW_OBJ)
|
|
|
|
#define WUNUSED_PARAM_ON_MAC(__SOME_UNUSED_PARAM__) WUNUSED_PARAM(__SOME_UNUSED_PARAM__)
|
|
#define WUNUSED_PARAM_ON_WIN(__SOME_UNUSED_PARAM__)
|
|
#endif
|
|
|
|
|
|
#ifdef PLATFORM_WINDOWS
|
|
const char* const OS_NAME = "Win";
|
|
|
|
#define WIN_ONLY(__Something_only_for_windows__) __Something_only_for_windows__
|
|
#define MAC_ONLY(__Something_only_for_mac__)
|
|
|
|
#if defined(_M_X64)
|
|
#define kNumArchBits 64
|
|
#else // not sure what are the VisualStudio macros for 32 bits
|
|
#define kNumArchBits 32
|
|
#endif
|
|
|
|
#define DllExport_WinOnly DllExport // help solve window specific link errors
|
|
#define STD_EXCEPT_WIN
|
|
|
|
#if !defined(__MINGW64__)
|
|
#define round(x) (floor(x+0.5))
|
|
#endif
|
|
|
|
#define __LITTLE_ENDIAN__
|
|
#define THROW_SPEC(THROW_OBJ) throw (...)
|
|
|
|
#define WUNUSED_PARAM_ON_MAC(__SOME_UNUSED_PARAM__)
|
|
#define WUNUSED_PARAM_ON_WIN(__SOME_UNUSED_PARAM__) WUNUSED_PARAM(__SOME_UNUSED_PARAM__)
|
|
|
|
#endif
|
|
|
|
#ifdef __linux__
|
|
const char* const OS_NAME = "Linux";
|
|
|
|
#define WIN_ONLY(__Something_only_for_windows__)
|
|
#define MAC_ONLY(__Something_only_for_mac__)
|
|
|
|
#define DllExport_WinOnly
|
|
#define STD_EXCEPT_WIN std
|
|
#define FAR
|
|
#define PASCAL
|
|
// #define HINSTANCE void*
|
|
#define WINAPI
|
|
#if __i386 && !defined(__LITTLE_ENDIAN__)
|
|
#define __LITTLE_ENDIAN__
|
|
#endif
|
|
#if !__i386 && !defined(__BIG_ENDIAN__)
|
|
#define __BIG_ENDIAN__
|
|
#endif
|
|
#define THROW_SPEC(THROW_OBJ) throw (THROW_OBJ)
|
|
|
|
#if defined(__x86_64) || defined(__LP64__)
|
|
#error "64 bit not suported yet on linux"
|
|
#else
|
|
#define kNumArchBits 32
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef _WU_DECL
|
|
#define _WU_DECL __CDECL // the default is calling model is cdecl, but you can also set this macro from the outside to something different
|
|
#endif
|
|
|
|
#ifndef _XML_DECL
|
|
#define _XML_DECL __CDECL // the default is calling model is cdecl, but you can also set this macro from the outside to something different
|
|
#endif
|
|
|
|
#ifndef kNumArchBits
|
|
#error Macro kNumArchBits was not defined
|
|
#endif
|
|
|
|
#if kNumArchBits == 64
|
|
const char* const kNumArchBits_c_str = "64";
|
|
#endif
|
|
#if kNumArchBits == 32
|
|
const char* const kNumArchBits_c_str = "32";
|
|
#endif
|
|
|
|
#endif //__WUDefines_h__
|