OpenShot Audio Library | OpenShotAudio  0.6.0
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..
86 JUCE_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 
117 JUCE_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