OpenShot Audio Library | OpenShotAudio: juce_StandardHeader.h Source File

OpenShot Audio Library | OpenShotAudio 0.4.0

Loading...
Searching...
No Matches
juce_StandardHeader.h
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
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 7
31#define JUCE_MINOR_VERSION 0
32#define JUCE_BUILDNUMBER 10
33
42#define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)
43
44#if ! DOXYGEN
45#define JUCE_VERSION_ID \
46 [[maybe_unused]] volatile auto juceVersionId = "juce_version_" JUCE_STRINGIFY(JUCE_MAJOR_VERSION) "_" JUCE_STRINGIFY(JUCE_MINOR_VERSION) "_" JUCE_STRINGIFY(JUCE_BUILDNUMBER);
47#endif
48
49//==============================================================================
50#include <algorithm>
51#include <array>
52#include <atomic>
53#include <cmath>
54#include <condition_variable>
55#include <cstddef>
56#include <functional>
57#include <future>
58#include <iomanip>
59#include <iostream>
60#include <limits>
61#include <list>
62#include <map>
63#include <memory>
64#include <mutex>
65#include <numeric>
66#include <optional>
67#include <queue>
68#include <set>
69#include <sstream>
70#include <string_view>
71#include <thread>
72#include <typeindex>
73#include <unordered_map>
74#include <unordered_set>
75#include <utility>
76#include <variant>
77#include <vector>
78
79//==============================================================================
80#include "juce_CompilerSupport.h"
81#include "juce_CompilerWarnings.h"
82#include "juce_PlatformDefs.h"
83
84//==============================================================================
85// Now we'll include some common OS headers..
86JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4514 4245 4100)
87
88#if JUCE_MSVC
89 #include <intrin.h>
90#endif
91
92
93#if JUCE_MAC || JUCE_IOS
94 #include <libkern/OSAtomic.h>
95 #include <libkern/OSByteOrder.h>
96 #include <xlocale.h>
97 #include <signal.h>
98#endif
99
100#if JUCE_LINUX || JUCE_BSD
101 #include <cstring>
102 #include <signal.h>
103
104 #if __INTEL_COMPILER
105 #if __ia64__
106 #include <ia64intrin.h>
107 #else
108 #include <ia32intrin.h>
109 #endif
110 #endif
111#endif
112
113#if JUCE_MSVC && JUCE_DEBUG
114 #include <crtdbg.h>
115#endif
116
117JUCE_END_IGNORE_WARNINGS_MSVC
118
119#if JUCE_MINGW
120 #include <cstring>
121 #include <sys/types.h>
122#endif
123
124#if JUCE_ANDROID
125 #include <cstring>
126 #include <byteswap.h>
127#endif
128
129// undef symbols that are sometimes set by misguided 3rd-party headers..
130#undef TYPE_BOOL
131#undef max
132#undef min
133#undef major
134#undef minor
135#undef KeyPress
136
137//==============================================================================
138// DLL building settings on Windows
139#if JUCE_MSVC
140 #ifdef JUCE_DLL_BUILD
141 #define JUCE_API __declspec (dllexport)
142 #pragma warning (disable: 4251)
143 #elif defined (JUCE_DLL)
144 #define JUCE_API __declspec (dllimport)
145 #pragma warning (disable: 4251)
146 #endif
147 #ifdef __INTEL_COMPILER
148 #pragma warning (disable: 1125) // (virtual override warning)
149 #endif
150#elif defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)
151 #define JUCE_API __attribute__ ((visibility ("default")))
152#endif
153
154//==============================================================================
155#ifndef JUCE_API
156 #define JUCE_API
157#endif
158
159#if JUCE_MSVC && JUCE_DLL_BUILD
160 #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) public: declaration; private:
161#else
162 #define JUCE_PUBLIC_IN_DLL_BUILD(declaration) declaration;
163#endif
164
166#define JUCE_PUBLIC_FUNCTION JUCE_API JUCE_CALLTYPE
167
168#ifndef DOXYGEN
169 #define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
170#endif