iPlug2 - C++ Audio Plug-in Framework
Loading...
Searching...
No Matches
IPlug
IPlugPlatform.h
Go to the documentation of this file.
1
/*
2
==============================================================================
3
4
This file is part of the iPlug 2 library. Copyright (C) the iPlug 2 developers.
5
6
See LICENSE.txt for more info.
7
8
==============================================================================
9
*/
10
11
#pragma once
12
18
#ifdef _WIN32
19
#define OS_WIN
20
#elif defined __APPLE__
21
#include <TargetConditionals.h>
22
#if TARGET_OS_IPHONE
23
#define OS_IOS
24
#elif TARGET_OS_MAC
25
#define OS_MAC
26
#elif TARGET_OS_VISION
27
#define OS_VISION
28
#endif
29
#elif defined __linux || defined __linux__ || defined linux
30
#define OS_LINUX
31
#elif defined EMSCRIPTEN
32
#define OS_WEB
33
#else
34
#error "No OS defined!"
35
#endif
36
37
#if defined(_WIN64) || defined(__LP64__)
38
#define ARCH_64BIT
39
#endif
40
41
#if __cplusplus == 201402L
42
#define IPLUG_CPP14
43
#endif
44
45
//these two components of the c standard library are used thoughtout IPlug/WDL
46
#include <cstring>
47
#include <cstdlib>
48
49
#ifdef PARAMS_MUTEX
50
#define ENTER_PARAMS_MUTEX mParams_mutex.Enter(); Trace(TRACELOC, "%s"
, "ENTER_PARAMS_MUTEX");
51
#define LEAVE_PARAMS_MUTEX mParams_mutex.Leave(); Trace(TRACELOC, "%s"
, "LEAVE_PARAMS_MUTEX");
52
#define ENTER_PARAMS_MUTEX_STATIC _this->mParams_mutex.Enter(); Trace(TRACELOC, "%s"
, "ENTER_PARAMS_MUTEX");
53
#define LEAVE_PARAMS_MUTEX_STATIC _this->mParams_mutex.Leave(); Trace(TRACELOC, "%s"
, "LEAVE_PARAMS_MUTEX");
54
#else
55
#define ENTER_PARAMS_MUTEX
56
#define LEAVE_PARAMS_MUTEX
57
#define ENTER_PARAMS_MUTEX_STATIC
58
#define LEAVE_PARAMS_MUTEX_STATIC
59
#endif
60
61
#define BEGIN_IPLUG_NAMESPACE namespace iplug {
62
#define END_IPLUG_NAMESPACE }
63
64
#define BEGIN_IGRAPHICS_NAMESPACE namespace igraphics {
65
#define END_IGRAPHICS_NAMESPACE }
66
67
namespace
iplug {
namespace
igraphics {}};
68
69
#if defined IGRAPHICS_GLES2 || IGRAPHICS_GLES3 || IGRAPHICS_GL2 || defined IGRAPHICS_GL3
70
#define IGRAPHICS_GL
71
#endif
Generated by
1.9.5