OpenShot Audio Library | OpenShotAudio 0.3.2

Loading...
Searching...
No Matches
juce_StandardHeader.h
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2017 - ROLI Ltd.
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 The code included in this file is provided under the terms of the ISC license
11 http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12 To use, copy, modify, and/or distribute this software for any purpose with or
13 without fee is hereby granted provided that the above copyright notice and
14 this permission notice appear in all copies.
15
16 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18 DISCLAIMED.
19
20 ==============================================================================
21*/
22
23#pragma once
24
25//==============================================================================
30#define JUCE_MAJOR_VERSION 5
31#define JUCE_MINOR_VERSION 4
32#define JUCE_BUILDNUMBER 7
33
42#define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)
43
44
45//==============================================================================
46#include <memory>
47#include <cmath>
48#include <vector>
49#include <iostream>
50#include <functional>
51#include <algorithm>
52#include <limits>
53#include <atomic>
54#include <sstream>
55#include <iomanip>
56#include <map>
57#include <cstddef>
58#include <unordered_set>
59#include <mutex>
60#include <condition_variable>
61#include <queue>
62
63//==============================================================================
64#include "juce_CompilerSupport.h"
65#include "juce_PlatformDefs.h"
66
67//==============================================================================
68// Now we'll include some common OS headers..
69#if JUCE_MSVC
70 #pragma warning (push)
71 #pragma warning (disable: 4514 4245 4100)
72 #include <intrin.h>
73#endif
74
75#if JUCE_MAC || JUCE_IOS
76 #include <libkern/OSAtomic.h>
77 #include <xlocale.h>
78 #if JUCE_IOS
79 #include <signal.h>
80 #endif
81#endif
82
83#if JUCE_LINUX
84 #include <cstring>
85 #include <signal.h>
86
87 #if __INTEL_COMPILER
88 #if __ia64__
89 #include <ia64intrin.h>
90 #else
91 #include <ia32intrin.h>
92 #endif
93 #endif
94#endif
95
96#if JUCE_MSVC && JUCE_DEBUG
97 #include <crtdbg.h>
98#endif
99
100#if JUCE_MSVC
101 #pragma warning (pop)
102#endif
103
104#if JUCE_MINGW
105 #include <cstring>
106 #include <sys/types.h>
107#endif
108
109#if JUCE_ANDROID
110 #include <cstring>
111 #include <atomic>
112 #include <byteswap.h>
113#endif
114
115// undef symbols that are sometimes set by misguided 3rd-party headers..
116#undef TYPE_BOOL
117#undef max
118#undef min
119#undef major
120#undef minor
121#undef KeyPress
122
123//==============================================================================
124// DLL building settings on Windows
125#if JUCE_MSVC
126 #ifdef JUCE_DLL_BUILD
127 #define JUCE_API __declspec (dllexport)
128 #pragma warning (disable: 4251)
129 #elif defined (JUCE_DLL)
130 #define JUCE_API __declspec (dllimport)
131 #pragma warning (disable: 4251)
132 #endif
133 #ifdef __INTEL_COMPILER
134 #pragma warning (disable: 1125) // (virtual override warning)
135 #endif
136#elif defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)
137 #define JUCE_API __attribute__ ((visibility("default")))
138#endif
139
140//==============================================================================
141#ifndef JUCE_API
142 #define JUCE_API
143#endif
144
145#if JUCE_MSVC && JUCE_DLL_BUILD
146 #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) public: declaration; private:
147#else
148 #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) declaration;
149#endif
150
152#define JUCE_PUBLIC_FUNCTION JUCE_API JUCE_CALLTYPE
153
154#if (! defined (JUCE_CATCH_DEPRECATED_CODE_MISUSE)) && JUCE_DEBUG && ! DOXYGEN
158 #define JUCE_CATCH_DEPRECATED_CODE_MISUSE 1
159#endif
160
161#ifndef DOXYGEN
162 #define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
163#endif