diff --git a/Builds/Linux/Makefile b/Builds/Linux/Makefile
index d1f1a93a2e..8e4ff439e6 100644
--- a/Builds/Linux/Makefile
+++ b/Builds/Linux/Makefile
@@ -317,7 +317,6 @@ OBJECTS := \
$(OBJDIR)/juce_win32_CameraDevice_ea35306d.o \
$(OBJDIR)/juce_win32_Direct2DGraphicsContext_9f1b6be1.o \
$(OBJDIR)/juce_win32_DirectSound_3462415e.o \
- $(OBJDIR)/juce_win32_DynamicLibraryLoader_2df0d241.o \
$(OBJDIR)/juce_win32_FileChooser_18a257.o \
$(OBJDIR)/juce_win32_Files_f3e9a2ef.o \
$(OBJDIR)/juce_win32_Fonts_e695d7fc.o \
@@ -1775,11 +1774,6 @@ $(OBJDIR)/juce_win32_DirectSound_3462415e.o: ../../src/native/windows/juce_win32
@echo "Compiling juce_win32_DirectSound.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
-$(OBJDIR)/juce_win32_DynamicLibraryLoader_2df0d241.o: ../../src/native/windows/juce_win32_DynamicLibraryLoader.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling juce_win32_DynamicLibraryLoader.cpp"
- @$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
-
$(OBJDIR)/juce_win32_FileChooser_18a257.o: ../../src/native/windows/juce_win32_FileChooser.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_win32_FileChooser.cpp"
diff --git a/Builds/MacOSX/Juce.xcodeproj/project.pbxproj b/Builds/MacOSX/Juce.xcodeproj/project.pbxproj
index a49a0da196..a6eed56af1 100644
--- a/Builds/MacOSX/Juce.xcodeproj/project.pbxproj
+++ b/Builds/MacOSX/Juce.xcodeproj/project.pbxproj
@@ -312,7 +312,6 @@
79B4C2F1C0CF592ACE8093C0 = { isa = PBXBuildFile; fileRef = 3A37CD82212075940421CE4F; };
88A87D28B3809665F28DC16E = { isa = PBXBuildFile; fileRef = 7F3EF672D07ECE3E13AAF267; };
BC3C22F5350ED7433D303A04 = { isa = PBXBuildFile; fileRef = 58B70C726D186B4E770300BC; };
- 527CF9C21EB7512B2283E61C = { isa = PBXBuildFile; fileRef = 0CFD86AE0B7CBAE2ADE75C53; };
0B41EC4D7839F8CBCB8F9A0D = { isa = PBXBuildFile; fileRef = DCD09B6EF4A4A109DE01F152; };
B420CD4B589C08EAFA6E3DA4 = { isa = PBXBuildFile; fileRef = 7527A5E8F4F39581159D3E5B; };
D4A05D7CA67B6F0527C9BD81 = { isa = PBXBuildFile; fileRef = 1DBF9DAAD0690CB2CA4E9960; };
@@ -1007,7 +1006,6 @@
3A37CD82212075940421CE4F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_CameraDevice.cpp; path = ../../src/native/windows/juce_win32_CameraDevice.cpp; sourceTree = SOURCE_ROOT; };
7F3EF672D07ECE3E13AAF267 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Direct2DGraphicsContext.cpp; path = ../../src/native/windows/juce_win32_Direct2DGraphicsContext.cpp; sourceTree = SOURCE_ROOT; };
58B70C726D186B4E770300BC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectSound.cpp; path = ../../src/native/windows/juce_win32_DirectSound.cpp; sourceTree = SOURCE_ROOT; };
- 0CFD86AE0B7CBAE2ADE75C53 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DynamicLibraryLoader.cpp; path = ../../src/native/windows/juce_win32_DynamicLibraryLoader.cpp; sourceTree = SOURCE_ROOT; };
BA66E265749F75DBA86EC3F1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_DynamicLibraryLoader.h; path = ../../src/native/windows/juce_win32_DynamicLibraryLoader.h; sourceTree = SOURCE_ROOT; };
DCD09B6EF4A4A109DE01F152 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_FileChooser.cpp; path = ../../src/native/windows/juce_win32_FileChooser.cpp; sourceTree = SOURCE_ROOT; };
7527A5E8F4F39581159D3E5B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Files.cpp; path = ../../src/native/windows/juce_win32_Files.cpp; sourceTree = SOURCE_ROOT; };
@@ -1835,7 +1833,6 @@
3A37CD82212075940421CE4F,
7F3EF672D07ECE3E13AAF267,
58B70C726D186B4E770300BC,
- 0CFD86AE0B7CBAE2ADE75C53,
BA66E265749F75DBA86EC3F1,
DCD09B6EF4A4A109DE01F152,
7527A5E8F4F39581159D3E5B,
@@ -2342,7 +2339,6 @@
79B4C2F1C0CF592ACE8093C0,
88A87D28B3809665F28DC16E,
BC3C22F5350ED7433D303A04,
- 527CF9C21EB7512B2283E61C,
0B41EC4D7839F8CBCB8F9A0D,
B420CD4B589C08EAFA6E3DA4,
D4A05D7CA67B6F0527C9BD81,
diff --git a/Builds/VisualStudio2005/Juce.vcproj b/Builds/VisualStudio2005/Juce.vcproj
index fc8e2d75f0..9c420d7842 100644
--- a/Builds/VisualStudio2005/Juce.vcproj
+++ b/Builds/VisualStudio2005/Juce.vcproj
@@ -913,7 +913,6 @@
-
diff --git a/Builds/VisualStudio2008/Juce.vcproj b/Builds/VisualStudio2008/Juce.vcproj
index 2ad8bd0713..e92eeb8f0c 100644
--- a/Builds/VisualStudio2008/Juce.vcproj
+++ b/Builds/VisualStudio2008/Juce.vcproj
@@ -913,7 +913,6 @@
-
diff --git a/Builds/VisualStudio2008_DLL/Juce.vcproj b/Builds/VisualStudio2008_DLL/Juce.vcproj
index 4c360ccb9f..6e57c750d7 100644
--- a/Builds/VisualStudio2008_DLL/Juce.vcproj
+++ b/Builds/VisualStudio2008_DLL/Juce.vcproj
@@ -915,7 +915,6 @@
-
diff --git a/Builds/VisualStudio2010/Juce.vcxproj b/Builds/VisualStudio2010/Juce.vcxproj
index a8eb80285e..cdd0142438 100644
--- a/Builds/VisualStudio2010/Juce.vcxproj
+++ b/Builds/VisualStudio2010/Juce.vcxproj
@@ -400,7 +400,6 @@
-
diff --git a/Builds/VisualStudio2010/Juce.vcxproj.filters b/Builds/VisualStudio2010/Juce.vcxproj.filters
index 479c8ce8f5..d0a9d13fbf 100644
--- a/Builds/VisualStudio2010/Juce.vcxproj.filters
+++ b/Builds/VisualStudio2010/Juce.vcxproj.filters
@@ -1135,9 +1135,6 @@
Juce\Source\native\windows
-
- Juce\Source\native\windows
-
Juce\Source\native\windows
diff --git a/Builds/iOS/Juce.xcodeproj/project.pbxproj b/Builds/iOS/Juce.xcodeproj/project.pbxproj
index 4959420fff..fe270f87e6 100644
--- a/Builds/iOS/Juce.xcodeproj/project.pbxproj
+++ b/Builds/iOS/Juce.xcodeproj/project.pbxproj
@@ -312,7 +312,6 @@
79B4C2F1C0CF592ACE8093C0 = { isa = PBXBuildFile; fileRef = 3A37CD82212075940421CE4F; };
88A87D28B3809665F28DC16E = { isa = PBXBuildFile; fileRef = 7F3EF672D07ECE3E13AAF267; };
BC3C22F5350ED7433D303A04 = { isa = PBXBuildFile; fileRef = 58B70C726D186B4E770300BC; };
- 527CF9C21EB7512B2283E61C = { isa = PBXBuildFile; fileRef = 0CFD86AE0B7CBAE2ADE75C53; };
0B41EC4D7839F8CBCB8F9A0D = { isa = PBXBuildFile; fileRef = DCD09B6EF4A4A109DE01F152; };
B420CD4B589C08EAFA6E3DA4 = { isa = PBXBuildFile; fileRef = 7527A5E8F4F39581159D3E5B; };
D4A05D7CA67B6F0527C9BD81 = { isa = PBXBuildFile; fileRef = 1DBF9DAAD0690CB2CA4E9960; };
@@ -1007,7 +1006,6 @@
3A37CD82212075940421CE4F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_CameraDevice.cpp; path = ../../src/native/windows/juce_win32_CameraDevice.cpp; sourceTree = SOURCE_ROOT; };
7F3EF672D07ECE3E13AAF267 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Direct2DGraphicsContext.cpp; path = ../../src/native/windows/juce_win32_Direct2DGraphicsContext.cpp; sourceTree = SOURCE_ROOT; };
58B70C726D186B4E770300BC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectSound.cpp; path = ../../src/native/windows/juce_win32_DirectSound.cpp; sourceTree = SOURCE_ROOT; };
- 0CFD86AE0B7CBAE2ADE75C53 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DynamicLibraryLoader.cpp; path = ../../src/native/windows/juce_win32_DynamicLibraryLoader.cpp; sourceTree = SOURCE_ROOT; };
BA66E265749F75DBA86EC3F1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_DynamicLibraryLoader.h; path = ../../src/native/windows/juce_win32_DynamicLibraryLoader.h; sourceTree = SOURCE_ROOT; };
DCD09B6EF4A4A109DE01F152 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_FileChooser.cpp; path = ../../src/native/windows/juce_win32_FileChooser.cpp; sourceTree = SOURCE_ROOT; };
7527A5E8F4F39581159D3E5B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Files.cpp; path = ../../src/native/windows/juce_win32_Files.cpp; sourceTree = SOURCE_ROOT; };
@@ -1835,7 +1833,6 @@
3A37CD82212075940421CE4F,
7F3EF672D07ECE3E13AAF267,
58B70C726D186B4E770300BC,
- 0CFD86AE0B7CBAE2ADE75C53,
BA66E265749F75DBA86EC3F1,
DCD09B6EF4A4A109DE01F152,
7527A5E8F4F39581159D3E5B,
@@ -2346,7 +2343,6 @@
79B4C2F1C0CF592ACE8093C0,
88A87D28B3809665F28DC16E,
BC3C22F5350ED7433D303A04,
- 527CF9C21EB7512B2283E61C,
0B41EC4D7839F8CBCB8F9A0D,
B420CD4B589C08EAFA6E3DA4,
D4A05D7CA67B6F0527C9BD81,
diff --git a/Juce.jucer b/Juce.jucer
index b633b3a426..8db7892d99 100644
--- a/Juce.jucer
+++ b/Juce.jucer
@@ -1405,8 +1405,6 @@
resource="0" file="src/native/windows/juce_win32_Direct2DGraphicsContext.cpp"/>
-
5)
diff --git a/extras/the jucer/src/ui/jucer_MainWindow.cpp b/extras/the jucer/src/ui/jucer_MainWindow.cpp
index 8198cda992..9d76e4dcce 100644
--- a/extras/the jucer/src/ui/jucer_MainWindow.cpp
+++ b/extras/the jucer/src/ui/jucer_MainWindow.cpp
@@ -133,7 +133,6 @@ MainWindow::~MainWindow()
clearContentComponent();
- LookAndFeel::setDefaultLookAndFeel (0);
deleteAndZero (oldLook);
}
@@ -371,7 +370,7 @@ void MainWindow::menuItemSelected (int menuItemID,
}
else if (menuItemID == 201)
{
- LookAndFeel::setDefaultLookAndFeel (0);
+ LookAndFeel::setDefaultLookAndFeel (nullptr);
}
else if (menuItemID >= 300 && menuItemID < 400)
{
diff --git a/juce_amalgamated.cpp b/juce_amalgamated.cpp
index 59b30e9316..023befd607 100644
--- a/juce_amalgamated.cpp
+++ b/juce_amalgamated.cpp
@@ -193,6 +193,7 @@
#endif
#endif // __JUCE_TARGETPLATFORM_JUCEHEADER__
+
/*** End of inlined file: juce_TargetPlatform.h ***/
// FORCE_AMALGAMATOR_INCLUDE
@@ -466,6 +467,7 @@
#endif
#endif
+
/*** End of inlined file: juce_Config.h ***/
// FORCE_AMALGAMATOR_INCLUDE
@@ -733,6 +735,7 @@ protected:
};
#endif // __JUCE_WIN32_NATIVEINCLUDES_JUCEHEADER__
+
/*** End of inlined file: juce_win32_NativeIncludes.h ***/
@@ -853,6 +856,7 @@ protected:
#undef SIZEOF
#endif // __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__
+
/*** End of inlined file: juce_linux_NativeIncludes.h ***/
@@ -922,6 +926,7 @@ protected:
#endif
#endif // __JUCE_MAC_NATIVEINCLUDES_JUCEHEADER__
+
/*** End of inlined file: juce_mac_NativeIncludes.h ***/
@@ -952,6 +957,7 @@ protected:
#endif
#endif // __JUCE_ANDROID_NATIVEINCLUDES_JUCEHEADER__
+
/*** End of inlined file: juce_android_NativeIncludes.h ***/
@@ -1232,6 +1238,7 @@ protected:
};
#endif // __JUCE_MAC_CARBONVIEWWRAPPERCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_mac_CarbonViewWrapperComponent.h ***/
@@ -1350,6 +1357,7 @@ FileLogger* FileLogger::createDefaultAppLogger (const String& logFileSubDirector
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileLogger.cpp ***/
@@ -1396,6 +1404,7 @@ void JUCE_API juce_LogAssertion (const char* filename, const int lineNum) noexce
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Logger.cpp ***/
@@ -1510,6 +1519,7 @@ void Random::fillBitsRandomly (BigInteger& arrayToChange, int startBit, int numB
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Random.cpp ***/
@@ -1655,6 +1665,7 @@ const RelativeTime operator+ (const RelativeTime& t1, const RelativeTime& t2) n
const RelativeTime operator- (const RelativeTime& t1, const RelativeTime& t2) noexcept { RelativeTime t (t1); return t -= t2; }
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RelativeTime.cpp ***/
@@ -1693,6 +1704,18 @@ const String SystemStats::getJUCEVersion()
#undef JUCE_STRINGIFYVERSION2
}
+#if JUCE_DEBUG
+ struct JuceVersionPrinter
+ {
+ JuceVersionPrinter()
+ {
+ DBG (SystemStats::getJUCEVersion());
+ }
+ };
+
+ static JuceVersionPrinter juceVersionPrinter;
+#endif
+
#ifdef JUCE_DLL
void* juce_Malloc (int size) { return malloc (size); }
void* juce_Calloc (int size) { return calloc (1, size); }
@@ -1708,6 +1731,7 @@ const String SystemStats::getJUCEVersion()
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_SystemStats.cpp ***/
@@ -1761,6 +1785,7 @@ bool Result::failed() const noexcept { return errorMessage.isNotEmpty(); }
bool Result::operator!() const noexcept { return errorMessage.isNotEmpty(); }
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Result.cpp ***/
@@ -2223,6 +2248,7 @@ bool operator<= (const Time& time1, const Time& time2) { return time1.toMillis
bool operator>= (const Time& time1, const Time& time2) { return time1.toMilliseconds() >= time2.toMilliseconds(); }
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Time.cpp ***/
@@ -2233,28 +2259,6 @@ BEGIN_JUCE_NAMESPACE
#endif
-static bool juceInitialisedNonGUI = false;
-
-JUCE_API void JUCE_CALLTYPE initialiseJuce_NonGUI()
-{
- if (! juceInitialisedNonGUI)
- {
- juceInitialisedNonGUI = true;
-
- DBG (SystemStats::getJUCEVersion());
- }
-}
-
-JUCE_API void JUCE_CALLTYPE shutdownJuce_NonGUI()
-{
- if (juceInitialisedNonGUI)
- {
- juceInitialisedNonGUI = false;
-
- Thread::stopAllThreads (3000);
- }
-}
-
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
static bool juceInitialisedGUI = false;
@@ -2266,27 +2270,7 @@ JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI()
juceInitialisedGUI = true;
JUCE_AUTORELEASEPOOL
- initialiseJuce_NonGUI();
-
MessageManager::getInstance();
- LookAndFeel::setDefaultLookAndFeel (nullptr);
-
- #if JUCE_DEBUG
- try // This section is just a safety-net for catching builds without RTTI enabled..
- {
- MemoryOutputStream mo;
- OutputStream* o = &mo;
-
- // Got an exception here? Then TURN ON RTTI in your compiler settings!!
- o = dynamic_cast (o);
- jassert (o != nullptr);
- }
- catch (...)
- {
- // Ended up here? If so, TURN ON RTTI in your compiler settings!!
- jassertfalse;
- }
- #endif
}
}
@@ -2298,10 +2282,7 @@ JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI()
JUCE_AUTORELEASEPOOL
DeletedAtShutdown::deleteAll();
- LookAndFeel::clearDefaultLookAndFeel();
delete MessageManager::getInstance();
-
- shutdownJuce_NonGUI();
}
}
@@ -2412,6 +2393,7 @@ static AtomicTests atomicUnitTests;
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Initialisation.cpp ***/
@@ -2623,6 +2605,7 @@ static AbstractFifoTests fifoUnitTests;
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AbstractFifo.cpp ***/
@@ -3599,6 +3582,7 @@ void BigInteger::loadFromMemoryBlock (const MemoryBlock& data)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_BigInteger.cpp ***/
@@ -3951,6 +3935,7 @@ bool MemoryBlock::fromBase64Encoding (const String& s)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MemoryBlock.cpp ***/
@@ -4145,6 +4130,7 @@ void PropertySet::propertyChanged()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PropertySet.cpp ***/
@@ -4194,6 +4180,7 @@ Identifier::~Identifier()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Identifier.cpp ***/
@@ -4652,6 +4639,7 @@ const var var::call (const Identifier& method, const var& arg1, const var& arg2,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Variant.cpp ***/
@@ -4850,6 +4838,7 @@ void NamedValueSet::copyToXmlAttributes (XmlElement& xml) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_NamedValueSet.cpp ***/
@@ -4909,6 +4898,7 @@ void DynamicObject::clear()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DynamicObject.cpp ***/
@@ -6029,6 +6019,7 @@ const String Expression::Scope::getScopeUID() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Expression.cpp ***/
@@ -6286,6 +6277,7 @@ void BlowFish::decrypt (uint32& data1, uint32& data2) const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_BlowFish.cpp ***/
@@ -6563,6 +6555,7 @@ bool MD5::operator!= (const MD5& other) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MD5.cpp ***/
@@ -6784,6 +6777,7 @@ bool Primes::isProbablyPrime (const BigInteger& number, const int certainty)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Primes.cpp ***/
@@ -6898,6 +6892,7 @@ void RSAKey::createKeyPair (RSAKey& publicKey, RSAKey& privateKey,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RSAKey.cpp ***/
@@ -7103,6 +7098,7 @@ void InputStream::skipNextBytes (int64 numBytesToSkip)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_InputStream.cpp ***/
@@ -7391,6 +7387,7 @@ OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const NewLine&)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_OutputStream.cpp ***/
@@ -7511,6 +7508,7 @@ float DirectoryIterator::getEstimatedProgress() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DirectoryIterator.cpp ***/
@@ -8501,6 +8499,7 @@ static FileTests fileUnitTests;
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_File.cpp ***/
@@ -8567,6 +8566,7 @@ bool FileInputStream::setPosition (int64 pos)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileInputStream.cpp ***/
@@ -8662,6 +8662,7 @@ bool FileOutputStream::write (const void* const src, const int numBytes)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileOutputStream.cpp ***/
@@ -8813,6 +8814,7 @@ bool FileSearchPath::isFileInPath (const File& fileToCheck,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileSearchPath.cpp ***/
@@ -8854,6 +8856,7 @@ const String NamedPipe::getName() const
// other methods for this class are implemented in the platform-specific files
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_NamedPipe.cpp ***/
@@ -8947,6 +8950,7 @@ bool TemporaryFile::deleteTemporaryFile() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TemporaryFile.cpp ***/
@@ -9522,6 +9526,7 @@ bool DatagramSocket::isLocal() const noexcept
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Socket.cpp ***/
@@ -9940,6 +9945,7 @@ bool URL::launchInDefaultBrowser() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_URL.cpp ***/
@@ -9999,6 +10005,7 @@ bool MACAddress::operator== (const MACAddress& other) const noexcept { return as
bool MACAddress::operator!= (const MACAddress& other) const noexcept { return asInt64 != other.asInt64; }
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MACAddress.cpp ***/
@@ -10174,6 +10181,7 @@ const String BufferedInputStream::readString()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_BufferedInputStream.cpp ***/
@@ -10210,6 +10218,7 @@ int64 FileInputSource::hashCode() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileInputSource.cpp ***/
@@ -10341,6 +10350,7 @@ static MemoryStreamTests memoryInputStreamUnitTests;
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MemoryInputStream.cpp ***/
@@ -10463,6 +10473,7 @@ OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const MemoryOutput
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MemoryOutputStream.cpp ***/
@@ -10528,6 +10539,7 @@ bool SubregionStream::isExhausted()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_SubregionStream.cpp ***/
@@ -10603,6 +10615,7 @@ void PerformanceCounter::printStatistics()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PerformanceCounter.cpp ***/
@@ -10711,6 +10724,7 @@ Uuid& Uuid::operator= (const uint8* const rawData)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Uuid.cpp ***/
@@ -11248,6 +11262,7 @@ bool ZipFile::Builder::writeToStream (OutputStream& target) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ZipFile.cpp ***/
@@ -11386,6 +11401,7 @@ double CharacterFunctions::mulexp10 (const double value, int exponent) noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_CharacterFunctions.cpp ***/
@@ -11533,6 +11549,7 @@ const String LocalisedStrings::translateWithCurrentMappings (const char* text)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_LocalisedStrings.cpp ***/
@@ -13905,6 +13922,7 @@ static StringTests stringUnitTests;
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_String.cpp ***/
@@ -14352,6 +14370,7 @@ void StringArray::minimiseStorageOverheads()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_StringArray.cpp ***/
@@ -14474,6 +14493,7 @@ void StringPairArray::minimiseStorageOverheads()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_StringPairArray.cpp ***/
@@ -14565,6 +14585,7 @@ const String::CharPointerType StringPool::operator[] (const int index) const noe
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_StringPool.cpp ***/
@@ -15393,6 +15414,7 @@ const String XmlDocument::getParameterEntity (const String& entity)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_XmlDocument.cpp ***/
@@ -16210,6 +16232,7 @@ void XmlElement::deleteAllTextElements() noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_XmlElement.cpp ***/
@@ -16351,6 +16374,7 @@ void ReadWriteLock::exitWrite() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ReadWriteLock.cpp ***/
@@ -16364,6 +16388,13 @@ public:
{
}
+ ~RunningThreadsList()
+ {
+ // Some threads are still running! Make sure you stop all your
+ // threads cleanly before your app quits!
+ jassert (threads.size() == 0);
+ }
+
void add (Thread* const thread)
{
const SpinLock::ScopedLockType sl (lock);
@@ -16645,6 +16676,7 @@ void SpinLock::enter() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Thread.cpp ***/
@@ -17027,6 +17059,7 @@ bool ThreadPool::runNextJob()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ThreadPool.cpp ***/
@@ -17166,6 +17199,7 @@ void TimeSliceThread::run()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TimeSliceThread.cpp ***/
#endif
@@ -18080,6 +18114,7 @@ ValueTree ValueTree::readFromData (const void* const data, const size_t numBytes
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ValueTree.cpp ***/
@@ -18273,6 +18308,7 @@ OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const Value& value
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Value.cpp ***/
@@ -18516,6 +18552,7 @@ int JUCEApplication::main (int argc, const char* argv[])
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Application.cpp ***/
@@ -18561,6 +18598,7 @@ void ApplicationCommandInfo::addDefaultKeypress (const int keyCode, const Modifi
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ApplicationCommandInfo.cpp ***/
@@ -18850,6 +18888,7 @@ void ApplicationCommandManager::globalFocusChanged (Component*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ApplicationCommandManager.cpp ***/
@@ -19017,6 +19056,7 @@ void ApplicationCommandTarget::CommandTargetMessageInvoker::handleMessage (const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ApplicationCommandTarget.cpp ***/
@@ -19145,6 +19185,7 @@ void ApplicationProperties::closeFiles()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ApplicationProperties.cpp ***/
@@ -19448,6 +19489,7 @@ PropertiesFile* PropertiesFile::createDefaultAppPropertiesFile (const String& ap
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PropertiesFile.cpp ***/
@@ -19708,6 +19750,7 @@ FileBasedDocument::SaveResult FileBasedDocument::saveAsInteractive (const bool w
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileBasedDocument.cpp ***/
@@ -19820,6 +19863,7 @@ void RecentlyOpenedFilesList::restoreFromString (const String& stringifiedVersio
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RecentlyOpenedFilesList.cpp ***/
@@ -20073,6 +20117,7 @@ int UndoManager::getNumActionsInCurrentTransaction() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_UndoManager.cpp ***/
@@ -20267,6 +20312,7 @@ void UnitTestRunner::addFail (const String& failureMessage)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_UnitTest.cpp ***/
@@ -20330,6 +20376,7 @@ Array & DeletedAtShutdown::getObjects()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DeletedAtShutdown.cpp ***/
@@ -21030,6 +21077,7 @@ AudioFormatWriter* AiffAudioFormat::createWriterFor (OutputStream* out,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AiffAudioFormat.cpp ***/
@@ -21061,6 +21109,7 @@ bool AudioFormat::isCompressed() { return false; }
const StringArray AudioFormat::getQualityOptions() { return StringArray(); }
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioFormat.cpp ***/
@@ -21371,6 +21420,7 @@ int64 AudioFormatReader::searchForLevel (int64 startSample,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioFormatReader.cpp ***/
@@ -21644,6 +21694,7 @@ void AudioFormatWriter::ThreadedWriter::setThumbnailToUpdate (AudioThumbnail* th
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioFormatWriter.cpp ***/
@@ -21824,6 +21875,7 @@ AudioFormatReader* AudioFormatManager::createReaderFor (InputStream* audioFileSt
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioFormatManager.cpp ***/
@@ -21892,6 +21944,7 @@ void AudioSubsectionReader::readMaxLevels (int64 startSampleInFile,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioSubsectionReader.cpp ***/
@@ -22642,6 +22695,7 @@ void AudioThumbnail::drawChannels (Graphics& g, const Rectangle& area, doub
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioThumbnail.cpp ***/
@@ -22737,6 +22791,7 @@ void AudioThumbnailCache::clear()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioThumbnailCache.cpp ***/
@@ -23092,6 +23147,7 @@ AudioFormatWriter* QuickTimeAudioFormat::createWriterFor (OutputStream* /*stream
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_QuickTimeAudioFormat.cpp ***/
@@ -24161,6 +24217,7 @@ bool WavAudioFormat::replaceMetadataInFile (const File& wavFile, const StringPai
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_WavAudioFormat.cpp ***/
@@ -24202,6 +24259,7 @@ int AudioCDReader::getCDDBId()
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_AudioCDReader.cpp ***/
@@ -24308,6 +24366,7 @@ void AudioFormatReaderSource::getNextAudioBlock (const AudioSourceChannelInfo& i
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioFormatReaderSource.cpp ***/
@@ -24473,6 +24532,7 @@ void AudioSourcePlayer::audioDeviceStopped()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioSourcePlayer.cpp ***/
@@ -24745,6 +24805,7 @@ void AudioTransportSource::getNextAudioBlock (const AudioSourceChannelInfo& info
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioTransportSource.cpp ***/
@@ -25074,6 +25135,7 @@ void BufferingAudioSource::readBufferSection (const int64 start, const int lengt
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_BufferingAudioSource.cpp ***/
@@ -25249,6 +25311,7 @@ void ChannelRemappingAudioSource::restoreFromXml (const XmlElement& e)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ChannelRemappingAudioSource.cpp ***/
@@ -25307,6 +25370,7 @@ void IIRFilterAudioSource::getNextAudioBlock (const AudioSourceChannelInfo& buff
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_IIRFilterAudioSource.cpp ***/
@@ -25449,6 +25513,7 @@ void MixerAudioSource::getNextAudioBlock (const AudioSourceChannelInfo& info)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MixerAudioSource.cpp ***/
@@ -25695,6 +25760,7 @@ void ResamplingAudioSource::applyFilter (float* samples, int num, FilterState& f
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ResamplingAudioSource.cpp ***/
@@ -25753,6 +25819,7 @@ void ToneGeneratorAudioSource::getNextAudioBlock (const AudioSourceChannelInfo&
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ToneGeneratorAudioSource.cpp ***/
@@ -26643,6 +26710,7 @@ double AudioDeviceManager::getCurrentInputLevel() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioDeviceManager.cpp ***/
@@ -26672,6 +26740,7 @@ bool AudioIODevice::showControlPanel()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioIODevice.cpp ***/
@@ -26720,6 +26789,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_Android() { retur
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioIODeviceType.cpp ***/
@@ -27297,6 +27367,7 @@ static AudioConversionTests audioConversionUnitTests;
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioDataConverters.cpp ***/
@@ -27895,6 +27966,7 @@ void AudioSampleBuffer::writeToAudioWriter (AudioFormatWriter* writer,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioSampleBuffer.cpp ***/
@@ -28123,6 +28195,7 @@ void IIRFilter::setCoefficients (double c1, double c2, double c3,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_IIRFilter.cpp ***/
@@ -28265,6 +28338,7 @@ void MidiOutput::run()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiOutput.cpp ***/
@@ -28535,6 +28609,7 @@ bool MidiBuffer::Iterator::getNextEvent (MidiMessage& result, int& samplePositio
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiBuffer.cpp ***/
@@ -28949,6 +29024,7 @@ void MidiFile::writeTrack (OutputStream& mainOut, const int trackNum)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiFile.cpp ***/
@@ -29114,6 +29190,7 @@ void MidiKeyboardState::removeListener (MidiKeyboardStateListener* const listene
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiKeyboardState.cpp ***/
@@ -30177,6 +30254,7 @@ const String MidiMessage::getControllerName (const int n)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiMessage.cpp ***/
@@ -30311,6 +30389,7 @@ void MidiMessageCollector::handleIncomingMidiMessage (MidiInput*, const MidiMess
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiMessageCollector.cpp ***/
@@ -30625,6 +30704,7 @@ MidiMessageSequence::MidiEventHolder::~MidiEventHolder()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiMessageSequence.cpp ***/
@@ -30640,6 +30720,7 @@ AudioPluginFormat::~AudioPluginFormat()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioPluginFormat.cpp ***/
@@ -30747,6 +30828,7 @@ bool AudioPluginFormatManager::doesPluginStillExist (const PluginDescription& de
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioPluginFormatManager.cpp ***/
@@ -30769,6 +30851,7 @@ void* AudioPluginInstance::getPlatformSpecificData()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioPluginInstance.cpp ***/
@@ -31193,6 +31276,7 @@ int KnownPluginList::getIndexChosenByMenu (const int menuResultCode) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_KnownPluginList.cpp ***/
@@ -31304,6 +31388,7 @@ bool PluginDescription::loadFromXml (const XmlElement& xml)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PluginDescription.cpp ***/
@@ -31407,6 +31492,7 @@ void PluginDirectoryScanner::setDeadMansPedalFile (const StringArray& newContent
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PluginDirectoryScanner.cpp ***/
@@ -31700,6 +31786,7 @@ void PluginListComponent::scanFor (AudioPluginFormat* format)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PluginListComponent.cpp ***/
@@ -33206,6 +33293,7 @@ END_JUCE_NAMESPACE
#undef log
#endif
+
/*** End of inlined file: juce_AudioUnitPluginFormat.mm ***/
@@ -33434,6 +33522,7 @@ private:
#endif // __JUCE_VSTMIDIEVENTLIST_JUCEHEADER__
#endif // __JUCE_VSTMIDIEVENTLIST_JUCEHEADER__
+
/*** End of inlined file: juce_VSTMidiEventList.h ***/
#if ! JUCE_WINDOWS
@@ -36210,6 +36299,7 @@ END_JUCE_NAMESPACE
#undef log
#endif
+
/*** End of inlined file: juce_VSTPluginFormat.cpp ***/
@@ -36503,6 +36593,7 @@ void AudioPlayHead::CurrentPositionInfo::resetToDefault()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioProcessor.cpp ***/
@@ -36524,6 +36615,7 @@ AudioProcessorEditor::~AudioProcessorEditor()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioProcessorEditor.cpp ***/
@@ -37997,6 +38089,7 @@ void AudioProcessorGraph::AudioGraphIOProcessor::setParentGraph (AudioProcessorG
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioProcessorGraph.cpp ***/
@@ -38159,6 +38252,7 @@ void AudioProcessorPlayer::handleIncomingMidiMessage (MidiInput*, const MidiMess
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioProcessorPlayer.cpp ***/
@@ -38302,6 +38396,7 @@ void GenericAudioProcessorEditor::resized()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_GenericAudioProcessorEditor.cpp ***/
@@ -38516,6 +38611,7 @@ void SamplerVoice::renderNextBlock (AudioSampleBuffer& outputBuffer, int startSa
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Sampler.cpp ***/
@@ -38848,6 +38944,7 @@ SynthesiserVoice* Synthesiser::findFreeVoice (SynthesiserSound* soundToPlay,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Synthesiser.cpp ***/
@@ -38924,6 +39021,7 @@ void ActionBroadcaster::sendActionMessage (const String& message) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ActionBroadcaster.cpp ***/
@@ -38997,6 +39095,7 @@ bool AsyncUpdater::isUpdatePending() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AsyncUpdater.cpp ***/
@@ -39081,6 +39180,7 @@ void ChangeBroadcaster::ChangeBroadcasterCallback::handleAsyncUpdate()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ChangeBroadcaster.cpp ***/
@@ -39415,6 +39515,7 @@ void InterprocessConnection::run()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_InterprocessConnection.cpp ***/
@@ -39475,6 +39576,7 @@ void InterprocessConnectionServer::run()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_InterprocessConnectionServer.cpp ***/
@@ -39507,6 +39609,7 @@ Message::~Message()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Message.cpp ***/
@@ -39545,6 +39648,7 @@ bool MessageListener::isValidMessageListener() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MessageListener.cpp ***/
@@ -39823,6 +39927,7 @@ MessageManagerLock::~MessageManagerLock() noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MessageManager.cpp ***/
@@ -39925,6 +40030,7 @@ int MultiTimer::getTimerInterval (const int timerId) const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MultiTimer.cpp ***/
@@ -40291,6 +40397,7 @@ void Timer::stopTimer() noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Timer.cpp ***/
#endif
@@ -40667,9 +40774,9 @@ Component::Component (const String& name)
Component::~Component()
{
- #if ! JUCE_VC6 // (access to private union not allowed in VC6)
+ #if ! JUCE_VC6 // (access to private union not allowed in VC6)
static_jassert (sizeof (flags) <= sizeof (componentFlags));
- #endif
+ #endif
componentListeners.call (&ComponentListener::componentBeingDeleted, *this);
@@ -43243,6 +43350,7 @@ bool Component::BailOutChecker::shouldBailOut() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Component.cpp ***/
@@ -43259,6 +43367,7 @@ void ComponentListener::componentNameChanged (Component&) {}
void ComponentListener::componentBeingDeleted (Component&) {}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComponentListener.cpp ***/
@@ -43394,6 +43503,32 @@ Component* Desktop::findComponentAt (const Point& screenPosition) const
return nullptr;
}
+LookAndFeel& Desktop::getDefaultLookAndFeel() noexcept
+{
+ if (currentLookAndFeel == nullptr)
+ {
+ if (defaultLookAndFeel == nullptr)
+ defaultLookAndFeel = new LookAndFeel();
+
+ currentLookAndFeel = defaultLookAndFeel;
+ }
+
+ return *currentLookAndFeel;
+}
+
+void Desktop::setDefaultLookAndFeel (LookAndFeel* newDefaultLookAndFeel)
+{
+ currentLookAndFeel = newDefaultLookAndFeel;
+
+ for (int i = getNumComponents(); --i >= 0;)
+ {
+ Component* const c = getComponent (i);
+
+ if (c != nullptr)
+ c->sendLookAndFeelChange();
+ }
+}
+
void Desktop::addDesktopComponent (Component* const c)
{
jassert (c != nullptr);
@@ -43645,6 +43780,7 @@ bool Desktop::isOrientationEnabled (const DisplayOrientation orientation) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Desktop.cpp ***/
@@ -43903,6 +44039,7 @@ int ModalComponentManager::runEventLoopForCurrentComponent()
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ModalComponentManager.cpp ***/
@@ -43952,6 +44089,7 @@ void ArrowButton::buttonStateChanged()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ArrowButton.cpp ***/
@@ -44589,6 +44727,7 @@ Button::RepeatTimer& Button::getRepeatTimer()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Button.cpp ***/
@@ -44853,6 +44992,7 @@ Drawable* DrawableButton::getDownImage() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DrawableButton.cpp ***/
@@ -44938,6 +45078,7 @@ void HyperlinkButton::paintButton (Graphics& g,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_HyperlinkButton.cpp ***/
@@ -45111,6 +45252,7 @@ bool ImageButton::hitTest (int x, int y)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ImageButton.cpp ***/
@@ -45212,6 +45354,7 @@ void ShapeButton::paintButton (Graphics& g, bool isMouseOverButton, bool isButto
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ShapeButton.cpp ***/
@@ -45264,6 +45407,7 @@ void TextButton::changeWidthToFitText (const int newHeight)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TextButton.cpp ***/
@@ -45300,6 +45444,7 @@ void ToggleButton::colourChanged()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ToggleButton.cpp ***/
@@ -45378,6 +45523,7 @@ void ToolbarButton::buttonStateChanged()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ToolbarButton.cpp ***/
@@ -46318,6 +46464,7 @@ void CodeDocument::remove (const int startPos, const int endPos, const bool undo
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_CodeDocument.cpp ***/
@@ -47539,6 +47686,7 @@ void CodeEditorComponent::getIteratorForPosition (int position, CodeDocument::It
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_CodeEditorComponent.cpp ***/
@@ -48129,6 +48277,7 @@ bool CPlusPlusCodeTokeniser::isReservedKeyword (const String& token) noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_CPlusPlusCodeTokeniser.cpp ***/
@@ -48692,6 +48841,7 @@ void ComboBox::handleAsyncUpdate()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComboBox.cpp ***/
@@ -48753,6 +48903,7 @@ void ImageComponent::paint (Graphics& g)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ImageComponent.cpp ***/
@@ -49191,6 +49342,7 @@ void Label::textEditorFocusLost (TextEditor& ed)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Label.cpp ***/
@@ -50108,6 +50260,7 @@ const var ListBoxModel::getDragSourceDescription (const SparseSet&) { retur
const String ListBoxModel::getTooltipForRow (int) { return String::empty; }
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ListBox.cpp ***/
@@ -50202,6 +50355,7 @@ void ProgressBar::timerCallback()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ProgressBar.cpp ***/
@@ -51610,6 +51764,7 @@ void SliderListener::sliderDragEnded (Slider*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Slider.cpp ***/
@@ -52508,6 +52663,7 @@ void TableHeaderComponent::Listener::tableColumnDraggingChanged (TableHeaderComp
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TableHeaderComponent.cpp ***/
@@ -52973,6 +53129,7 @@ Component* TableListBoxModel::refreshComponentForCell (int, int, bool, Component
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TableListBox.cpp ***/
@@ -55528,6 +55685,7 @@ void TextEditor::Listener::textEditorEscapeKeyPressed (TextEditor&) {}
void TextEditor::Listener::textEditorFocusLost (TextEditor&) {}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TextEditor.cpp ***/
@@ -56330,6 +56488,7 @@ void Toolbar::showCustomisationDialog (ToolbarItemFactory& factory, const int op
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Toolbar.cpp ***/
@@ -56553,6 +56712,7 @@ void ToolbarItemComponent::setEditingMode (const ToolbarEditingMode newMode)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ToolbarItemComponent.cpp ***/
@@ -56643,6 +56803,7 @@ void ToolbarItemPalette::resized()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ToolbarItemPalette.cpp ***/
@@ -58416,6 +58577,7 @@ TreeViewItem::OpennessRestorer::~OpennessRestorer()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TreeView.cpp ***/
@@ -58470,6 +58632,7 @@ void DirectoryContentsDisplayComponent::sendDoubleClickMessage (const File& file
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DirectoryContentsDisplayComponent.cpp ***/
@@ -58702,6 +58865,7 @@ bool DirectoryContentsList::addFile (const File& file,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DirectoryContentsList.cpp ***/
@@ -59214,6 +59378,7 @@ void FileBrowserComponent::getRoots (StringArray& rootNames, StringArray& rootPa
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileBrowserComponent.cpp ***/
@@ -59363,6 +59528,7 @@ FilePreviewComponent::~FilePreviewComponent()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileChooser.cpp ***/
@@ -59619,6 +59785,7 @@ void FileChooserDialogBox::createNewFolderConfirmed (const String& nameFromDialo
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileChooserDialogBox.cpp ***/
@@ -59640,6 +59807,7 @@ const String& FileFilter::getDescription() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileFilter.cpp ***/
@@ -59865,6 +60033,7 @@ void FileListComponent::returnKeyPressed (int currentSelectedRow)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileListComponent.cpp ***/
@@ -60090,6 +60259,7 @@ void FilenameComponent::handleAsyncUpdate()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FilenameComponent.cpp ***/
@@ -60336,6 +60506,7 @@ void FileSearchPathListComponent::buttonClicked (Button* button)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileSearchPathListComponent.cpp ***/
@@ -60570,6 +60741,7 @@ void FileTreeComponent::setDragAndDropDescription (const String& description)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FileTreeComponent.cpp ***/
@@ -60669,6 +60841,7 @@ void ImagePreviewComponent::paint (Graphics& g)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ImagePreviewComponent.cpp ***/
@@ -60725,6 +60898,7 @@ bool WildcardFileFilter::match (const File& file, const StringArray& wildcards)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_WildcardFileFilter.cpp ***/
@@ -60847,6 +61021,7 @@ Component* KeyboardFocusTraverser::getDefaultComponent (Component* parentCompone
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_KeyboardFocusTraverser.cpp ***/
@@ -60859,6 +61034,7 @@ bool KeyListener::keyStateChanged (const bool, Component*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_KeyListener.cpp ***/
@@ -61322,6 +61498,7 @@ const String KeyMappingEditorComponent::getDescriptionForKeyPress (const KeyPres
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_KeyMappingEditorComponent.cpp ***/
@@ -61572,6 +61749,7 @@ const String KeyPress::getTextDescriptionWithIcons() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_KeyPress.cpp ***/
@@ -61968,6 +62146,7 @@ void KeyPressMappingSet::globalFocusChanged (Component* focusedComponent)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_KeyPressMappingSet.cpp ***/
@@ -62009,6 +62188,7 @@ int ModifierKeys::getNumMouseButtonsDown() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ModifierKeys.cpp ***/
@@ -62050,6 +62230,7 @@ bool CaretComponent::shouldBeShown() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_CaretComponent.cpp ***/
@@ -62364,6 +62545,7 @@ void ComponentAnimator::timerCallback()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComponentAnimator.cpp ***/
@@ -62626,6 +62808,7 @@ void ComponentBuilder::updateChildComponents (Component& parent, const ValueTree
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComponentBuilder.cpp ***/
@@ -62936,6 +63119,7 @@ void ComponentBoundsConstrainer::checkBounds (Rectangle& bounds,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComponentBoundsConstrainer.cpp ***/
@@ -63054,6 +63238,7 @@ void ComponentMovementWatcher::unregister()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComponentMovementWatcher.cpp ***/
@@ -63115,6 +63300,7 @@ void GroupComponent::colourChanged()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_GroupComponent.cpp ***/
@@ -63622,6 +63808,7 @@ void MultiDocumentPanel::updateOrder()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MultiDocumentPanel.cpp ***/
@@ -63803,6 +63990,7 @@ void ResizableBorderComponent::updateMouseZone (const MouseEvent& e)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ResizableBorderComponent.cpp ***/
@@ -63887,6 +64075,7 @@ bool ResizableCornerComponent::hitTest (int x, int y)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ResizableCornerComponent.cpp ***/
@@ -63979,6 +64168,7 @@ void ResizableEdgeComponent::mouseUp (const MouseEvent&)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ResizableEdgeComponent.cpp ***/
@@ -64391,6 +64581,7 @@ bool ScrollBar::keyPressed (const KeyPress& key)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ScrollBar.cpp ***/
@@ -64727,6 +64918,7 @@ int StretchableLayoutManager::sizeToRealSize (double size, int totalSpace)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_StretchableLayoutManager.cpp ***/
@@ -64782,6 +64974,7 @@ void StretchableLayoutResizerBar::hasBeenMoved()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_StretchableLayoutResizerBar.cpp ***/
@@ -64886,6 +65079,7 @@ void StretchableObjectResizer::resizeToFit (const double targetSize)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_StretchableObjectResizer.cpp ***/
@@ -65357,6 +65551,7 @@ void TabbedButtonBar::popupMenuClickOnTab (const int, const String&)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TabbedButtonBar.cpp ***/
@@ -65641,6 +65836,7 @@ void TabbedComponent::currentTabChanged (const int, const String&) {}
void TabbedComponent::popupMenuClickOnTab (const int, const String&) {}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TabbedComponent.cpp ***/
@@ -66019,6 +66215,7 @@ bool Viewport::keyPressed (const KeyPress& key)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Viewport.cpp ***/
@@ -66106,9 +66303,6 @@ namespace LookAndFeelHelpers
return tl;
}
-
- LookAndFeel* defaultLF = nullptr;
- LookAndFeel* currentDefaultLF = nullptr;
}
LookAndFeel::LookAndFeel()
@@ -66262,8 +66456,12 @@ LookAndFeel::LookAndFeel()
LookAndFeel::~LookAndFeel()
{
- if (this == LookAndFeelHelpers::currentDefaultLF)
- setDefaultLookAndFeel (nullptr);
+ weakReferenceMaster.clear();
+}
+
+const WeakReference::SharedRef& LookAndFeel::getWeakReference()
+{
+ return weakReferenceMaster (this);
}
const Colour LookAndFeel::findColour (const int colourId) const noexcept
@@ -66299,45 +66497,12 @@ bool LookAndFeel::isColourSpecified (const int colourId) const noexcept
LookAndFeel& LookAndFeel::getDefaultLookAndFeel() noexcept
{
- // if this happens, your app hasn't initialised itself properly.. if you're
- // trying to hack your own main() function, have a look at
- // JUCEApplication::initialiseForGUI()
- jassert (LookAndFeelHelpers::currentDefaultLF != nullptr);
-
- return *LookAndFeelHelpers::currentDefaultLF;
+ return Desktop::getInstance().getDefaultLookAndFeel();
}
void LookAndFeel::setDefaultLookAndFeel (LookAndFeel* newDefaultLookAndFeel) noexcept
{
- using namespace LookAndFeelHelpers;
-
- if (newDefaultLookAndFeel == nullptr)
- {
- if (defaultLF == nullptr)
- defaultLF = new LookAndFeel();
-
- newDefaultLookAndFeel = defaultLF;
- }
-
- LookAndFeelHelpers::currentDefaultLF = newDefaultLookAndFeel;
-
- for (int i = Desktop::getInstance().getNumComponents(); --i >= 0;)
- {
- Component* const c = Desktop::getInstance().getComponent (i);
-
- if (c != nullptr)
- c->sendLookAndFeelChange();
- }
-}
-
-void LookAndFeel::clearDefaultLookAndFeel() noexcept
-{
- using namespace LookAndFeelHelpers;
-
- if (currentDefaultLF == defaultLF)
- currentDefaultLF = nullptr;
-
- deleteAndZero (defaultLF);
+ Desktop::getInstance().setDefaultLookAndFeel (newDefaultLookAndFeel);
}
const Typeface::Ptr LookAndFeel::getTypefaceForFont (const Font& font)
@@ -69052,6 +69217,7 @@ void LookAndFeel::drawGlassLozenge (Graphics& g,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_LookAndFeel.cpp ***/
@@ -69619,6 +69785,7 @@ void OldSchoolLookAndFeel::positionDocumentWindowButtons (DocumentWindow&,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_OldSchoolLookAndFeel.cpp ***/
@@ -69947,6 +70114,7 @@ void MenuBarComponent::timerCallback()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MenuBarComponent.cpp ***/
@@ -70013,6 +70181,7 @@ void MenuBarModel::applicationCommandListChanged()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MenuBarModel.cpp ***/
@@ -71691,6 +71860,7 @@ bool PopupMenu::MenuItemIterator::next()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PopupMenu.cpp ***/
@@ -71740,6 +71910,7 @@ void ComponentDragger::dragComponent (Component* const componentToDrag, const Mo
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComponentDragger.cpp ***/
@@ -72163,6 +72334,7 @@ void FileDragAndDropTarget::fileDragMove (const StringArray&, int, int) {}
void FileDragAndDropTarget::fileDragExit (const StringArray&) {}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DragAndDropContainer.cpp ***/
@@ -72315,6 +72487,7 @@ void MouseCursor::hideWaitCursor()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MouseCursor.cpp ***/
@@ -72466,6 +72639,7 @@ int MouseEvent::getDoubleClickTimeout() noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MouseEvent.cpp ***/
@@ -72959,6 +73133,7 @@ void MouseInputSource::handleWheel (ComponentPeer* const peer, const Point&
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MouseInputSource.cpp ***/
@@ -72998,6 +73173,7 @@ void MouseListener::mouseWheelMove (const MouseEvent&, float, float)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MouseListener.cpp ***/
@@ -73067,6 +73243,7 @@ void BooleanPropertyComponent::buttonClicked (Button*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_BooleanPropertyComponent.cpp ***/
@@ -73097,6 +73274,7 @@ void ButtonPropertyComponent::buttonClicked (Button*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ButtonPropertyComponent.cpp ***/
@@ -73226,6 +73404,7 @@ void ChoicePropertyComponent::comboBoxChanged (ComboBox*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ChoicePropertyComponent.cpp ***/
@@ -73262,6 +73441,7 @@ void PropertyComponent::enablementChanged()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PropertyComponent.cpp ***/
@@ -73634,6 +73814,7 @@ const String& PropertyPanel::getMessageWhenEmpty() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PropertyPanel.cpp ***/
@@ -73698,6 +73879,7 @@ void SliderPropertyComponent::sliderValueChanged (Slider*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_SliderPropertyComponent.cpp ***/
@@ -73803,6 +73985,7 @@ void TextPropertyComponent::textWasEdited()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TextPropertyComponent.cpp ***/
@@ -74882,6 +75065,7 @@ void AudioDeviceSelectorComponent::changeListenerCallback (ChangeBroadcaster*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AudioDeviceSelectorComponent.cpp ***/
@@ -75052,6 +75236,7 @@ void BubbleComponent::setPosition (const Rectangle& rectangleToPointTo)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_BubbleComponent.cpp ***/
@@ -75157,6 +75342,7 @@ void BubbleMessageComponent::timerCallback()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_BubbleMessageComponent.cpp ***/
@@ -75709,6 +75895,7 @@ void ColourSelector::setSwatchColour (const int, const Colour&) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ColourSelector.cpp ***/
@@ -75925,21 +76112,37 @@ void DropShadower::updateShadows()
if (shadowWindows.size() >= 4)
{
- for (int i = shadowWindows.size(); --i >= 0;)
- {
- shadowWindows.getUnchecked(i)->setAlwaysOnTop (owner->isAlwaysOnTop());
- shadowWindows.getUnchecked(i)->setVisible (isOwnerVisible);
- }
-
const int x = owner->getX();
const int y = owner->getY() - shadowEdge;
const int w = owner->getWidth();
const int h = owner->getHeight() + shadowEdge + shadowEdge;
- shadowWindows.getUnchecked(0)->setBounds (x - shadowEdge, y, shadowEdge, h);
- shadowWindows.getUnchecked(1)->setBounds (x + w, y, shadowEdge, h);
- shadowWindows.getUnchecked(2)->setBounds (x, y, w, shadowEdge);
- shadowWindows.getUnchecked(3)->setBounds (x, owner->getBottom(), w, shadowEdge);
+ for (int i = shadowWindows.size(); --i >= 0;)
+ {
+ // there seem to be rare situations where the dropshadower may be deleted by
+ // callbacks during this loop, so use a weak ref to watch out for this..
+ WeakReference sw (shadowWindows[i]);
+
+ if (sw == nullptr)
+ return;
+
+ sw->setAlwaysOnTop (owner->isAlwaysOnTop());
+
+ if (sw == nullptr)
+ return;
+
+ switch (i)
+ {
+ case 0: sw->setBounds (x - shadowEdge, y, shadowEdge, h); break;
+ case 1: sw->setBounds (x + w, y, shadowEdge, h); break;
+ case 2: sw->setBounds (x, y, w, shadowEdge); break;
+ case 3: sw->setBounds (x, owner->getBottom(), w, shadowEdge); break;
+ default: break;
+ }
+
+ if (sw == nullptr)
+ return;
+ }
}
}
@@ -75970,6 +76173,7 @@ void DropShadower::bringShadowWindowsToFront()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DropShadower.cpp ***/
@@ -76806,6 +77010,7 @@ void MidiKeyboardComponent::focusLost (FocusChangeType)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MidiKeyboardComponent.cpp ***/
@@ -76905,8 +77110,7 @@ OpenGLContext* OpenGLContext::getCurrentContext()
return nullptr;
}
-class OpenGLComponent::OpenGLComponentRenderThread : public Thread,
- public AsyncUpdater
+class OpenGLComponent::OpenGLComponentRenderThread : public Thread
{
public:
@@ -76918,24 +77122,18 @@ public:
void run()
{
- // Context will get created and callback triggered on first render
- while (owner.renderAndSwapBuffers() && ! threadShouldExit())
- owner.waitAfterSwapping();
-
- owner.releaseOpenGLContext();
+ while (! threadShouldExit())
+ {
+ const uint32 startOfRendering = Time::getMillisecondCounter();
- #if JUCE_LINUX
- owner.deleteContext();
- #else
- owner.makeCurrentContextInactive();
- #endif
+ if (! owner.renderAndSwapBuffers())
+ break;
- triggerAsyncUpdate();
- }
+ const int elapsed = Time::getMillisecondCounter() - startOfRendering;
+ Thread::sleep (jmax (1, 20 - elapsed));
+ }
- void handleAsyncUpdate()
- {
- owner.stopRendering();
+ owner.stopRenderThread();
}
private:
@@ -76944,7 +77142,8 @@ private:
JUCE_DECLARE_NON_COPYABLE (OpenGLComponentRenderThread);
};
-class OpenGLComponent::OpenGLComponentWatcher : public ComponentMovementWatcher
+class OpenGLComponent::OpenGLComponentWatcher : public ComponentMovementWatcher,
+ public AsyncUpdater
{
public:
@@ -76970,6 +77169,11 @@ public:
owner->stopRendering();
}
+ void handleAsyncUpdate()
+ {
+ owner->stopRendering();
+ }
+
private:
OpenGLComponent* const owner;
@@ -77106,17 +77310,17 @@ void OpenGLComponent::paint (Graphics&)
if (! renderThread->isThreadRunning())
{
- renderThread->handleUpdateNowIfNeeded(); // may still be shutting down as well
+ componentWatcher->handleUpdateNowIfNeeded(); // may still be shutting down as well
#if ! JUCE_LINUX
- // Except for Linux, create the context etc. first
+ // Except for Linux, create the context first
const ScopedLock sl (contextLock);
if (makeCurrentContextActive()) // Make active just to create
makeCurrentContextInactive();
#endif
- renderThread->startThread (6);
+ startRenderThread();
}
// fall-through and update the masking region
@@ -77142,6 +77346,28 @@ void OpenGLComponent::paint (Graphics&)
}
}
+void OpenGLComponent::startRenderThread()
+{
+ // If this is overriden, user will provide a thread. The renderThread object will
+ // not be used
+ jassert (renderThread != nullptr);
+
+ renderThread->startThread (6);
+}
+
+void OpenGLComponent::stopRenderThread()
+{
+ releaseOpenGLContext();
+
+ #if JUCE_LINUX
+ deleteContext();
+ #else
+ makeCurrentContextInactive();
+ #endif
+
+ componentWatcher->triggerAsyncUpdate();
+}
+
bool OpenGLComponent::renderAndSwapBuffers()
{
const ScopedLock sl (contextLock);
@@ -77161,13 +77387,6 @@ bool OpenGLComponent::renderAndSwapBuffers()
return true;
}
-void OpenGLComponent::waitAfterSwapping()
-{
- jassert (renderThread != nullptr && Thread::getCurrentThread() == renderThread);
-
- Thread::sleep (20);
-}
-
void OpenGLComponent::stopRendering()
{
if (renderThread != nullptr)
@@ -77194,6 +77413,7 @@ void OpenGLComponent::internalRepaint (int x, int y, int w, int h)
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_OpenGLComponent.cpp ***/
@@ -77316,6 +77536,7 @@ void PreferencesPanel::buttonClicked (Button*)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PreferencesPanel.cpp ***/
@@ -77336,6 +77557,7 @@ SystemTrayIconComponent::~SystemTrayIconComponent()
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_SystemTrayIconComponent.cpp ***/
@@ -78054,6 +78276,7 @@ bool AlertWindow::showNativeDialogBox (const String& title,
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_AlertWindow.cpp ***/
@@ -78287,6 +78510,7 @@ void CallOutBox::refreshPath()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_CallOutBox.cpp ***/
@@ -78823,6 +79047,7 @@ void ComponentPeer::setCurrentRenderingEngine (int /*index*/)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ComponentPeer.cpp ***/
@@ -78918,6 +79143,7 @@ int DialogWindow::showModalDialog (const String& dialogTitle,
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DialogWindow.cpp ***/
@@ -79286,6 +79512,7 @@ void DocumentWindow::userTriedToCloseWindow()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_DocumentWindow.cpp ***/
@@ -79865,6 +80092,7 @@ void ResizableWindow::addAndMakeVisible (Component* const child, int zOrder)
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ResizableWindow.cpp ***/
@@ -79952,6 +80180,7 @@ void SplashScreen::timerCallback()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_SplashScreen.cpp ***/
@@ -80029,6 +80258,7 @@ void ThreadWithProgressWindow::timerCallback()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ThreadWithProgressWindow.cpp ***/
@@ -80200,6 +80430,7 @@ void TooltipWindow::timerCallback()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TooltipWindow.cpp ***/
@@ -80521,6 +80752,7 @@ TopLevelWindow* TopLevelWindow::getActiveTopLevelWindow() noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_TopLevelWindow.cpp ***/
@@ -80781,6 +81013,7 @@ void MarkerList::ValueTreeWrapper::readFrom (const MarkerList& markerList, UndoM
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_MarkerList.cpp ***/
@@ -80921,6 +81154,7 @@ const String RelativeCoordinate::toString() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RelativeCoordinate.cpp ***/
@@ -80998,6 +81232,7 @@ bool RelativePoint::isDynamic() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RelativePoint.cpp ***/
@@ -81240,6 +81475,7 @@ void RelativeRectangle::applyToComponent (Component& component) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RelativeRectangle.cpp ***/
@@ -81509,6 +81745,7 @@ RelativePointPath::ElementBase* RelativePointPath::CubicTo::clone() const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RelativePointPath.cpp ***/
@@ -81627,6 +81864,7 @@ const Rectangle RelativeParallelogram::getBoundingBox (const Point
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RelativeParallelogram.cpp ***/
@@ -81895,6 +82133,7 @@ void RelativeCoordinatePositionerBase::unregisterListeners()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_RelativeCoordinatePositioner.cpp ***/
#endif
@@ -82391,6 +82630,7 @@ const String Colour::toDisplayString (const bool includeAlphaValue) const
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Colour.cpp ***/
@@ -82594,6 +82834,7 @@ bool ColourGradient::ColourPoint::operator!= (const ColourPoint& other) const no
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_ColourGradient.cpp ***/
@@ -82897,6 +83138,7 @@ const Colour Colours::findColourForName (const String& colourName,
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Colours.cpp ***/
@@ -83622,6 +83864,7 @@ bool EdgeTable::isEmpty() noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_EdgeTable.cpp ***/
@@ -83725,6 +83968,7 @@ bool FillType::isInvisible() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_FillType.cpp ***/
@@ -84405,6 +84649,7 @@ Graphics::ScopedSaveState::~ScopedSaveState()
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Graphics.cpp ***/
@@ -84433,6 +84678,7 @@ int Justification::getOnlyHorizontalFlags() const noexcept
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_Justification.cpp ***/
@@ -84946,6 +85192,7 @@ void LowLevelGraphicsPostScriptRenderer::drawGlyph (int glyphNumber, const Affin
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_LowLevelGraphicsPostScriptRenderer.cpp ***/
@@ -87416,6 +87663,7 @@ void LowLevelGraphicsSoftwareRenderer::drawGlyph (int glyphNumber, const AffineT
#endif
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_LowLevelGraphicsSoftwareRenderer.cpp ***/
@@ -87527,6 +87775,7 @@ const AffineTransform RectanglePlacement::getTransformToFit (const Rectangle BASE) sum2 -= BASE;
return sum1 | (sum2 << 16);
}
+
/*** End of inlined file: adler32.c ***/
@@ -99985,6 +100262,7 @@ uLong ZEXPORT compressBound (uLong sourceLen)
{
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11;
}
+
/*** End of inlined file: compress.c ***/
#undef DO1
@@ -100274,6 +100552,7 @@ void zcfree OF((voidpf opaque, voidpf ptr));
#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
#endif /* ZUTIL_H */
+
/*** End of inlined file: zutil.h ***/
/* for STDC and FAR definitions */
@@ -100885,6 +101164,7 @@ local const unsigned long FAR crc_table[TBLS][256] =
#endif
}
};
+
/*** End of inlined file: crc32.h ***/
@@ -101096,6 +101376,7 @@ uLong ZEXPORT crc32_combine (uLong crc1, uLong crc2, z_off_t len2)
crc1 ^= crc2;
return crc1;
}
+
/*** End of inlined file: crc32.c ***/
@@ -101473,6 +101754,7 @@ void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
#endif
#endif /* DEFLATE_H */
+
/*** End of inlined file: deflate.h ***/
const char deflate_copyright[] =
@@ -103098,6 +103380,7 @@ local block_state deflate_rle(s, flush)
return flush == Z_FINISH ? finish_done : block_done;
}
#endif
+
/*** End of inlined file: deflate.c ***/
@@ -103159,6 +103442,7 @@ extern int inflate_table OF((codetype type, unsigned short FAR *lens,
unsigned FAR *bits, unsigned short FAR *work));
#endif
+
/*** End of inlined file: inftrees.h ***/
@@ -103278,6 +103562,7 @@ struct inflate_state {
};
#endif
+
/*** End of inlined file: inflate.h ***/
@@ -103288,6 +103573,7 @@ struct inflate_state {
*/
void inflate_fast OF((z_streamp strm, unsigned start));
+
/*** End of inlined file: inffast.h ***/
#ifndef ASMINF
@@ -103596,6 +103882,7 @@ void inflate_fast (z_streamp strm, unsigned start)
*/
#endif /* !ASMINF */
+
/*** End of inlined file: inffast.c ***/
#undef PULLBYTE
@@ -103692,6 +103979,7 @@ void inflate_fast (z_streamp strm, unsigned start)
*/
void inflate_fast OF((z_streamp strm, unsigned start));
+
/*** End of inlined file: inffast.h ***/
#ifdef MAKEFIXED
@@ -103926,6 +104214,7 @@ local void fixedtables (struct inflate_state FAR *state)
{16,5,4},{24,5,769},{20,5,49},{28,5,12289},{18,5,13},{26,5,3073},
{22,5,193},{64,5,0}
};
+
/*** End of inlined file: inffixed.h ***/
@@ -105040,6 +105329,7 @@ int ZEXPORT inflateCopy(z_streamp dest, z_streamp source)
dest->state = (struct internal_state FAR *)copy;
return Z_OK;
}
+
/*** End of inlined file: inflate.c ***/
@@ -105365,6 +105655,7 @@ int inflate_table (codetype type,
*bits = root;
return 0;
}
+
/*** End of inlined file: inftrees.c ***/
@@ -105606,6 +105897,7 @@ local const int base_dist[D_CODES] = {
32, 48, 64, 96, 128, 192, 256, 384, 512, 768,
1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576
};
+
/*** End of inlined file: trees.h ***/
@@ -106680,6 +106972,7 @@ local void copy_block(deflate_state *s,
put_byte(s, *buf++);
}
}
+
/*** End of inlined file: trees.c ***/
@@ -106984,6 +107277,7 @@ void zcfree (voidpf opaque, voidpf ptr)
}
#endif /* MY_ZCALLOC */
+
/*** End of inlined file: zutil.c ***/
#undef Byte
@@ -107209,6 +107503,7 @@ unsigned long juce_crc32 (unsigned long crc, const unsigned char* buf, unsigned
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_GZIPDecompressorInputStream.cpp ***/
#endif
@@ -107303,6 +107598,7 @@ extern FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC;
/* \} */
#endif
+
/*** End of inlined file: export.h ***/
@@ -107321,6 +107617,7 @@ extern FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC;
#endif
#endif
+
/*** End of inlined file: assert.h ***/
@@ -107379,6 +107676,7 @@ typedef FLAC__uint8 FLAC__byte;
#endif
#endif
+
/*** End of inlined file: ordinals.h ***/
#include /* for size_t */
@@ -107530,6 +107828,7 @@ typedef struct {
#endif
#endif
+
/*** End of inlined file: callback.h ***/
@@ -108485,6 +108784,7 @@ FLAC_API FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Pic
#endif
#endif
+
/*** End of inlined file: format.h ***/
@@ -110629,6 +110929,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_picture_is_legal(const FLAC__StreamMet
#endif
#endif
+
/*** End of inlined file: metadata.h ***/
@@ -112147,6 +112448,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_seek_absolute(FLAC__StreamDecoder *deco
#endif
#endif
+
/*** End of inlined file: stream_decoder.h ***/
@@ -113875,6 +114177,7 @@ FLAC_API FLAC__bool FLAC__stream_encoder_process_interleaved(FLAC__StreamEncoder
#endif
#endif
+
/*** End of inlined file: stream_encoder.h ***/
#ifdef _MSC_VER
@@ -114233,6 +114536,7 @@ done1:
*/
#endif
+
/*** End of inlined file: all.h ***/
@@ -114254,6 +114558,7 @@ done1:
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -114273,6 +114578,7 @@ unsigned FLAC__bitmath_silog2(int v);
unsigned FLAC__bitmath_silog2_wide(FLAC__int64 v);
#endif
+
/*** End of inlined file: bitmath.h ***/
/* An example of what FLAC__bitmath_ilog2() computes:
@@ -114388,6 +114694,7 @@ unsigned FLAC__bitmath_silog2_wide(FLAC__int64 v)
}
#endif
+
/*** End of inlined file: bitmath.c ***/
@@ -114408,6 +114715,7 @@ unsigned FLAC__bitmath_silog2_wide(FLAC__int64 v)
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -114492,6 +114800,7 @@ FLAC__uint32 FLAC__cpu_info_extended_amd_asm_ia32(void);
#endif
#endif
+
/*** End of inlined file: cpu.h ***/
/*
@@ -114555,6 +114864,7 @@ FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *v
FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br);
#endif
+
/*** End of inlined file: bitreader.h ***/
@@ -114587,6 +114897,7 @@ extern unsigned FLAC__crc16_table[256];
unsigned FLAC__crc16(const FLAC__byte *data, unsigned len);
#endif
+
/*** End of inlined file: crc.h ***/
/* Things should be fastest when this matches the machine word size */
@@ -115889,6 +116200,7 @@ FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *v
}
#endif
+
/*** End of inlined file: bitreader.c ***/
@@ -115909,6 +116221,7 @@ FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *v
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -116004,6 +116317,7 @@ FLAC__bool FLAC__bitwriter_write_utf8_uint64(FLAC__BitWriter *bw, FLAC__uint64 v
FLAC__bool FLAC__bitwriter_zero_pad_to_byte_boundary(FLAC__BitWriter *bw);
#endif
+
/*** End of inlined file: bitwriter.h ***/
@@ -116203,6 +116517,7 @@ static FLaC__INLINE void *safe_realloc_muladd2_(void *ptr, size_t size1, size_t
}
#endif
+
/*** End of inlined file: alloc.h ***/
/* Things should be fastest when this matches the machine word size */
@@ -117032,6 +117347,7 @@ FLAC__bool FLAC__bitwriter_zero_pad_to_byte_boundary(FLAC__BitWriter *bw)
}
#endif
+
/*** End of inlined file: bitwriter.c ***/
@@ -117052,6 +117368,7 @@ FLAC__bool FLAC__bitwriter_zero_pad_to_byte_boundary(FLAC__BitWriter *bw)
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -117442,6 +117759,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info)
}
#endif
+
/*** End of inlined file: cpu.c ***/
@@ -117462,6 +117780,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info)
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -117576,6 +117895,7 @@ unsigned FLAC__crc16(const FLAC__byte *data, unsigned len)
}
#endif
+
/*** End of inlined file: crc.c ***/
@@ -117596,6 +117916,7 @@ unsigned FLAC__crc16(const FLAC__byte *data, unsigned len)
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -117682,6 +118003,7 @@ FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, unsigned fracbits, unsigned p
#endif
#endif
+
/*** End of inlined file: float.h ***/
@@ -117697,6 +118019,7 @@ void FLAC__format_entropy_coding_method_partitioned_rice_contents_clear(FLAC__En
FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_size(FLAC__EntropyCodingMethod_PartitionedRiceContents *object, unsigned max_partition_order);
#endif
+
/*** End of inlined file: format.h ***/
/*
@@ -117755,6 +118078,7 @@ void FLAC__fixed_compute_residual(const FLAC__int32 data[], unsigned data_len, u
void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len, unsigned order, FLAC__int32 data[]);
#endif
+
/*** End of inlined file: fixed.h ***/
#ifndef M_LN2
@@ -118153,6 +118477,7 @@ void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len,
}
#endif
+
/*** End of inlined file: fixed.c ***/
@@ -118173,6 +118498,7 @@ void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len,
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -118452,6 +118778,7 @@ FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, unsigned fracbits, unsigned p
#endif /* defined FLAC__INTEGER_ONLY_LIBRARY */
#endif
+
/*** End of inlined file: float.c ***/
@@ -118472,6 +118799,7 @@ FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, unsigned fracbits, unsigned p
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -119039,6 +119367,7 @@ FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_s
}
#endif
+
/*** End of inlined file: format.c ***/
@@ -119059,6 +119388,7 @@ FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_s
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -119251,6 +119581,7 @@ unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned m
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
#endif
+
/*** End of inlined file: lpc.h ***/
#if defined DEBUG || defined FLAC__OVERFLOW_DETECT || defined FLAC__OVERFLOW_DETECT_VERBOSE
@@ -120591,6 +120922,7 @@ unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned m
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
#endif
+
/*** End of inlined file: lpc_flac.c ***/
@@ -120611,6 +120943,7 @@ unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned m
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -120666,6 +120999,7 @@ void FLAC__MD5Final(FLAC__byte digest[16], FLAC__MD5Context *context);
FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample);
#endif
+
/*** End of inlined file: md5.h ***/
#ifndef FLaC__INLINE
@@ -121084,6 +121418,7 @@ FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const
}
#endif
+
/*** End of inlined file: md5.c ***/
@@ -121104,6 +121439,7 @@ FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -121136,6 +121472,7 @@ FLAC__bool FLAC__memory_alloc_aligned_real_array(unsigned elements, FLAC__real *
#endif
#endif
+
/*** End of inlined file: memory.h ***/
void *FLAC__memory_alloc_aligned(size_t bytes, void **aligned_address)
@@ -121307,6 +121644,7 @@ FLAC__bool FLAC__memory_alloc_aligned_real_array(unsigned elements, FLAC__real *
#endif
#endif
+
/*** End of inlined file: memory.c ***/
@@ -121327,6 +121665,7 @@ FLAC__bool FLAC__memory_alloc_aligned_real_array(unsigned elements, FLAC__real *
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -121383,6 +121722,7 @@ typedef struct FLAC__StreamDecoderProtected {
unsigned FLAC__stream_decoder_get_input_bytes_unconsumed(const FLAC__StreamDecoder *decoder);
#endif
+
/*** End of inlined file: stream_decoder.h ***/
#ifdef max
@@ -124704,6 +125044,7 @@ FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *decoder, void *client_d
}
#endif
+
/*** End of inlined file: stream_decoder.c ***/
@@ -124724,6 +125065,7 @@ FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *decoder, void *client_d
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -124830,6 +125172,7 @@ typedef struct FLAC__StreamEncoderProtected {
} FLAC__StreamEncoderProtected;
#endif
+
/*** End of inlined file: stream_encoder.h ***/
#if FLAC__HAS_OGG
@@ -124849,6 +125192,7 @@ FLAC__bool FLAC__subframe_add_lpc(const FLAC__Subframe_LPC *subframe, unsigned r
FLAC__bool FLAC__subframe_add_verbatim(const FLAC__Subframe_Verbatim *subframe, unsigned samples, unsigned subframe_bps, unsigned wasted_bits, FLAC__BitWriter *bw);
#endif
+
/*** End of inlined file: stream_encoder_framing.h ***/
@@ -124891,6 +125235,7 @@ void FLAC__window_welch(FLAC__real *window, const FLAC__int32 L);
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
#endif
+
/*** End of inlined file: window.h ***/
#ifndef FLaC__INLINE
@@ -129177,6 +129522,7 @@ FILE *get_binary_stdout_(void)
}
#endif
+
/*** End of inlined file: stream_encoder.c ***/
@@ -129197,6 +129543,7 @@ FILE *get_binary_stdout_(void)
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -129722,6 +130069,7 @@ FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32
}
#endif
+
/*** End of inlined file: stream_encoder_framing.c ***/
@@ -129742,6 +130090,7 @@ FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32
#if JUCE_MAC
#define FLAC__SYS_DARWIN 1
#endif
+
/*** End of inlined file: juce_FlacHeader.h ***/
#if JUCE_USE_FLAC
@@ -129938,6 +130287,7 @@ void FLAC__window_welch(FLAC__real *window, const FLAC__int32 L)
#endif /* !defined FLAC__INTEGER_ONLY_LIBRARY */
#endif
+
/*** End of inlined file: window_flac.c ***/
#else
@@ -130398,6 +130748,7 @@ AudioFormatWriter* FlacAudioFormat::createWriterFor (OutputStream* out,
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_FlacAudioFormat.cpp ***/
@@ -130567,12 +130918,14 @@ typedef unsigned int ogg_uint32_t;
typedef int64_t ogg_int64_t;
#endif
+
/*** End of inlined file: config_types.h ***/
#endif
#endif /* _OS_TYPES_H */
+
/*** End of inlined file: os_types.h ***/
typedef struct {
@@ -130752,6 +131105,7 @@ extern void ogg_packet_clear(ogg_packet *op);
#endif
#endif /* _OGG_H */
+
/*** End of inlined file: ogg.h ***/
typedef struct vorbis_info{
@@ -130968,6 +131322,7 @@ extern int vorbis_synthesis_halfrate_p(vorbis_info *v);
#endif /* __cplusplus */
#endif
+
/*** End of inlined file: codec.h ***/
/**
@@ -131370,6 +131725,7 @@ struct ovectl_ratemanage2_arg {
#endif /* __cplusplus */
#endif
+
/*** End of inlined file: vorbisenc.h ***/
@@ -131561,6 +131917,7 @@ extern int ov_halfrate_p(OggVorbis_File *vf);
#endif /* __cplusplus */
#endif
+
/*** End of inlined file: vorbisfile.h ***/
@@ -131576,6 +131933,7 @@ extern int ov_halfrate_p(OggVorbis_File *vf);
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -132344,6 +132702,7 @@ int main(void){
#undef BUFFER_INCREMENT
#endif
+
/*** End of inlined file: bitwise.c ***/
@@ -132356,6 +132715,7 @@ int main(void){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -134126,6 +134486,7 @@ int main(void){
#endif
#endif
+
/*** End of inlined file: framing.c ***/
@@ -134138,6 +134499,7 @@ int main(void){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -134205,6 +134567,7 @@ extern void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out);
extern void mdct_backward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out);
#endif
+
/*** End of inlined file: mdct.h ***/
#define VE_PRE 16
@@ -134264,6 +134627,7 @@ extern void _ve_envelope_shift(envelope_lookup *e,long shift);
extern int _ve_envelope_mark(vorbis_dsp_state *v);
#endif
+
/*** End of inlined file: envelope.h ***/
@@ -134364,6 +134728,7 @@ extern long vorbis_book_decodevv_add(codebook *book, float **a,
oggpack_buffer *b,int n);
#endif
+
/*** End of inlined file: codebook.h ***/
#define BLOCKTYPE_IMPULSE 0
@@ -134421,6 +134786,7 @@ extern void drft_init(drft_lookup *l,int n);
extern void drft_clear(drft_lookup *l);
#endif
+
/*** End of inlined file: smallft.h ***/
@@ -134547,6 +134913,7 @@ typedef struct vorbis_info_mapping0{
} vorbis_info_mapping0;
#endif
+
/*** End of inlined file: backends.h ***/
#ifndef EHMER_MAX
@@ -134678,6 +135045,7 @@ extern void _vp_couple_quantize_normalize(int blobno,
int ch);
#endif
+
/*** End of inlined file: psy.h ***/
@@ -134749,6 +135117,7 @@ extern void _VDBG_free(void *ptr,char *file,long line);
#endif
#endif
+
/*** End of inlined file: misc.h ***/
#ifndef _V_IFDEFJAIL_H_
@@ -134905,6 +135274,7 @@ static int vorbis_ftoi(double f){
#endif /* default implementation */
#endif /* _OS_H */
+
/*** End of inlined file: os.h ***/
/* encode side bitrate tracking */
@@ -134942,6 +135312,7 @@ extern int vorbis_bitrate_addblock(vorbis_block *vb);
extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op);
#endif
+
/*** End of inlined file: bitrate.h ***/
static int ilog(unsigned int v){
@@ -135038,6 +135409,7 @@ typedef struct highlevel_encode_setup {
highlevel_byblocktype block[4]; /* padding, impulse, transition, long */
} highlevel_encode_setup;
+
/*** End of inlined file: highlevel.h ***/
typedef struct codec_setup_info {
@@ -135110,6 +135482,7 @@ extern int floor1_encode(oggpack_buffer *opb,vorbis_block *vb,
vorbis_look_floor1 *look,
int *post,int *ilogmask);
#endif
+
/*** End of inlined file: codec_internal.h ***/
@@ -135129,6 +135502,7 @@ extern const vorbis_func_residue *const _residue_P[];
extern const vorbis_func_mapping *const _mapping_P[];
#endif
+
/*** End of inlined file: registry.h ***/
@@ -135205,6 +135579,7 @@ static float unitnorm(float x){
#define fromOC(o) (exp(((o)+5.965784f)*.693147f))
#endif
+
/*** End of inlined file: scales.h ***/
/* decides between modes, dispatches to the appropriate mapping. */
@@ -135289,6 +135664,7 @@ void _analysis_output(char *base,int i,float *v,int n,int bark,int dB,
#endif
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: analysis.c ***/
@@ -135301,6 +135677,7 @@ void _analysis_output(char *base,int i,float *v,int n,int bark,int dB,
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -135535,6 +135912,7 @@ int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,ogg_packet *op){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: bitrate.c ***/
@@ -135547,6 +135925,7 @@ int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,ogg_packet *op){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -135565,6 +135944,7 @@ extern void _vorbis_apply_window(float *d,int *winno,long *blocksizes,
int lW,int W,int nW);
#endif
+
/*** End of inlined file: window.h ***/
@@ -135579,6 +135959,7 @@ extern void vorbis_lpc_predict(float *coeff,float *prime,int m,
float *data,long n);
#endif
+
/*** End of inlined file: lpc.h ***/
/* pcm accumulator examples (not exhaustive):
@@ -136582,6 +136963,7 @@ float *vorbis_window(vorbis_dsp_state *v,int W){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: block.c ***/
@@ -136594,6 +136976,7 @@ float *vorbis_window(vorbis_dsp_state *v,int W){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -137056,6 +137439,7 @@ long vorbis_book_decodevv_add(codebook *book,float **a,long offset,int ch,
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: codebook.c ***/
@@ -137068,6 +137452,7 @@ long vorbis_book_decodevv_add(codebook *book,float **a,long offset,int ch,
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -137422,6 +137807,7 @@ void _ve_envelope_shift(envelope_lookup *e,long shift){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: envelope.c ***/
@@ -137434,6 +137820,7 @@ void _ve_envelope_shift(envelope_lookup *e,long shift){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -137454,6 +137841,7 @@ extern void vorbis_lsp_to_curve(float *curve,int *map,int n,int ln,
float amp,float ampoffset);
#endif
+
/*** End of inlined file: lsp.h ***/
#include
@@ -137647,6 +138035,7 @@ const vorbis_func_floor floor0_exportbundle={
};
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: floor0.c ***/
@@ -137659,6 +138048,7 @@ const vorbis_func_floor floor0_exportbundle={
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -138719,6 +139109,7 @@ const vorbis_func_floor floor1_exportbundle={
};
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: floor1.c ***/
@@ -138731,6 +139122,7 @@ const vorbis_func_floor floor1_exportbundle={
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -139371,6 +139763,7 @@ const char *vorbis_version_string(void){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: info.c ***/
@@ -139411,6 +139804,7 @@ Carsten Bormann
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -139527,6 +139921,7 @@ void vorbis_lpc_predict(float *coeff,float *prime,int m,
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: lpc.c ***/
@@ -139549,6 +139944,7 @@ void vorbis_lpc_predict(float *coeff,float *prime,int m,
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -139574,6 +139970,7 @@ extern float vorbis_fromdBlook_i(long a);
#endif
#endif
+
/*** End of inlined file: lookup.h ***/
/* three possible LSP to f curve functions; the exact computation
@@ -139602,6 +139999,7 @@ extern float vorbis_fromdBlook_i(long a);
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -139624,6 +140022,7 @@ extern float vorbis_fromdBlook_i(long a);
#endif
#endif
+
/*** End of inlined file: lookup.h ***/
@@ -139804,6 +140203,7 @@ static const long COS_LOOKUP_I[COS_LOOKUP_I_SZ+1]={
#endif
#endif
+
/*** End of inlined file: lookup_data.h ***/
#ifdef FLOAT_LOOKUP
@@ -139879,6 +140279,7 @@ long vorbis_coslook_i(long a){
#endif
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: lookup.c ***/
/* catch this in the build system; we #include for
@@ -139949,6 +140350,7 @@ void vorbis_lsp_to_curve(float *curve,int *map,int n,int ln,float *lsp,int m,
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -139971,6 +140373,7 @@ extern float vorbis_fromdBlook_i(long a);
#endif
#endif
+
/*** End of inlined file: lookup.h ***/
@@ -140151,6 +140554,7 @@ static const long COS_LOOKUP_I[COS_LOOKUP_I_SZ+1]={
#endif
#endif
+
/*** End of inlined file: lookup_data.h ***/
#ifdef FLOAT_LOOKUP
@@ -140226,6 +140630,7 @@ long vorbis_coslook_i(long a){
#endif
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: lookup.c ***/
/* catch this in the build system; we #include for
@@ -140565,6 +140970,7 @@ int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: lsp.c ***/
@@ -140577,6 +140983,7 @@ int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -141364,6 +141771,7 @@ const vorbis_func_mapping mapping0_exportbundle={
};
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: mapping0.c ***/
@@ -141382,6 +141790,7 @@ const vorbis_func_mapping mapping0_exportbundle={
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -141906,6 +142315,7 @@ void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out){
}
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: mdct.c ***/
@@ -141918,6 +142328,7 @@ void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -142696,6 +143107,7 @@ static const float tonemasks[P_BANDS][6][EHMER_MAX]={
};
#endif
+
/*** End of inlined file: masking.h ***/
#define NEGINF -9999.f
@@ -143870,6 +144282,7 @@ void _vp_couple_quantize_normalize(int blobno,
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: psy.c ***/
@@ -143882,6 +144295,7 @@ void _vp_couple_quantize_normalize(int blobno,
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -143912,6 +144326,7 @@ const vorbis_func_mapping *const _mapping_P[]={
};
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: registry.c ***/
@@ -143929,6 +144344,7 @@ const vorbis_func_mapping *const _mapping_P[]={
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -144794,6 +145210,7 @@ const vorbis_func_residue residue2_exportbundle={
};
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: res0.c ***/
@@ -144806,6 +145223,7 @@ const vorbis_func_residue residue2_exportbundle={
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -145369,6 +145787,7 @@ int main(){
#endif
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: sharedbook.c ***/
@@ -145394,6 +145813,7 @@ int main(){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -146621,6 +147041,7 @@ void drft_clear(drft_lookup *l){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: smallft.c ***/
@@ -146633,6 +147054,7 @@ void drft_clear(drft_lookup *l){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -146800,6 +147222,7 @@ int vorbis_synthesis_halfrate_p(vorbis_info *vi){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: synthesis.c ***/
@@ -146812,6 +147235,7 @@ int vorbis_synthesis_halfrate_p(vorbis_info *vi){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -148477,6 +148901,7 @@ static const static_codebook _huff_book_line_256x4low_0sub3 = {
NULL,
0
};
+
/*** End of inlined file: floor_books.h ***/
static const static_codebook*const _floor_128x4_books[]={
@@ -148718,6 +149143,7 @@ static const vorbis_info_floor1 _floor[11]={
},
};
+
/*** End of inlined file: floor_all.h ***/
@@ -164487,6 +164913,7 @@ static const static_codebook _huff_book__44cn1_sm_short = {
NULL,
0
};
+
/*** End of inlined file: res_books_stereo.h ***/
/***** residue backends *********************************************/
@@ -164760,6 +165187,7 @@ static const vorbis_mapping_template _mapres_template_44_stereo[]={
{ _map_nominal, _res_44s_8 }, /* 8 */
{ _map_nominal, _res_44s_9 }, /* 9 */
};
+
/*** End of inlined file: residue_44.h ***/
@@ -165385,6 +165813,7 @@ static const double _noise_thresh_44[11]={
static const double _noise_thresh_5only[2]={
.5,.5,
};
+
/*** End of inlined file: psych_44.h ***/
static const double rate_mapping_44_stereo[12]={
@@ -165483,6 +165912,7 @@ static const ve_setup_data_template ve_setup_44_stereo={
_mapres_template_44_stereo
};
+
/*** End of inlined file: setup_44.h ***/
@@ -173229,6 +173659,7 @@ static const static_codebook _huff_book__44un1__short = {
NULL,
0
};
+
/*** End of inlined file: res_books_uncoupled.h ***/
/***** residue backends *********************************************/
@@ -173527,6 +173958,7 @@ static const vorbis_mapping_template _mapres_template_44_uncoupled[]={
{ _map_nominal_u, _res_44u_8 }, /* 8 */
{ _map_nominal_u, _res_44u_9 }, /* 9 */
};
+
/*** End of inlined file: residue_44u.h ***/
static const double rate_mapping_44_un[12]={
@@ -173584,6 +174016,7 @@ static const ve_setup_data_template ve_setup_44_uncoupled={
_mapres_template_44_uncoupled
};
+
/*** End of inlined file: setup_44u.h ***/
@@ -185848,6 +186281,7 @@ static const static_codebook _huff_book__44pn1_short = {
NULL,
0
};
+
/*** End of inlined file: res_books_51.h ***/
/***** residue backends *********************************************/
@@ -186277,6 +186711,7 @@ static const vorbis_mapping_template _mapres_template_44_51[]={
{ _map_nominal_51u, _res_44p51_8 }, /* 8 */
{ _map_nominal_51u, _res_44p51_9 }, /* 9 */
};
+
/*** End of inlined file: residue_44p51.h ***/
static const double rate_mapping_44p51[12]={
@@ -186334,6 +186769,7 @@ static const ve_setup_data_template ve_setup_44_51={
_mapres_template_44_51
};
+
/*** End of inlined file: setup_44p51.h ***/
@@ -186453,6 +186889,7 @@ static const ve_setup_data_template ve_setup_32_uncoupled={
_mapres_template_44_uncoupled
};
+
/*** End of inlined file: setup_32.h ***/
@@ -186542,6 +186979,7 @@ static const int _psy_ath_floater_8[3]={
static const int _psy_ath_abs_8[3]={
-130,-130,-140,
};
+
/*** End of inlined file: psych_8.h ***/
@@ -186635,6 +187073,7 @@ static const vorbis_mapping_template _mapres_template_8_uncoupled[2]={
{ _map_nominal_u, _res_8u_0 }, /* 0 */
{ _map_nominal_u, _res_8u_1 }, /* 1 */
};
+
/*** End of inlined file: residue_8.h ***/
static const int blocksize_8[2]={
@@ -186766,6 +187205,7 @@ static const ve_setup_data_template ve_setup_8_uncoupled={
_mapres_template_8_uncoupled
};
+
/*** End of inlined file: setup_8.h ***/
@@ -186804,6 +187244,7 @@ static const noise3 _psy_noisebias_11[3]={
};
static const double _noise_thresh_11[3]={ .3,.5,.5 };
+
/*** End of inlined file: psych_11.h ***/
static const int blocksize_11[2]={
@@ -186930,6 +187371,7 @@ static const ve_setup_data_template ve_setup_11_uncoupled={
_mapres_template_8_uncoupled
};
+
/*** End of inlined file: setup_11.h ***/
@@ -187051,6 +187493,7 @@ static const int _psy_ath_floater_16[4]={
static const int _psy_ath_abs_16[4]={
-130,-130,-130,-140,
};
+
/*** End of inlined file: psych_16.h ***/
@@ -187200,6 +187643,7 @@ static const vorbis_mapping_template _mapres_template_16_uncoupled[3]={
{ _map_nominal_u, _res_16u_1 }, /* 1 */
{ _map_nominal_u, _res_16u_2 }, /* 2 */
};
+
/*** End of inlined file: residue_16.h ***/
static const int blocksize_16_short[3]={
@@ -187335,6 +187779,7 @@ static const ve_setup_data_template ve_setup_16_uncoupled={
_mapres_template_16_uncoupled
};
+
/*** End of inlined file: setup_16.h ***/
@@ -187450,6 +187895,7 @@ static const ve_setup_data_template ve_setup_22_uncoupled={
_mapres_template_16_uncoupled
};
+
/*** End of inlined file: setup_22.h ***/
@@ -187662,6 +188108,7 @@ static const ve_setup_data_template ve_setup_XX_uncoupled={
_mapres_template_8_uncoupled
};
+
/*** End of inlined file: setup_X.h ***/
static const ve_setup_data_template *const setup_list[]={
@@ -188715,6 +189162,7 @@ int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg){
}
#endif // codec_setup
+
/*** End of inlined file: vorbisenc.c ***/
@@ -188727,6 +189175,7 @@ int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -191041,6 +191490,7 @@ int ov_time_seek_page_lap(OggVorbis_File *vf,double pos){
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: vorbisfile.c ***/
@@ -191053,6 +191503,7 @@ int ov_time_seek_page_lap(OggVorbis_File *vf,double pos){
#if JUCE_MSVC
#pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706)
#endif
+
/*** End of inlined file: juce_OggVorbisHeader.h ***/
#if JUCE_USE_OGGVORBIS
@@ -193175,6 +193626,7 @@ void _vorbis_apply_window(float *d,int *winno,long *blocksizes,
}
#endif // JUCE_USE_OGGVORBIS
+
/*** End of inlined file: window.c ***/
#else
@@ -193581,6 +194033,7 @@ int OggVorbisAudioFormat::estimateOggFileQuality (const File& source)
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_OggVorbisAudioFormat.cpp ***/
#endif
@@ -193670,6 +194123,7 @@ typedef unsigned char boolean;
#undef PROGRESS_REPORT /* optional */
#endif /* JPEG_CJPEG_DJPEG */
+
/*** End of inlined file: jconfig.h ***/
/* widely used configuration options */
@@ -194009,6 +194463,7 @@ typedef int boolean;
#endif
#endif /* JPEG_INTERNAL_OPTIONS */
+
/*** End of inlined file: jmorecfg.h ***/
/* seldom changed options */
@@ -195427,6 +195882,7 @@ struct jvirt_sarray_control { long dummy; };
struct jvirt_barray_control { long dummy; };
#endif
#endif /* INCOMPLETE_TYPES_BROKEN */
+
/*** End of inlined file: jpegint.h ***/
/* fetch private declarations */
@@ -195707,12 +196163,14 @@ JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines")
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
#endif /* JERROR_H */
+
/*** End of inlined file: jerror.h ***/
/* fetch error codes too */
#endif
#endif /* JPEGLIB_H */
+
/*** End of inlined file: jpeglib.h ***/
@@ -195783,6 +196241,7 @@ typedef unsigned char boolean;
#undef PROGRESS_REPORT /* optional */
#endif /* JPEG_CJPEG_DJPEG */
+
/*** End of inlined file: jconfig.h ***/
/* auto configuration options */
@@ -195951,6 +196410,7 @@ static const int extend_offset[16] = /* entry n is (-1 << n) + 1 */
#endif /* AVOID_TABLES */
#endif
+
/*** End of inlined file: jinclude.h ***/
@@ -196205,6 +196665,7 @@ jpeg_write_tables (j_compress_ptr cinfo)
* each call to jpeg_write_tables().
*/
}
+
/*** End of inlined file: jcapimin.c ***/
@@ -196349,6 +196810,7 @@ jpeg_write_raw_data (j_compress_ptr cinfo, JSAMPIMAGE data,
cinfo->next_scanline += lines_per_iMCU_row;
return lines_per_iMCU_row;
}
+
/*** End of inlined file: jcapistd.c ***/
@@ -196779,6 +197241,7 @@ jinit_c_coef_controller (j_compress_ptr cinfo, boolean need_full_buffer)
coef->whole_image[0] = NULL; /* flag for no virtual arrays */
}
}
+
/*** End of inlined file: jccoefct.c ***/
@@ -197219,6 +197682,7 @@ jinit_color_converter (j_compress_ptr cinfo)
break;
}
}
+
/*** End of inlined file: jccolor.c ***/
#undef FIX
@@ -197390,6 +197854,7 @@ EXTERN(void) jpeg_idct_1x1
#endif
#endif
+
/*** End of inlined file: jdct.h ***/
/* Private declarations for DCT subsystem */
@@ -197758,6 +198223,7 @@ jinit_forward_dct (j_compress_ptr cinfo)
#endif
}
}
+
/*** End of inlined file: jcdctmgr.c ***/
@@ -197808,6 +198274,7 @@ EXTERN(void) jpeg_gen_optimal_table
JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, long freq[]));
#endif
+
/*** End of inlined file: jchuff.h ***/
/* Declarations shared with jcphuff.c */
@@ -198680,6 +199147,7 @@ jinit_huff_encoder (j_compress_ptr cinfo)
#endif
}
}
+
/*** End of inlined file: jchuff.c ***/
@@ -198738,6 +199206,7 @@ jinit_compress_master (j_compress_ptr cinfo)
*/
(*cinfo->marker->write_file_header) (cinfo);
}
+
/*** End of inlined file: jcinit.c ***/
@@ -199015,6 +199484,7 @@ jinit_c_main_controller (j_compress_ptr cinfo, boolean need_full_buffer)
}
}
}
+
/*** End of inlined file: jcmainct.c ***/
@@ -199584,6 +200054,7 @@ jinit_marker_writer (j_compress_ptr cinfo)
/* Initialize private state */
marker->last_restart_interval = 0;
}
+
/*** End of inlined file: jcmarker.c ***/
@@ -200154,6 +200625,7 @@ jinit_c_master_control (j_compress_ptr cinfo, boolean transcode_only)
else
master->total_passes = cinfo->num_scans;
}
+
/*** End of inlined file: jcmaster.c ***/
@@ -200247,6 +200719,7 @@ jpeg_alloc_huff_table (j_common_ptr cinfo)
tbl->sent_table = FALSE; /* make sure this is false in any new table */
return tbl;
}
+
/*** End of inlined file: jcomapi.c ***/
@@ -200836,6 +201309,7 @@ jpeg_simple_progression (j_compress_ptr cinfo)
}
#endif /* C_PROGRESSIVE_SUPPORTED */
+
/*** End of inlined file: jcparam.c ***/
@@ -201640,6 +202114,7 @@ jinit_phuff_encoder (j_compress_ptr cinfo)
}
#endif /* C_PROGRESSIVE_SUPPORTED */
+
/*** End of inlined file: jcphuff.c ***/
@@ -201971,6 +202446,7 @@ jinit_c_prep_controller (j_compress_ptr cinfo, boolean need_full_buffer)
}
}
}
+
/*** End of inlined file: jcprepct.c ***/
@@ -202434,6 +202910,7 @@ jinit_downsampler (j_compress_ptr cinfo)
TRACEMS(cinfo, 0, JTRC_SMOOTH_NOTIMPL);
#endif
}
+
/*** End of inlined file: jcsample.c ***/
@@ -202803,6 +203280,7 @@ transencode_coef_controller (j_compress_ptr cinfo,
coef->dummy_buffer[i] = buffer + i;
}
}
+
/*** End of inlined file: jctrans.c ***/
@@ -203057,6 +203535,7 @@ jpeg_finish_output (j_decompress_ptr cinfo)
}
#endif /* D_MULTISCAN_FILES_SUPPORTED */
+
/*** End of inlined file: jdapistd.c ***/
@@ -203427,6 +203906,7 @@ jpeg_finish_decompress (j_decompress_ptr cinfo)
jpeg_abort((j_common_ptr) cinfo);
return TRUE;
}
+
/*** End of inlined file: jdapimin.c ***/
@@ -203710,6 +204190,7 @@ JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines")
(*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)))
#endif /* JERROR_H */
+
/*** End of inlined file: jerror.h ***/
/* Expanded data source object for stdio input */
@@ -203896,6 +204377,7 @@ jpeg_stdio_src (j_decompress_ptr cinfo, FILE * infile)
src->pub.bytes_in_buffer = 0; /* forces fill_input_buffer on first read */
src->pub.next_input_byte = NULL; /* until buffer loaded */
}
+
/*** End of inlined file: jdatasrc.c ***/
@@ -204608,6 +205090,7 @@ jinit_d_coef_controller (j_decompress_ptr cinfo, boolean need_full_buffer)
coef->pub.coef_arrays = NULL; /* flag for no virtual arrays */
}
}
+
/*** End of inlined file: jdcoefct.c ***/
#undef FIX
@@ -204986,6 +205469,7 @@ jinit_color_deconverter (j_decompress_ptr cinfo)
else
cinfo->output_components = cinfo->out_color_components;
}
+
/*** End of inlined file: jdcolor.c ***/
@@ -205235,6 +205719,7 @@ jinit_inverse_dct (j_decompress_ptr cinfo)
idct->cur_method[ci] = -1;
}
}
+
/*** End of inlined file: jddctmgr.c ***/
@@ -205437,6 +205922,7 @@ EXTERN(int) jpeg_huff_decode
register int bits_left, d_derived_tbl * htbl, int min_bits));
#endif
+
/*** End of inlined file: jdhuff.h ***/
/* Declarations shared with jdphuff.c */
@@ -206035,6 +206521,7 @@ jinit_huff_decoder (j_decompress_ptr cinfo)
entropy->dc_derived_tbls[i] = entropy->ac_derived_tbls[i] = NULL;
}
}
+
/*** End of inlined file: jdhuff.c ***/
@@ -206396,6 +206883,7 @@ jinit_input_controller (j_decompress_ptr cinfo)
inputctl->pub.eoi_reached = FALSE;
inputctl->inheaders = TRUE;
}
+
/*** End of inlined file: jdinput.c ***/
@@ -206883,6 +207371,7 @@ jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer)
(JDIMENSION) (rgroup * ngroups));
}
}
+
/*** End of inlined file: jdmainct.c ***/
@@ -208138,6 +208627,7 @@ jpeg_set_marker_processor (j_decompress_ptr cinfo, int marker_code,
else
ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, marker_code);
}
+
/*** End of inlined file: jdmarker.c ***/
@@ -208675,6 +209165,7 @@ jinit_master_decompress (j_decompress_ptr cinfo)
master_selection(cinfo);
}
+
/*** End of inlined file: jdmaster.c ***/
#undef FIX
@@ -209035,6 +209526,7 @@ jinit_merged_upsampler (j_decompress_ptr cinfo)
}
#endif /* UPSAMPLE_MERGING_SUPPORTED */
+
/*** End of inlined file: jdmerge.c ***/
@@ -209655,6 +210147,7 @@ jinit_phuff_decoder (j_decompress_ptr cinfo)
}
#endif /* D_PROGRESSIVE_SUPPORTED */
+
/*** End of inlined file: jdphuff.c ***/
@@ -209923,6 +210416,7 @@ jinit_d_post_controller (j_decompress_ptr cinfo, boolean need_full_buffer)
}
}
}
+
/*** End of inlined file: jdpostct.c ***/
#undef FIX
@@ -210372,6 +210866,7 @@ jinit_upsampler (j_decompress_ptr cinfo)
}
}
}
+
/*** End of inlined file: jdsample.c ***/
@@ -210503,6 +210998,7 @@ transdecode_master_selection (j_decompress_ptr cinfo)
cinfo->progress->total_passes = 1;
}
}
+
/*** End of inlined file: jdtrans.c ***/
@@ -210634,6 +211130,7 @@ jpeg_fdct_float (FAST_FLOAT * data)
}
#endif /* DCT_FLOAT_SUPPORTED */
+
/*** End of inlined file: jfdctflt.c ***/
@@ -210889,6 +211386,7 @@ jpeg_fdct_islow (DCTELEM * data)
}
#endif /* DCT_ISLOW_SUPPORTED */
+
/*** End of inlined file: jfdctint.c ***/
#undef CONST_BITS
@@ -211079,6 +211577,7 @@ jpeg_fdct_ifast (DCTELEM * data)
}
#endif /* DCT_IFAST_SUPPORTED */
+
/*** End of inlined file: jfdctfst.c ***/
@@ -211283,6 +211782,7 @@ jpeg_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr,
}
#endif /* DCT_FLOAT_SUPPORTED */
+
/*** End of inlined file: jidctflt.c ***/
@@ -211617,6 +212117,7 @@ jpeg_idct_ifast (j_decompress_ptr cinfo, jpeg_component_info * compptr,
}
#endif /* DCT_IFAST_SUPPORTED */
+
/*** End of inlined file: jidctfst.c ***/
@@ -211980,6 +212481,7 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
}
#endif /* DCT_ISLOW_SUPPORTED */
+
/*** End of inlined file: jidctint.c ***/
@@ -212351,6 +212853,7 @@ jpeg_idct_1x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
}
#endif /* IDCT_SCALING_SUPPORTED */
+
/*** End of inlined file: jidctred.c ***/
@@ -212536,6 +213039,7 @@ EXTERN(long) jpeg_mem_init JPP((j_common_ptr cinfo));
EXTERN(void) jpeg_mem_term JPP((j_common_ptr cinfo));
#endif
+
/*** End of inlined file: jmemsys.h ***/
/* import the system-dependent declarations */
@@ -213603,6 +214107,7 @@ jinit_memory_mgr (j_common_ptr cinfo)
#endif
}
+
/*** End of inlined file: jmemmgr.c ***/
@@ -213691,6 +214196,7 @@ jpeg_mem_term (j_common_ptr)
{
/* no work */
}
+
/*** End of inlined file: jmemnobs.c ***/
@@ -214515,6 +215021,7 @@ jinit_1pass_quantizer (j_decompress_ptr cinfo)
}
#endif /* QUANT_1PASS_SUPPORTED */
+
/*** End of inlined file: jquant1.c ***/
@@ -215782,6 +216289,7 @@ jinit_2pass_quantizer (j_decompress_ptr cinfo)
}
#endif /* QUANT_2PASS_SUPPORTED */
+
/*** End of inlined file: jquant2.c ***/
@@ -215943,6 +216451,7 @@ jzero_far (void FAR * target, size_t bytestozero)
}
#endif
}
+
/*** End of inlined file: jutils.c ***/
@@ -216067,6 +216576,7 @@ EXTERN(void) jcopy_markers_setup
EXTERN(void) jcopy_markers_execute
JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
JCOPY_OPTION option));
+
/*** End of inlined file: transupp.h ***/
/* My own external interface */
@@ -216962,6 +217472,7 @@ jcopy_markers_execute (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
#endif
}
}
+
/*** End of inlined file: transupp.c ***/
#else
@@ -217285,6 +217796,7 @@ bool JPEGImageFormat::writeImageToStream (const Image& image, OutputStream& out)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_JPEGLoader.cpp ***/
@@ -219244,6 +219756,7 @@ typedef z_stream FAR * png_zstreamp;
#endif /* PNG_VERSION_INFO_ONLY */
#endif /* PNGCONF_H */
+
/*** End of inlined file: pngconf.h ***/
@@ -222367,6 +222880,7 @@ png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type));
#endif /* PNG_VERSION_INFO_ONLY */
/* do not put anything past this line */
#endif /* PNG_H */
+
/*** End of inlined file: png.h ***/
#define PNG_NO_EXTERN
@@ -223167,6 +223681,7 @@ png_convert_size(size_t size)
}
#endif /* PNG_SIZE_T */
#endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
+
/*** End of inlined file: png.c ***/
@@ -223507,6 +224022,7 @@ png_set_strip_error_numbers(png_structp png_ptr, png_uint_32 strip_mode)
}
#endif
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngerror.c ***/
@@ -224409,6 +224925,7 @@ png_get_user_height_max (png_structp png_ptr)
#endif /* ?PNG_SET_USER_LIMITS_SUPPORTED */
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngget.c ***/
@@ -225018,6 +225535,7 @@ png_get_mem_ptr(png_structp png_ptr)
}
#endif /* PNG_USER_MEM_SUPPORTED */
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngmem.c ***/
@@ -226489,6 +227007,7 @@ png_read_png(png_structp png_ptr, png_infop info_ptr,
#endif /* PNG_INFO_IMAGE_SUPPORTED */
#endif /* PNG_NO_SEQUENTIAL_READ_SUPPORTED */
#endif /* PNG_READ_SUPPORTED */
+
/*** End of inlined file: pngread.c ***/
@@ -228077,6 +228596,7 @@ png_get_progressive_ptr(png_structp png_ptr)
return png_ptr->io_ptr;
}
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+
/*** End of inlined file: pngpread.c ***/
@@ -228246,6 +228766,7 @@ png_set_read_fn(png_structp png_ptr, png_voidp io_ptr,
#endif
}
#endif /* PNG_READ_SUPPORTED */
+
/*** End of inlined file: pngrio.c ***/
@@ -232531,6 +233052,7 @@ png_do_read_intrapixel(png_row_infop row_info, png_bytep row)
}
#endif /* PNG_MNG_FEATURES_SUPPORTED */
#endif /* PNG_READ_SUPPORTED */
+
/*** End of inlined file: pngrtran.c ***/
@@ -235693,6 +236215,7 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
png_ptr->flags |= PNG_FLAG_ROW_INIT;
}
#endif /* PNG_READ_SUPPORTED */
+
/*** End of inlined file: pngrutil.c ***/
@@ -236936,6 +237459,7 @@ png_set_user_limits (png_structp png_ptr, png_uint_32 user_width_max,
#endif /* ?PNG_1_0_X */
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngset.c ***/
@@ -237600,6 +238124,7 @@ png_get_user_transform_ptr(png_structp png_ptr)
#endif
}
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngtrans.c ***/
@@ -237837,6 +238362,7 @@ void *png_far_to_near(png_structp png_ptr,png_voidp ptr, int check)
# endif
# endif
#endif /* PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngwio.c ***/
@@ -239351,6 +239877,7 @@ png_write_png(png_structp png_ptr, png_infop info_ptr,
}
#endif
#endif /* PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngwrite.c ***/
@@ -239926,6 +240453,7 @@ png_do_write_intrapixel(png_row_infop row_info, png_bytep row)
}
#endif /* PNG_MNG_FEATURES_SUPPORTED */
#endif /* PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngwtran.c ***/
@@ -242717,6 +243245,7 @@ png_write_filtered_row(png_structp png_ptr, png_bytep filtered_row)
#endif
}
#endif /* PNG_WRITE_SUPPORTED */
+
/*** End of inlined file: pngwutil.c ***/
#else
@@ -242999,6 +243528,7 @@ bool PNGImageFormat::writeImageToStream (const Image& image, OutputStream& out)
}
END_JUCE_NAMESPACE
+
/*** End of inlined file: juce_PNGLoader.cpp ***/
#endif
@@ -243131,6 +243661,7 @@ private:
#endif
#endif // __JUCE_MIDIDATACONCATENATOR_JUCEHEADER__
+
/*** End of inlined file: juce_MidiDataConcatenator.h ***/
@@ -243157,12 +243688,6 @@ BEGIN_JUCE_NAMESPACE
// Now include the actual code files..
-/*** Start of inlined file: juce_win32_DynamicLibraryLoader.cpp ***/
-// (This file gets included by juce_win32_NativeCode.cpp, rather than being
-// compiled on its own).
-#if JUCE_INCLUDED_FILE
-
-
/*** Start of inlined file: juce_win32_DynamicLibraryLoader.h ***/
#ifndef __JUCE_WIN32_DYNAMICLIBRARYLOADER_JUCEHEADER__
#define __JUCE_WIN32_DYNAMICLIBRARYLOADER_JUCEHEADER__
@@ -243186,12 +243711,28 @@ BEGIN_JUCE_NAMESPACE
class JUCE_API DynamicLibraryLoader
{
public:
- DynamicLibraryLoader (const String& name = String::empty);
- ~DynamicLibraryLoader();
+ DynamicLibraryLoader (const String& name = String::empty)
+ : libHandle (0)
+ {
+ load (name);
+ }
- bool load (const String& libraryName);
+ ~DynamicLibraryLoader()
+ {
+ load (String::empty);
+ }
- void* findProcAddress (const String& functionName);
+ bool load (const String& name)
+ {
+ FreeLibrary ((HMODULE) libHandle);
+ libHandle = name.isNotEmpty() ? LoadLibrary (name.toWideCharPointer()) : 0;
+ return libHandle != 0;
+ }
+
+ void* findProcAddress (const String& functionName)
+ {
+ return (void*) GetProcAddress ((HMODULE) libHandle, functionName.toUTF8()); // (void* cast is required for mingw)
+ }
private:
void* libHandle;
@@ -243199,33 +243740,8 @@ private:
#endif
#endif // __JUCE_WIN32_DYNAMICLIBRARYLOADER_JUCEHEADER__
-/*** End of inlined file: juce_win32_DynamicLibraryLoader.h ***/
-
-DynamicLibraryLoader::DynamicLibraryLoader (const String& name)
- : libHandle (0)
-{
- load (name);
-}
-
-DynamicLibraryLoader::~DynamicLibraryLoader()
-{
- load (String::empty);
-}
-
-bool DynamicLibraryLoader::load (const String& name)
-{
- FreeLibrary ((HMODULE) libHandle);
- libHandle = name.isNotEmpty() ? LoadLibrary (name.toWideCharPointer()) : 0;
- return libHandle != 0;
-}
-
-void* DynamicLibraryLoader::findProcAddress (const String& functionName)
-{
- return (void*) GetProcAddress ((HMODULE) libHandle, functionName.toUTF8()); // (void* cast is required for mingw)
-}
-#endif
-/*** End of inlined file: juce_win32_DynamicLibraryLoader.cpp ***/
+/*** End of inlined file: juce_win32_DynamicLibraryLoader.h ***/
@@ -243565,6 +244081,7 @@ const String SystemStats::getComputerName()
}
#endif
+
/*** End of inlined file: juce_win32_SystemStats.cpp ***/
@@ -243973,6 +244490,7 @@ void InterProcessLock::exit()
}
#endif
+
/*** End of inlined file: juce_win32_Threads.cpp ***/
@@ -244824,6 +245342,7 @@ void NamedPipe::cancelPendingReads()
}
#endif
+
/*** End of inlined file: juce_win32_Files.cpp ***/
@@ -245282,6 +245801,7 @@ bool PlatformUtilities::launchEmailWithAttachments (const String& targetEmailAdd
}
#endif
+
/*** End of inlined file: juce_win32_Network.cpp ***/
@@ -245484,6 +246004,7 @@ void PlatformUtilities::beep()
}
#endif
+
/*** End of inlined file: juce_win32_PlatformUtils.cpp ***/
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
@@ -245719,6 +246240,23 @@ void MessageManager::broadcastMessage (const String& value)
void MessageManager::doPlatformSpecificInitialisation()
{
+ #if JUCE_DEBUG
+ try // This section is just a safety-net for catching builds without RTTI enabled..
+ {
+ MemoryOutputStream mo;
+ OutputStream* o = &mo;
+
+ // Got an exception here? Then TURN ON RTTI in your compiler settings!!
+ o = dynamic_cast (o);
+ jassert (o != nullptr);
+ }
+ catch (...)
+ {
+ // Ended up here? If so, TURN ON RTTI in your compiler settings!!
+ jassertfalse;
+ }
+ #endif
+
OleInitialize (0);
// this name has to be different for each app/dll instance because otherwise
@@ -245753,6 +246291,7 @@ void MessageManager::doPlatformSpecificShutdown()
}
#endif
+
/*** End of inlined file: juce_win32_Messaging.cpp ***/
@@ -245831,9 +246370,9 @@ void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSeri
if (juce_IsRunningInWine())
{
// If we're running in Wine, then use fonts that might be available on Linux..
- defaultSans = "Bitstream Vera Sans";
- defaultSerif = "Bitstream Vera Serif";
- defaultFixed = "Bitstream Vera Sans Mono";
+ defaultSans = "Bitstream Vera Sans";
+ defaultSerif = "Bitstream Vera Serif";
+ defaultFixed = "Bitstream Vera Sans Mono";
}
else
{
@@ -246110,6 +246649,7 @@ const Typeface::Ptr Typeface::createSystemTypefaceFor (const Font& font)
}
#endif
+
/*** End of inlined file: juce_win32_Fonts.cpp ***/
@@ -246997,6 +247537,7 @@ private:
};
#endif
+
/*** End of inlined file: juce_win32_Direct2DGraphicsContext.cpp ***/
@@ -250243,6 +250784,7 @@ bool DragAndDropContainer::performExternalDragDropOfText (const String& text)
}
#endif
+
/*** End of inlined file: juce_win32_Windowing.cpp ***/
@@ -250408,11 +250950,11 @@ void FileChooser::showPlatformDialog (Array& results, const String& title_
bi.lpszTitle = title.toWideCharPointer();
bi.lParam = (LPARAM) &info;
bi.lpfn = browseCallbackProc;
- #ifdef BIF_USENEWUI
+ #ifdef BIF_USENEWUI
bi.ulFlags = BIF_USENEWUI | BIF_VALIDATE;
- #else
+ #else
bi.ulFlags = 0x50;
- #endif
+ #endif
LPITEMIDLIST list = SHBrowseForFolder (&bi);
@@ -250502,6 +251044,7 @@ void FileChooser::showPlatformDialog (Array& results, const String& title_
}
#endif
+
/*** End of inlined file: juce_win32_FileChooser.cpp ***/
@@ -250564,6 +251107,7 @@ const String SystemClipboard::getTextFromClipboard()
}
#endif
+
/*** End of inlined file: juce_win32_Misc.cpp ***/
@@ -250954,6 +251498,7 @@ void ActiveXControlComponent::setMouseEventsAllowed (const bool eventsCanReachCo
}
#endif
+
/*** End of inlined file: juce_win32_ActiveXComponent.cpp ***/
@@ -251407,6 +251952,7 @@ void QuickTimeMovieComponent::setBoundsWithCorrectAspectRatio (const Rectangle (internal);
- midiOutReset (h->handle);
-}
-
-bool MidiOutput::getVolume (float& leftVol, float& rightVol)
-{
- const MidiOutHandle* const handle = static_cast (internal);
-
- DWORD n;
- if (midiOutGetVolume (handle->handle, &n) == MMSYSERR_NOERROR)
- {
- const unsigned short* const nn = reinterpret_cast (&n);
- rightVol = nn[0] / (float) 0xffff;
- leftVol = nn[1] / (float) 0xffff;
- return true;
- }
- else
- {
- rightVol = leftVol = 1.0f;
- return false;
- }
-}
-
-void MidiOutput::setVolume (float leftVol, float rightVol)
-{
- const MidiOutHandle* const handle = static_cast (internal);
-
- DWORD n;
- unsigned short* const nn = reinterpret_cast (&n);
- nn[0] = (unsigned short) jlimit (0, 0xffff, (int) (rightVol * 0xffff));
- nn[1] = (unsigned short) jlimit (0, 0xffff, (int) (leftVol * 0xffff));
- midiOutSetVolume (handle->handle, n);
-}
-
void MidiOutput::sendMessageNow (const MidiMessage& message)
{
const MidiOutHandle* const handle = static_cast (internal);
@@ -254371,6 +254884,7 @@ void MidiOutput::sendMessageNow (const MidiMessage& message)
}
#endif
+
/*** End of inlined file: juce_win32_Midi.cpp ***/
@@ -256180,6 +256694,7 @@ AudioIODevice* juce_createASIOAudioIODeviceForGUID (const String& name,
#undef log
#endif
+
/*** End of inlined file: juce_win32_ASIO.cpp ***/
@@ -257531,6 +258046,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_DirectSound()
#undef log
#endif
+
/*** End of inlined file: juce_win32_DirectSound.cpp ***/
@@ -258634,6 +259150,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_WASAPI()
}
#endif
+
/*** End of inlined file: juce_win32_WASAPI.cpp ***/
@@ -259470,6 +259987,7 @@ CameraDevice* CameraDevice::openDevice (int index,
}
#endif
+
/*** End of inlined file: juce_win32_CameraDevice.cpp ***/
#endif
@@ -259527,6 +260045,7 @@ CameraDevice* CameraDevice::openDevice (int index,
#pragma comment (lib, "Dwrite.lib")
#pragma comment (lib, "D2d1.lib")
#endif
+
/*** End of inlined file: juce_win32_AutoLinkLibraries.h ***/
@@ -259535,6 +260054,7 @@ CameraDevice* CameraDevice::openDevice (int index,
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_win32_NativeCode.cpp ***/
@@ -260380,6 +260900,7 @@ void Thread::setCurrentThreadAffinityMask (const uint32 affinityMask)
(void) affinityMask;
#endif
}
+
/*** End of inlined file: juce_posix_SharedCode.h ***/
@@ -260701,6 +261222,7 @@ void File::revealToUser() const
}
#endif
+
/*** End of inlined file: juce_linux_Files.cpp ***/
@@ -260892,6 +261414,7 @@ int NamedPipe::write (const void* sourceBuffer, int numBytesToWrite, int timeOut
}
#endif
+
/*** End of inlined file: juce_posix_NamedPipe.cpp ***/
@@ -261320,6 +261843,7 @@ InputStream* URL::createNativeStream (const String& address, bool isPost, const
}
#endif
+
/*** End of inlined file: juce_linux_Network.cpp ***/
@@ -261472,6 +261996,7 @@ bool Time::setSystemTimeToThisTime() const
}
#endif
+
/*** End of inlined file: juce_linux_SystemStats.cpp ***/
@@ -261583,6 +262108,7 @@ void* PlatformUtilities::getProcedureEntryPoint (void* libraryHandle, const Stri
#endif
#endif
+
/*** End of inlined file: juce_linux_Threads.cpp ***/
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
@@ -261803,6 +262329,7 @@ const String SystemClipboard::getTextFromClipboard()
}
#endif
+
/*** End of inlined file: juce_linux_Clipboard.cpp ***/
@@ -262238,6 +262765,7 @@ bool MessageManager::dispatchNextMessageOnSystemQueue (bool returnIfNoPendingMes
}
#endif
+
/*** End of inlined file: juce_linux_Messaging.cpp ***/
@@ -262780,6 +263308,7 @@ void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSeri
}
#endif
+
/*** End of inlined file: juce_linux_Fonts.cpp ***/
@@ -266147,6 +266676,7 @@ const int KeyPress::fastForwardKey = (0xffeeff02) | Keys::extendedKeyModifier;
const int KeyPress::rewindKey = (0xffeeff03) | Keys::extendedKeyModifier;
#endif
+
/*** End of inlined file: juce_linux_Windowing.cpp ***/
@@ -267129,6 +267659,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_ALSA()
}
#endif
+
/*** End of inlined file: juce_linux_Audio.cpp ***/
@@ -267698,6 +268229,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_JACK()
#endif
#endif
+
/*** End of inlined file: juce_linux_JackAudio.cpp ***/
@@ -267932,19 +268464,6 @@ MidiOutput::~MidiOutput()
delete static_cast (internal);
}
-void MidiOutput::reset()
-{
-}
-
-bool MidiOutput::getVolume (float& leftVol, float& rightVol)
-{
- return false;
-}
-
-void MidiOutput::setVolume (float leftVol, float rightVol)
-{
-}
-
void MidiOutput::sendMessageNow (const MidiMessage& message)
{
static_cast (internal)->sendMessageNow (message);
@@ -268104,9 +268623,6 @@ int MidiOutput::getDefaultDeviceIndex() { return 0; }
MidiOutput* MidiOutput::openDevice (int) { return nullptr; }
MidiOutput* MidiOutput::createNewDevice (const String&) { return nullptr; }
MidiOutput::~MidiOutput() {}
-void MidiOutput::reset() {}
-bool MidiOutput::getVolume (float&, float&) { return false; }
-void MidiOutput::setVolume (float, float) {}
void MidiOutput::sendMessageNow (const MidiMessage&) {}
MidiInput::MidiInput (const String& name_) : name (name_), internal (0) {}
@@ -268120,6 +268636,7 @@ MidiInput* MidiInput::createNewDevice (const String&, MidiInputCallback*) { re
#endif
#endif
+
/*** End of inlined file: juce_linux_Midi.cpp ***/
@@ -268183,6 +268700,7 @@ const Array AudioCDReader::findIndexesInTrack (const int trackNumber)
}
#endif
+
/*** End of inlined file: juce_linux_AudioCDReader.cpp ***/
@@ -268262,6 +268780,7 @@ void FileChooser::showPlatformDialog (Array& results,
}
#endif
+
/*** End of inlined file: juce_linux_FileChooser.cpp ***/
@@ -268363,6 +268882,7 @@ bool WebBrowserComponent::pageAboutToLoad (const String& url)
}
#endif
+
/*** End of inlined file: juce_linux_WebBrowserComponent.cpp ***/
#endif
@@ -268370,6 +268890,7 @@ bool WebBrowserComponent::pageAboutToLoad (const String& url)
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_linux_NativeCode.cpp ***/
@@ -268509,6 +269030,7 @@ private:
#define appendMacro2(a, b, c, d, e) appendMacro1(a, b, c, d, e)
#define MakeObjCClassName(rootName) appendMacro2 (rootName, JUCE_MAJOR_VERSION, JUCE_MINOR_VERSION, JUCE_BUILDNUMBER, JUCE_ObjCExtraSuffix)
#endif
+
/*** End of inlined file: juce_mac_ObjCSuffix.h ***/
@@ -268629,6 +269151,7 @@ const String SystemClipboard::getTextFromClipboard()
#endif
#endif
+
/*** End of inlined file: juce_mac_Strings.mm ***/
@@ -268837,6 +269360,7 @@ void PlatformUtilities::fpuReset()
}
#endif
+
/*** End of inlined file: juce_mac_SystemStats.mm ***/
@@ -269285,6 +269809,7 @@ InputStream* URL::createNativeStream (const String& address, bool isPost, const
}
#endif
+
/*** End of inlined file: juce_mac_Network.mm ***/
@@ -269476,6 +270001,7 @@ int NamedPipe::write (const void* sourceBuffer, int numBytesToWrite, int timeOut
}
#endif
+
/*** End of inlined file: juce_posix_NamedPipe.cpp ***/
@@ -269519,6 +270045,7 @@ void Process::setPriority (ProcessPriority)
}
#endif
+
/*** End of inlined file: juce_mac_Threads.mm ***/
@@ -270342,6 +270869,7 @@ void Thread::setCurrentThreadAffinityMask (const uint32 affinityMask)
(void) affinityMask;
#endif
}
+
/*** End of inlined file: juce_posix_SharedCode.h ***/
@@ -270793,6 +271321,7 @@ bool PlatformUtilities::isBundle (const String& filename)
}
#endif
+
/*** End of inlined file: juce_mac_Files.mm ***/
#if JUCE_IOS
@@ -271017,6 +271546,7 @@ bool Desktop::isScreenSaverEnabled()
#endif
#endif
+
/*** End of inlined file: juce_ios_MiscUtilities.mm ***/
@@ -271376,6 +271906,7 @@ void Desktop::getCurrentMonitorPositions (Array >& monitorCoords
#endif
#endif
+
/*** End of inlined file: juce_mac_MiscUtilities.mm ***/
@@ -271414,6 +271945,7 @@ JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger()
}
#endif
+
/*** End of inlined file: juce_mac_Debugging.mm ***/
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
@@ -272154,6 +272686,7 @@ void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSeri
}
#endif
+
/*** End of inlined file: juce_mac_Fonts.mm ***/
@@ -273026,6 +273559,7 @@ const Image juce_loadWithCoreImage (InputStream& input)
#endif
#endif
+
/*** End of inlined file: juce_mac_CoreGraphicsContext.mm ***/
@@ -274048,6 +274582,7 @@ const int KeyPress::fastForwardKey = 0x30002;
const int KeyPress::rewindKey = 0x30003;
#endif
+
/*** End of inlined file: juce_ios_UIViewComponentPeer.mm ***/
@@ -274209,6 +274744,7 @@ void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* call
}
#endif
+
/*** End of inlined file: juce_ios_MessageManager.mm ***/
@@ -274363,6 +274899,7 @@ void FileChooser::showPlatformDialog (Array& results,
#endif
#endif
+
/*** End of inlined file: juce_mac_FileChooser.mm ***/
@@ -274882,6 +275419,7 @@ void juce_glViewport (const int w, const int h)
#endif
#endif
+
/*** End of inlined file: juce_mac_OpenGLComponent.mm ***/
@@ -274999,6 +275537,7 @@ void MouseCursor::showInWindow (ComponentPeer*) const {}
#endif
#endif
+
/*** End of inlined file: juce_mac_MouseCursor.mm ***/
@@ -275317,6 +275856,7 @@ bool WebBrowserComponent::pageAboutToLoad (const String& url)
#endif
#endif
+
/*** End of inlined file: juce_mac_WebBrowserComponent.mm ***/
@@ -275869,6 +276409,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_iOSAudio()
}
#endif
+
/*** End of inlined file: juce_ios_Audio.cpp ***/
@@ -276214,19 +276755,6 @@ MidiOutput::~MidiOutput()
delete static_cast (internal);
}
-void MidiOutput::reset()
-{
-}
-
-bool MidiOutput::getVolume (float& /*leftVol*/, float& /*rightVol*/)
-{
- return false;
-}
-
-void MidiOutput::setVolume (float /*leftVol*/, float /*rightVol*/)
-{
-}
-
void MidiOutput::sendMessageNow (const MidiMessage& message)
{
CoreMidiHelpers::MidiPortAndEndpoint* const mpe = static_cast (internal);
@@ -276410,9 +276938,6 @@ void MidiInput::stop()
#else // Stubs for iOS...
MidiOutput::~MidiOutput() {}
-void MidiOutput::reset() {}
-bool MidiOutput::getVolume (float& /*leftVol*/, float& /*rightVol*/) { return false; }
-void MidiOutput::setVolume (float /*leftVol*/, float /*rightVol*/) {}
void MidiOutput::sendMessageNow (const MidiMessage& message) {}
const StringArray MidiOutput::getDevices() { return StringArray(); }
MidiOutput* MidiOutput::openDevice (int index) { return nullptr; }
@@ -276422,6 +276947,7 @@ MidiInput* MidiInput::openDevice (int index, MidiInputCallback* callback) { re
#endif
#endif
+
/*** End of inlined file: juce_mac_CoreMidi.cpp ***/
#else
@@ -277161,6 +277687,7 @@ void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSeri
}
#endif
+
/*** End of inlined file: juce_mac_Fonts.mm ***/
// (must go before juce_mac_CoreGraphicsContext.mm)
@@ -278033,6 +278560,7 @@ const Image juce_loadWithCoreImage (InputStream& input)
#endif
#endif
+
/*** End of inlined file: juce_mac_CoreGraphicsContext.mm ***/
@@ -279762,6 +280290,7 @@ const int KeyPress::fastForwardKey = 0x30002;
const int KeyPress::rewindKey = 0x30003;
#endif
+
/*** End of inlined file: juce_mac_NSViewComponentPeer.mm ***/
@@ -279879,6 +280408,7 @@ void MouseCursor::showInWindow (ComponentPeer*) const {}
#endif
#endif
+
/*** End of inlined file: juce_mac_MouseCursor.mm ***/
@@ -280015,6 +280545,7 @@ void NSViewComponent::paint (Graphics&)
}
#endif
+
/*** End of inlined file: juce_mac_NSViewComponent.mm ***/
@@ -280264,6 +280795,7 @@ void AppleRemoteDevice::handleCallbackInternal()
}
#endif
+
/*** End of inlined file: juce_mac_AppleRemote.mm ***/
@@ -280783,6 +281315,7 @@ void juce_glViewport (const int w, const int h)
#endif
#endif
+
/*** End of inlined file: juce_mac_OpenGLComponent.mm ***/
@@ -281319,6 +281852,7 @@ void juce_initialiseMacMainMenu()
}
#endif
+
/*** End of inlined file: juce_mac_MainMenu.mm ***/
@@ -281473,6 +282007,7 @@ void FileChooser::showPlatformDialog (Array& results,
#endif
#endif
+
/*** End of inlined file: juce_mac_FileChooser.mm ***/
@@ -281801,6 +282336,7 @@ bool juce_OpenQuickTimeMovieFromStream (InputStream* movieStream, Movie& result,
#endif
#endif
+
/*** End of inlined file: juce_mac_QuickTimeMovieComponent.mm ***/
@@ -282349,6 +282885,7 @@ void AudioCDReader::ejectDisk()
}
#endif
+
/*** End of inlined file: juce_mac_AudioCDBurner.mm ***/
@@ -282589,6 +283126,7 @@ const Array AudioCDReader::findIndexesInTrack (const int /*trackNumber*/)
}
#endif
+
/*** End of inlined file: juce_mac_AudioCDReader.mm ***/
@@ -283081,6 +283619,7 @@ void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* call
}
#endif
+
/*** End of inlined file: juce_mac_MessageManager.mm ***/
@@ -283399,6 +283938,7 @@ bool WebBrowserComponent::pageAboutToLoad (const String& url)
#endif
#endif
+
/*** End of inlined file: juce_mac_WebBrowserComponent.mm ***/
@@ -284664,6 +285204,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_CoreAudio()
#undef log
#endif
+
/*** End of inlined file: juce_mac_CoreAudio.cpp ***/
@@ -285009,19 +285550,6 @@ MidiOutput::~MidiOutput()
delete static_cast (internal);
}
-void MidiOutput::reset()
-{
-}
-
-bool MidiOutput::getVolume (float& /*leftVol*/, float& /*rightVol*/)
-{
- return false;
-}
-
-void MidiOutput::setVolume (float /*leftVol*/, float /*rightVol*/)
-{
-}
-
void MidiOutput::sendMessageNow (const MidiMessage& message)
{
CoreMidiHelpers::MidiPortAndEndpoint* const mpe = static_cast (internal);
@@ -285205,9 +285733,6 @@ void MidiInput::stop()
#else // Stubs for iOS...
MidiOutput::~MidiOutput() {}
-void MidiOutput::reset() {}
-bool MidiOutput::getVolume (float& /*leftVol*/, float& /*rightVol*/) { return false; }
-void MidiOutput::setVolume (float /*leftVol*/, float /*rightVol*/) {}
void MidiOutput::sendMessageNow (const MidiMessage& message) {}
const StringArray MidiOutput::getDevices() { return StringArray(); }
MidiOutput* MidiOutput::openDevice (int index) { return nullptr; }
@@ -285217,6 +285742,7 @@ MidiInput* MidiInput::openDevice (int index, MidiInputCallback* callback) { re
#endif
#endif
+
/*** End of inlined file: juce_mac_CoreMidi.cpp ***/
@@ -285620,6 +286146,7 @@ CameraDevice* CameraDevice::openDevice (int index,
}
#endif
+
/*** End of inlined file: juce_mac_CameraDevice.mm ***/
#endif
@@ -285628,6 +286155,7 @@ CameraDevice* CameraDevice::openDevice (int index,
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_mac_NativeCode.mm ***/
@@ -286223,6 +286751,7 @@ const String SystemClipboard::getTextFromClipboard()
}
#endif
+
/*** End of inlined file: juce_android_Misc.cpp ***/
@@ -286362,6 +286891,7 @@ bool Time::setSystemTimeToThisTime() const
}
#endif
+
/*** End of inlined file: juce_android_SystemStats.cpp ***/
@@ -287185,6 +287715,7 @@ void Thread::setCurrentThreadAffinityMask (const uint32 affinityMask)
(void) affinityMask;
#endif
}
+
/*** End of inlined file: juce_posix_SharedCode.h ***/
@@ -287398,6 +287929,7 @@ void File::revealToUser() const
}
#endif
+
/*** End of inlined file: juce_android_Files.cpp ***/
@@ -287589,6 +288121,7 @@ int NamedPipe::write (const void* sourceBuffer, int numBytesToWrite, int timeOut
}
#endif
+
/*** End of inlined file: juce_posix_NamedPipe.cpp ***/
@@ -287652,6 +288185,7 @@ void Process::raisePrivilege() {}
void Process::lowerPrivilege() {}
#endif
+
/*** End of inlined file: juce_android_Threads.cpp ***/
@@ -287782,6 +288316,7 @@ InputStream* URL::createNativeStream (const String& address, bool isPost, const
}
#endif
+
/*** End of inlined file: juce_android_Network.cpp ***/
@@ -287879,6 +288414,7 @@ void MessageManager::stopDispatchLoop()
}
#endif
+
/*** End of inlined file: juce_android_Messaging.cpp ***/
@@ -288052,6 +288588,7 @@ const Typeface::Ptr Typeface::createSystemTypefaceFor (const Font& font)
}
#endif
+
/*** End of inlined file: juce_android_Fonts.cpp ***/
@@ -288828,6 +289365,7 @@ LowLevelGraphicsContext* AndroidImage::createLowLevelContext()
#endif
#endif
+
/*** End of inlined file: juce_android_GraphicsContext.cpp ***/
@@ -289537,6 +290075,7 @@ const int KeyPress::fastForwardKey = extendedKeyModifier + 47;
const int KeyPress::rewindKey = extendedKeyModifier + 48;
#endif
+
/*** End of inlined file: juce_android_Windowing.cpp ***/
@@ -289561,6 +290100,7 @@ void FileChooser::showPlatformDialog (Array& results,
}
#endif
+
/*** End of inlined file: juce_android_FileChooser.cpp ***/
@@ -289658,6 +290198,7 @@ bool WebBrowserComponent::pageAboutToLoad (const String& url)
}
#endif
+
/*** End of inlined file: juce_android_WebBrowserComponent.cpp ***/
@@ -289689,6 +290230,7 @@ void OpenGLPixelFormat::getAvailablePixelFormats (Component* component,
}
#endif
+
/*** End of inlined file: juce_android_OpenGLComponent.cpp ***/
@@ -289718,19 +290260,6 @@ MidiOutput::~MidiOutput()
{
}
-void MidiOutput::reset()
-{
-}
-
-bool MidiOutput::getVolume (float&, float&)
-{
- return false;
-}
-
-void MidiOutput::setVolume (float, float)
-{
-}
-
void MidiOutput::sendMessageNow (const MidiMessage&)
{
}
@@ -289771,6 +290300,7 @@ MidiInput* MidiInput::openDevice (int index, MidiInputCallback* callback)
}
#endif
+
/*** End of inlined file: juce_android_Midi.cpp ***/
@@ -290134,6 +290664,7 @@ AudioIODeviceType* AudioIODeviceType::createAudioIODeviceType_Android()
}
#endif
+
/*** End of inlined file: juce_android_Audio.cpp ***/
@@ -290230,13 +290761,16 @@ CameraDevice* CameraDevice::openDevice (int index,
}
#endif
+
/*** End of inlined file: juce_android_CameraDevice.cpp ***/
END_JUCE_NAMESPACE
#endif
+
/*** End of inlined file: juce_android_NativeCode.cpp ***/
#endif
#endif
+
diff --git a/juce_amalgamated.h b/juce_amalgamated.h
index 54b74ed31f..6e97b11b4f 100644
--- a/juce_amalgamated.h
+++ b/juce_amalgamated.h
@@ -73,7 +73,7 @@ namespace JuceDummyNamespace {}
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
-#define JUCE_BUILDNUMBER 79
+#define JUCE_BUILDNUMBER 80
/** Current Juce version number.
@@ -240,6 +240,7 @@ namespace JuceDummyNamespace {}
#endif
#endif // __JUCE_TARGETPLATFORM_JUCEHEADER__
+
/*** End of inlined file: juce_TargetPlatform.h ***/
// (sets up the various JUCE_WINDOWS, JUCE_MAC, etc flags)
@@ -514,6 +515,7 @@ namespace JuceDummyNamespace {}
#endif
#endif
+
/*** End of inlined file: juce_Config.h ***/
#ifdef JUCE_NAMESPACE
@@ -770,6 +772,7 @@ namespace JuceDummyNamespace {}
#endif
#endif // __JUCE_PLATFORMDEFS_JUCEHEADER__
+
/*** End of inlined file: juce_PlatformDefs.h ***/
// Now we'll include any OS headers we need.. (at this point we are outside the Juce namespace).
@@ -1029,6 +1032,7 @@ template
inline Type* addBytesToPointer (Type* pointer, int bytes) noexcept { return (Type*) (((char*) pointer) + bytes); }
#endif // __JUCE_MEMORY_JUCEHEADER__
+
/*** End of inlined file: juce_Memory.h ***/
@@ -1460,6 +1464,7 @@ namespace TypeHelpers
}
#endif // __JUCE_MATHSFUNCTIONS_JUCEHEADER__
+
/*** End of inlined file: juce_MathsFunctions.h ***/
@@ -1613,6 +1618,7 @@ inline void ByteOrder::littleEndian24BitToChars (const int value, char* const de
inline void ByteOrder::bigEndian24BitToChars (const int value, char* const destBytes) { destBytes[0] = (char)((value >> 16) & 0xff); destBytes[1] = (char)((value >> 8) & 0xff); destBytes[2] = (char)(value & 0xff); }
#endif // __JUCE_BYTEORDER_JUCEHEADER__
+
/*** End of inlined file: juce_ByteOrder.h ***/
@@ -2131,6 +2137,7 @@ private:
};
#endif // __JUCE_CHARACTERFUNCTIONS_JUCEHEADER__
+
/*** End of inlined file: juce_CharacterFunctions.h ***/
#ifndef JUCE_STRING_UTF_TYPE
@@ -2504,6 +2511,7 @@ inline void Atomic::memoryBarrier() noexcept
#endif
#endif // __JUCE_ATOMIC_JUCEHEADER__
+
/*** End of inlined file: juce_Atomic.h ***/
@@ -3062,6 +3070,7 @@ private:
};
#endif // __JUCE_CHARPOINTER_UTF8_JUCEHEADER__
+
/*** End of inlined file: juce_CharPointer_UTF8.h ***/
@@ -3536,6 +3545,7 @@ private:
};
#endif // __JUCE_CHARPOINTER_UTF16_JUCEHEADER__
+
/*** End of inlined file: juce_CharPointer_UTF16.h ***/
@@ -3887,6 +3897,7 @@ private:
};
#endif // __JUCE_CHARPOINTER_UTF32_JUCEHEADER__
+
/*** End of inlined file: juce_CharPointer_UTF32.h ***/
@@ -4247,6 +4258,7 @@ private:
};
#endif // __JUCE_CHARPOINTER_ASCII_JUCEHEADER__
+
/*** End of inlined file: juce_CharPointer_ASCII.h ***/
#if JUCE_MSVC
@@ -5500,6 +5512,7 @@ std::basic_ostream & JUCE_CALLTYPE operator<< (std::basic_ostre
JUCE_API OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const String& stringToWrite);
#endif // __JUCE_STRING_JUCEHEADER__
+
/*** End of inlined file: juce_String.h ***/
/**
@@ -5562,6 +5575,7 @@ private:
};
#endif // __JUCE_LOGGER_JUCEHEADER__
+
/*** End of inlined file: juce_Logger.h ***/
@@ -5679,6 +5693,7 @@ private:
#endif
#endif // __JUCE_LEAKEDOBJECTDETECTOR_JUCEHEADER__
+
/*** End of inlined file: juce_LeakedObjectDetector.h ***/
#undef TYPE_BOOL // (stupidly-named CoreServices definition which interferes with other libraries).
@@ -5686,6 +5701,7 @@ private:
END_JUCE_NAMESPACE
#endif // __JUCE_STANDARDHEADER_JUCEHEADER__
+
/*** End of inlined file: juce_StandardHeader.h ***/
@@ -5896,6 +5912,7 @@ private:
};
#endif // __JUCE_ABSTRACTFIFO_JUCEHEADER__
+
/*** End of inlined file: juce_AbstractFifo.h ***/
@@ -6132,6 +6149,7 @@ private:
};
#endif // __JUCE_HEAPBLOCK_JUCEHEADER__
+
/*** End of inlined file: juce_HeapBlock.h ***/
/**
@@ -6219,6 +6237,7 @@ private:
};
#endif // __JUCE_ARRAYALLOCATIONBASE_JUCEHEADER__
+
/*** End of inlined file: juce_ArrayAllocationBase.h ***/
@@ -6468,6 +6487,7 @@ public:
};
#endif // __JUCE_ELEMENTCOMPARATOR_JUCEHEADER__
+
/*** End of inlined file: juce_ElementComparator.h ***/
@@ -6678,6 +6698,7 @@ private:
};
#endif // __JUCE_SCOPEDLOCK_JUCEHEADER__
+
/*** End of inlined file: juce_ScopedLock.h ***/
/**
@@ -6891,6 +6912,7 @@ typedef CriticalSection::ScopedUnlockType ScopedUnlock;
typedef CriticalSection::ScopedTryLockType ScopedTryLock;
#endif // __JUCE_CRITICALSECTION_JUCEHEADER__
+
/*** End of inlined file: juce_CriticalSection.h ***/
/**
@@ -7846,6 +7868,7 @@ private:
};
#endif // __JUCE_ARRAY_JUCEHEADER__
+
/*** End of inlined file: juce_Array.h ***/
@@ -7934,6 +7957,7 @@ private:
};
#endif // __JUCE_STRINGPOOL_JUCEHEADER__
+
/*** End of inlined file: juce_StringPool.h ***/
/**
@@ -7992,6 +8016,7 @@ private:
};
#endif // __JUCE_IDENTIFIER_JUCEHEADER__
+
/*** End of inlined file: juce_Identifier.h ***/
@@ -8046,6 +8071,7 @@ extern NewLine newLine;
JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, const NewLine&);
#endif // __JUCE_NEWLINE_JUCEHEADER__
+
/*** End of inlined file: juce_NewLine.h ***/
@@ -8254,6 +8280,7 @@ private:
};
#endif // __JUCE_MEMORYBLOCK_JUCEHEADER__
+
/*** End of inlined file: juce_MemoryBlock.h ***/
/** The base class for streams that read data.
@@ -8505,6 +8532,7 @@ private:
};
#endif // __JUCE_INPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_InputStream.h ***/
class File;
@@ -8723,6 +8751,7 @@ OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const File& fileTo
OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const NewLine&);
#endif // __JUCE_OUTPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_OutputStream.h ***/
#ifndef DOXYGEN
@@ -8884,6 +8913,7 @@ bool operator== (const var& v1, const char* v2);
bool operator!= (const var& v1, const char* v2);
#endif // __JUCE_VARIANT_JUCEHEADER__
+
/*** End of inlined file: juce_Variant.h ***/
@@ -9204,6 +9234,7 @@ private:
};
#endif // __JUCE_LINKEDLISTPOINTER_JUCEHEADER__
+
/*** End of inlined file: juce_LinkedListPointer.h ***/
class XmlElement;
@@ -9313,6 +9344,7 @@ private:
};
#endif // __JUCE_NAMEDVALUESET_JUCEHEADER__
+
/*** End of inlined file: juce_NamedValueSet.h ***/
@@ -9572,6 +9604,7 @@ bool operator!= (ReferenceCountedObjectClass* object1, ReferenceCountedObjectPtr
}
#endif // __JUCE_REFERENCECOUNTEDOBJECT_JUCEHEADER__
+
/*** End of inlined file: juce_ReferenceCountedObject.h ***/
/**
@@ -9655,6 +9688,7 @@ private:
};
#endif // __JUCE_DYNAMICOBJECT_JUCEHEADER__
+
/*** End of inlined file: juce_DynamicObject.h ***/
@@ -10442,6 +10476,7 @@ private:
};
#endif // __JUCE_OWNEDARRAY_JUCEHEADER__
+
/*** End of inlined file: juce_OwnedArray.h ***/
@@ -10622,6 +10657,7 @@ bool operator!= (const ScopedPointer& pointer1, ObjectType* const po
}
#endif // __JUCE_SCOPEDPOINTER_JUCEHEADER__
+
/*** End of inlined file: juce_ScopedPointer.h ***/
/**
@@ -11031,6 +11067,7 @@ private:
};
#endif // __JUCE_HASHMAP_JUCEHEADER__
+
/*** End of inlined file: juce_HashMap.h ***/
@@ -11358,6 +11395,7 @@ private:
};
#endif // __JUCE_STRINGARRAY_JUCEHEADER__
+
/*** End of inlined file: juce_StringArray.h ***/
/**
@@ -11482,6 +11520,7 @@ private:
};
#endif // __JUCE_STRINGPAIRARRAY_JUCEHEADER__
+
/*** End of inlined file: juce_StringPairArray.h ***/
@@ -11642,6 +11681,7 @@ const RelativeTime operator+ (const RelativeTime& t1, const RelativeTime& t2)
const RelativeTime operator- (const RelativeTime& t1, const RelativeTime& t2) noexcept;
#endif // __JUCE_RELATIVETIME_JUCEHEADER__
+
/*** End of inlined file: juce_RelativeTime.h ***/
/**
@@ -11998,6 +12038,7 @@ JUCE_API bool operator> (const Time& time1, const Time& time2);
JUCE_API bool operator>= (const Time& time1, const Time& time2);
#endif // __JUCE_TIME_JUCEHEADER__
+
/*** End of inlined file: juce_Time.h ***/
@@ -12086,6 +12127,7 @@ private:
};
#endif // __JUCE_RESULT_JUCEHEADER__
+
/*** End of inlined file: juce_Result.h ***/
class FileInputStream;
@@ -12972,6 +13014,7 @@ private:
};
#endif // __JUCE_FILE_JUCEHEADER__
+
/*** End of inlined file: juce_File.h ***/
/** A handy macro to make it easy to iterate all the child elements in an XmlElement.
@@ -13650,6 +13693,7 @@ private:
};
#endif // __JUCE_XMLELEMENT_JUCEHEADER__
+
/*** End of inlined file: juce_XmlElement.h ***/
/**
@@ -13832,6 +13876,7 @@ private:
};
#endif // __JUCE_PROPERTYSET_JUCEHEADER__
+
/*** End of inlined file: juce_PropertySet.h ***/
@@ -14552,6 +14597,7 @@ private:
};
#endif // __JUCE_REFERENCECOUNTEDARRAY_JUCEHEADER__
+
/*** End of inlined file: juce_ReferenceCountedArray.h ***/
@@ -14628,6 +14674,7 @@ private:
};
#endif // __JUCE_SCOPEDVALUESETTER_JUCEHEADER__
+
/*** End of inlined file: juce_ScopedValueSetter.h ***/
@@ -15161,6 +15208,7 @@ private:
#endif
#endif // __JUCE_SORTEDSET_JUCEHEADER__
+
/*** End of inlined file: juce_SortedSet.h ***/
@@ -15408,6 +15456,7 @@ private:
};
#endif // __JUCE_RANGE_JUCEHEADER__
+
/*** End of inlined file: juce_Range.h ***/
/**
@@ -15670,6 +15719,7 @@ private:
};
#endif // __JUCE_SPARSESET_JUCEHEADER__
+
/*** End of inlined file: juce_SparseSet.h ***/
@@ -15751,6 +15801,7 @@ private:
};
#endif // __JUCE_MESSAGE_JUCEHEADER__
+
/*** End of inlined file: juce_Message.h ***/
/**
@@ -15804,6 +15855,7 @@ private:
};
#endif // __JUCE_CALLBACKMESSAGE_JUCEHEADER__
+
/*** End of inlined file: juce_CallbackMessage.h ***/
/**
@@ -15883,6 +15935,7 @@ private:
};
#endif // __JUCE_ASYNCUPDATER_JUCEHEADER__
+
/*** End of inlined file: juce_AsyncUpdater.h ***/
@@ -16186,6 +16239,7 @@ private:
};
#endif // __JUCE_LISTENERLIST_JUCEHEADER__
+
/*** End of inlined file: juce_ListenerList.h ***/
/**
@@ -16379,6 +16433,7 @@ OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const Value& value
typedef Value::Listener ValueListener;
#endif // __JUCE_VALUE_JUCEHEADER__
+
/*** End of inlined file: juce_Value.h ***/
@@ -16437,6 +16492,7 @@ public:
};
#endif // __JUCE_CHANGELISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_ChangeListener.h ***/
/**
@@ -16512,6 +16568,7 @@ private:
};
#endif // __JUCE_CHANGEBROADCASTER_JUCEHEADER__
+
/*** End of inlined file: juce_ChangeBroadcaster.h ***/
@@ -16586,6 +16643,7 @@ public:
};
#endif // __JUCE_UNDOABLEACTION_JUCEHEADER__
+
/*** End of inlined file: juce_UndoableAction.h ***/
/**
@@ -16775,6 +16833,7 @@ private:
};
#endif // __JUCE_UNDOMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_UndoManager.h ***/
/**
@@ -17283,6 +17342,7 @@ private:
};
#endif // __JUCE_VALUETREE_JUCEHEADER__
+
/*** End of inlined file: juce_ValueTree.h ***/
@@ -17367,6 +17427,7 @@ private:
};
#endif // __JUCE_FILELOGGER_JUCEHEADER__
+
/*** End of inlined file: juce_FileLogger.h ***/
@@ -17386,7 +17447,7 @@ private:
Note that if you're creating a Juce DLL for Windows, you may also need to call the
PlatformUtilities::setCurrentModuleInstanceHandle() method.
- @see shutdownJuce_GUI(), initialiseJuce_NonGUI()
+ @see shutdownJuce_GUI()
*/
JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI();
@@ -17396,55 +17457,10 @@ JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI();
than using the START_JUCE_APPLICATION macro, call this function in your shutdown
code to clean up any juce objects that might be lying around.
- @see initialiseJuce_GUI(), initialiseJuce_NonGUI()
+ @see initialiseJuce_GUI()
*/
JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI();
-/** Initialises the core parts of Juce.
-
- If you're embedding Juce into either a command-line program, call this function
- at the start of your main() function to make sure that Juce is initialised correctly.
-
- Note that if you're creating a Juce DLL for Windows, you may also need to call the
- PlatformUtilities::setCurrentModuleInstanceHandle() method.
-
- @see shutdownJuce_NonGUI, initialiseJuce_GUI
-*/
-JUCE_API void JUCE_CALLTYPE initialiseJuce_NonGUI();
-
-/** Clears up any static data being used by Juce's non-gui core classes.
-
- If you're embedding Juce into either a command-line program, call this function
- at the end of your main() function if you want to make sure any Juce objects are
- cleaned up correctly.
-
- @see initialiseJuce_NonGUI, initialiseJuce_GUI
-*/
-JUCE_API void JUCE_CALLTYPE shutdownJuce_NonGUI();
-
-/** A utility object that helps you initialise and shutdown Juce correctly
- using an RAII pattern.
-
- When an instance of this class is created, it calls initialiseJuce_NonGUI(),
- and when it's deleted, it calls shutdownJuce_NonGUI(), which lets you easily
- make sure that these functions are matched correctly.
-
- This class is particularly handy to use at the beginning of a console app's
- main() function, because it'll take care of shutting down whenever you return
- from the main() call.
-
- @see ScopedJuceInitialiser_GUI
-*/
-class ScopedJuceInitialiser_NonGUI
-{
-public:
- /** The constructor simply calls initialiseJuce_NonGUI(). */
- ScopedJuceInitialiser_NonGUI() { initialiseJuce_NonGUI(); }
-
- /** The destructor simply calls shutdownJuce_NonGUI(). */
- ~ScopedJuceInitialiser_NonGUI() { shutdownJuce_NonGUI(); }
-};
-
/** A utility object that helps you initialise and shutdown Juce correctly
using an RAII pattern.
@@ -17522,6 +17538,7 @@ public:
#endif
#endif // __JUCE_INITIALISATION_JUCEHEADER__
+
/*** End of inlined file: juce_Initialisation.h ***/
@@ -17607,6 +17624,7 @@ private:
};
#endif // __JUCE_PERFORMANCECOUNTER_JUCEHEADER__
+
/*** End of inlined file: juce_PerformanceCounter.h ***/
@@ -17914,6 +17932,7 @@ private:
#endif
#endif // __JUCE_PLATFORMUTILITIES_JUCEHEADER__
+
/*** End of inlined file: juce_PlatformUtilities.h ***/
@@ -18179,6 +18198,7 @@ private:
classname* classname::_singletonInstance = nullptr;
#endif // __JUCE_SINGLETON_JUCEHEADER__
+
/*** End of inlined file: juce_Singleton.h ***/
@@ -18325,6 +18345,7 @@ private:
};
#endif // __JUCE_SYSTEMSTATS_JUCEHEADER__
+
/*** End of inlined file: juce_SystemStats.h ***/
@@ -18428,6 +18449,7 @@ private:
};
#endif // __JUCE_UUID_JUCEHEADER__
+
/*** End of inlined file: juce_Uuid.h ***/
@@ -18478,6 +18500,7 @@ private:
};
#endif // __JUCE_BLOWFISH_JUCEHEADER__
+
/*** End of inlined file: juce_BlowFish.h ***/
@@ -18574,6 +18597,7 @@ private:
};
#endif // __JUCE_MD5_JUCEHEADER__
+
/*** End of inlined file: juce_MD5.h ***/
@@ -18879,6 +18903,7 @@ OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const BigInteger&
#endif
#endif // __JUCE_BIGINTEGER_JUCEHEADER__
+
/*** End of inlined file: juce_BigInteger.h ***/
/**
@@ -18923,6 +18948,7 @@ private:
};
#endif // __JUCE_PRIMES_JUCEHEADER__
+
/*** End of inlined file: juce_Primes.h ***/
@@ -19013,6 +19039,7 @@ private:
};
#endif // __JUCE_RSAKEY_JUCEHEADER__
+
/*** End of inlined file: juce_RSAKey.h ***/
@@ -19144,6 +19171,7 @@ private:
};
#endif // __JUCE_DIRECTORYITERATOR_JUCEHEADER__
+
/*** End of inlined file: juce_DirectoryIterator.h ***/
@@ -19207,6 +19235,7 @@ private:
};
#endif // __JUCE_FILEINPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_FileInputStream.h ***/
@@ -19287,6 +19316,7 @@ private:
};
#endif // __JUCE_FILEOUTPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_FileOutputStream.h ***/
@@ -19426,6 +19456,7 @@ private:
};
#endif // __JUCE_FILESEARCHPATH_JUCEHEADER__
+
/*** End of inlined file: juce_FileSearchPath.h ***/
@@ -19512,6 +19543,7 @@ private:
};
#endif // __JUCE_NAMEDPIPE_JUCEHEADER__
+
/*** End of inlined file: juce_NamedPipe.h ***/
@@ -19648,6 +19680,7 @@ private:
};
#endif // __JUCE_TEMPORARYFILE_JUCEHEADER__
+
/*** End of inlined file: juce_TemporaryFile.h ***/
@@ -19705,6 +19738,7 @@ private:
};
#endif // __JUCE_INPUTSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_InputSource.h ***/
/**
@@ -19897,6 +19931,7 @@ private:
};
#endif // __JUCE_ZIPFILE_JUCEHEADER__
+
/*** End of inlined file: juce_ZipFile.h ***/
@@ -19964,6 +19999,7 @@ private:
};
#endif // __JUCE_MACADDRESS_JUCEHEADER__
+
/*** End of inlined file: juce_MACAddress.h ***/
@@ -20231,6 +20267,7 @@ private:
};
#endif // __JUCE_SOCKET_JUCEHEADER__
+
/*** End of inlined file: juce_Socket.h ***/
@@ -20501,6 +20538,7 @@ private:
};
#endif // __JUCE_URL_JUCEHEADER__
+
/*** End of inlined file: juce_URL.h ***/
@@ -20627,6 +20665,7 @@ private:
};
#endif // __JUCE_OPTIONALSCOPEDPOINTER_JUCEHEADER__
+
/*** End of inlined file: juce_OptionalScopedPointer.h ***/
/** Wraps another input stream, and reads from it using an intermediate buffer
@@ -20685,6 +20724,7 @@ private:
};
#endif // __JUCE_BUFFEREDINPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_BufferedInputStream.h ***/
@@ -20720,6 +20760,7 @@ private:
};
#endif // __JUCE_FILEINPUTSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_FileInputSource.h ***/
@@ -20788,6 +20829,7 @@ private:
};
#endif // __JUCE_GZIPCOMPRESSOROUTPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_GZIPCompressorOutputStream.h ***/
@@ -20860,6 +20902,7 @@ private:
};
#endif // __JUCE_GZIPDECOMPRESSORINPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_GZIPDecompressorInputStream.h ***/
@@ -20931,6 +20974,7 @@ private:
};
#endif // __JUCE_MEMORYINPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_MemoryInputStream.h ***/
@@ -21029,6 +21073,7 @@ private:
OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const MemoryOutputStream& streamToRead);
#endif // __JUCE_MEMORYOUTPUTSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_MemoryOutputStream.h ***/
@@ -21094,6 +21139,7 @@ private:
};
#endif // __JUCE_SUBREGIONSTREAM_JUCEHEADER__
+
/*** End of inlined file: juce_SubregionStream.h ***/
@@ -21336,6 +21382,7 @@ private:
};
#endif // __JUCE_EXPRESSION_JUCEHEADER__
+
/*** End of inlined file: juce_Expression.h ***/
@@ -21455,6 +21502,7 @@ private:
};
#endif // __JUCE_RANDOM_JUCEHEADER__
+
/*** End of inlined file: juce_Random.h ***/
@@ -21667,6 +21715,7 @@ private:
};
#endif // __JUCE_WEAKREFERENCE_JUCEHEADER__
+
/*** End of inlined file: juce_WeakReference.h ***/
@@ -21850,6 +21899,7 @@ private:
};
#endif // __JUCE_LOCALISEDSTRINGS_JUCEHEADER__
+
/*** End of inlined file: juce_LocalisedStrings.h ***/
@@ -22017,6 +22067,7 @@ private:
};
#endif // __JUCE_XMLDOCUMENT_JUCEHEADER__
+
/*** End of inlined file: juce_XmlDocument.h ***/
@@ -22129,6 +22180,7 @@ private:
};
#endif // __JUCE_INTERPROCESSLOCK_JUCEHEADER__
+
/*** End of inlined file: juce_InterProcessLock.h ***/
@@ -22205,6 +22257,7 @@ private:
};
#endif // __JUCE_PROCESS_JUCEHEADER__
+
/*** End of inlined file: juce_Process.h ***/
@@ -22276,6 +22329,7 @@ private:
};
#endif // __JUCE_SPINLOCK_JUCEHEADER__
+
/*** End of inlined file: juce_SpinLock.h ***/
@@ -22356,6 +22410,7 @@ private:
};
#endif // __JUCE_WAITABLEEVENT_JUCEHEADER__
+
/*** End of inlined file: juce_WaitableEvent.h ***/
@@ -22620,6 +22675,7 @@ private:
};
#endif // __JUCE_THREAD_JUCEHEADER__
+
/*** End of inlined file: juce_Thread.h ***/
/**
@@ -22720,6 +22776,7 @@ private:
};
#endif // __JUCE_READWRITELOCK_JUCEHEADER__
+
/*** End of inlined file: juce_ReadWriteLock.h ***/
@@ -22788,6 +22845,7 @@ private:
};
#endif // __JUCE_SCOPEDREADLOCK_JUCEHEADER__
+
/*** End of inlined file: juce_ScopedReadLock.h ***/
@@ -22853,6 +22911,7 @@ private:
};
#endif // __JUCE_SCOPEDWRITELOCK_JUCEHEADER__
+
/*** End of inlined file: juce_ScopedWriteLock.h ***/
@@ -23137,6 +23196,7 @@ private:
};
#endif // __JUCE_THREADPOOL_JUCEHEADER__
+
/*** End of inlined file: juce_ThreadPool.h ***/
@@ -23250,6 +23310,7 @@ private:
};
#endif // __JUCE_TIMESLICETHREAD_JUCEHEADER__
+
/*** End of inlined file: juce_TimeSliceThread.h ***/
@@ -23259,6 +23320,7 @@ private:
#endif
#endif
+
/*** End of inlined file: juce_core_includes.h ***/
@@ -23417,6 +23479,7 @@ private:
};
#endif // __JUCE_MOUSECURSOR_JUCEHEADER__
+
/*** End of inlined file: juce_MouseCursor.h ***/
@@ -23560,6 +23623,7 @@ public:
};
#endif // __JUCE_MOUSELISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_MouseListener.h ***/
@@ -23752,6 +23816,7 @@ private:
};
#endif // __JUCE_MODIFIERKEYS_JUCEHEADER__
+
/*** End of inlined file: juce_ModifierKeys.h ***/
@@ -23987,6 +24052,7 @@ private:
};
#endif // __JUCE_AFFINETRANSFORM_JUCEHEADER__
+
/*** End of inlined file: juce_AffineTransform.h ***/
/**
@@ -24132,6 +24198,7 @@ private:
};
#endif // __JUCE_POINT_JUCEHEADER__
+
/*** End of inlined file: juce_Point.h ***/
/**
@@ -24418,6 +24485,7 @@ private:
};
#endif // __JUCE_MOUSEEVENT_JUCEHEADER__
+
/*** End of inlined file: juce_MouseEvent.h ***/
@@ -24507,6 +24575,7 @@ public:
};
#endif // __JUCE_COMPONENTLISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_ComponentListener.h ***/
@@ -24734,6 +24803,7 @@ private:
};
#endif // __JUCE_KEYPRESS_JUCEHEADER__
+
/*** End of inlined file: juce_KeyPress.h ***/
class Component;
@@ -24783,6 +24853,7 @@ public:
};
#endif // __JUCE_KEYLISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_KeyListener.h ***/
@@ -24851,6 +24922,7 @@ public:
};
#endif // __JUCE_KEYBOARDFOCUSTRAVERSER_JUCEHEADER__
+
/*** End of inlined file: juce_KeyboardFocusTraverser.h ***/
@@ -25250,6 +25322,7 @@ private:
};
#endif // __JUCE_LINE_JUCEHEADER__
+
/*** End of inlined file: juce_Line.h ***/
@@ -25956,6 +26029,7 @@ private:
};
#endif // __JUCE_RECTANGLE_JUCEHEADER__
+
/*** End of inlined file: juce_Rectangle.h ***/
@@ -26113,6 +26187,7 @@ private:
};
#endif // __JUCE_JUSTIFICATION_JUCEHEADER__
+
/*** End of inlined file: juce_Justification.h ***/
class Image;
@@ -26814,6 +26889,7 @@ private:
};
#endif // __JUCE_PATH_JUCEHEADER__
+
/*** End of inlined file: juce_Path.h ***/
class Font;
@@ -27021,6 +27097,7 @@ private:
};
#endif // __JUCE_TYPEFACE_JUCEHEADER__
+
/*** End of inlined file: juce_Typeface.h ***/
class LowLevelGraphicsContext;
@@ -27364,6 +27441,7 @@ private:
};
#endif // __JUCE_FONT_JUCEHEADER__
+
/*** End of inlined file: juce_Font.h ***/
@@ -27536,6 +27614,7 @@ private:
};
#endif // __JUCE_PATHSTROKETYPE_JUCEHEADER__
+
/*** End of inlined file: juce_PathStrokeType.h ***/
@@ -28114,6 +28193,7 @@ forcedinline void PixelARGB::blend (const PixelAlpha& src) noexcept
#undef PACKED
#endif // __JUCE_PIXELFORMATS_JUCEHEADER__
+
/*** End of inlined file: juce_PixelFormats.h ***/
/**
@@ -28435,6 +28515,7 @@ private:
};
#endif // __JUCE_COLOUR_JUCEHEADER__
+
/*** End of inlined file: juce_Colour.h ***/
/**
@@ -28512,6 +28593,7 @@ private:
};
#endif // __JUCE_COLOURS_JUCEHEADER__
+
/*** End of inlined file: juce_Colours.h ***/
@@ -28657,6 +28739,7 @@ private:
};
#endif // __JUCE_COLOURGRADIENT_JUCEHEADER__
+
/*** End of inlined file: juce_ColourGradient.h ***/
@@ -28795,6 +28878,7 @@ private:
};
#endif // __JUCE_RECTANGLEPLACEMENT_JUCEHEADER__
+
/*** End of inlined file: juce_RectanglePlacement.h ***/
class LowLevelGraphicsContext;
@@ -29444,6 +29528,7 @@ private:
};
#endif // __JUCE_GRAPHICS_JUCEHEADER__
+
/*** End of inlined file: juce_Graphics.h ***/
/**
@@ -29482,6 +29567,7 @@ public:
};
#endif // __JUCE_IMAGEEFFECTFILTER_JUCEHEADER__
+
/*** End of inlined file: juce_ImageEffectFilter.h ***/
@@ -29889,6 +29975,7 @@ private:
};
#endif // __JUCE_IMAGE_JUCEHEADER__
+
/*** End of inlined file: juce_Image.h ***/
@@ -30104,6 +30191,7 @@ private:
};
#endif // __JUCE_RECTANGLELIST_JUCEHEADER__
+
/*** End of inlined file: juce_RectangleList.h ***/
@@ -30231,6 +30319,7 @@ private:
};
#endif // __JUCE_BORDERSIZE_JUCEHEADER__
+
/*** End of inlined file: juce_BorderSize.h ***/
@@ -30281,6 +30370,7 @@ private:
};
#endif // __JUCE_DELETEDATSHUTDOWN_JUCEHEADER__
+
/*** End of inlined file: juce_DeletedAtShutdown.h ***/
/**
@@ -30611,6 +30701,7 @@ private:
};
#endif // __JUCE_MODALCOMPONENTMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_ModalComponentManager.h ***/
class LookAndFeel;
@@ -32875,6 +32966,7 @@ protected:
};
#endif // __JUCE_COMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_Component.h ***/
@@ -32937,6 +33029,7 @@ namespace StandardApplicationCommandIDs
}
#endif // __JUCE_APPLICATIONCOMMANDID_JUCEHEADER__
+
/*** End of inlined file: juce_ApplicationCommandID.h ***/
/**
@@ -33096,6 +33189,7 @@ struct JUCE_API ApplicationCommandInfo
};
#endif // __JUCE_APPLICATIONCOMMANDINFO_JUCEHEADER__
+
/*** End of inlined file: juce_ApplicationCommandInfo.h ***/
@@ -33160,6 +33254,7 @@ public:
};
#endif // __JUCE_MESSAGELISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_MessageListener.h ***/
/**
@@ -33381,6 +33476,7 @@ private:
};
#endif // __JUCE_APPLICATIONCOMMANDTARGET_JUCEHEADER__
+
/*** End of inlined file: juce_ApplicationCommandTarget.h ***/
@@ -33411,6 +33507,7 @@ public:
};
#endif // __JUCE_ACTIONLISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_ActionListener.h ***/
/**
@@ -33466,7 +33563,7 @@ public:
START_JUCE_APPLICATION (MyJUCEApp)
@endcode
- @see MessageManager, DeletedAtShutdown
+ @see MessageManager
*/
class JUCE_API JUCEApplication : public ApplicationCommandTarget
{
@@ -33597,7 +33694,7 @@ public:
and maybe cancel the quit, you'll need to handle this in the systemRequestedQuit()
method - see that method's help for more info.
- @see MessageManager, DeletedAtShutdown
+ @see MessageManager
*/
static void quit();
@@ -33659,6 +33756,7 @@ private:
};
#endif // __JUCE_APPLICATION_JUCEHEADER__
+
/*** End of inlined file: juce_Application.h ***/
@@ -33781,6 +33879,7 @@ private:
};
#endif // __JUCE_TIMER_JUCEHEADER__
+
/*** End of inlined file: juce_Timer.h ***/
@@ -33915,6 +34014,7 @@ private:
};
#endif // __JUCE_COMPONENTANIMATOR_JUCEHEADER__
+
/*** End of inlined file: juce_ComponentAnimator.h ***/
class MouseInputSource;
@@ -34117,6 +34217,21 @@ public:
*/
ComponentAnimator& getAnimator() noexcept { return animator; }
+ /** Returns the current default look-and-feel for components which don't have one
+ explicitly set.
+ @see setDefaultLookAndFeel
+ */
+ LookAndFeel& getDefaultLookAndFeel() noexcept;
+
+ /** Changes the default look-and-feel.
+ @param newDefaultLookAndFeel the new look-and-feel object to use - if this is
+ set to nullptr, it will revert to using the system's
+ default one. The object passed-in must be deleted by the
+ caller when it's no longer needed.
+ @see getDefaultLookAndFeel
+ */
+ void setDefaultLookAndFeel (LookAndFeel* newDefaultLookAndFeel);
+
/** Returns the number of MouseInputSource objects the system has at its disposal.
In a traditional single-mouse system, there might be only one object. On a multi-touch
system, there could be one input source per potential finger.
@@ -34233,6 +34348,9 @@ private:
ScopedPointer dragRepeater;
+ ScopedPointer defaultLookAndFeel;
+ WeakReference currentLookAndFeel;
+
Component* kioskModeComponent;
Rectangle kioskComponentOriginalBounds;
@@ -34263,6 +34381,7 @@ private:
};
#endif // __JUCE_DESKTOP_JUCEHEADER__
+
/*** End of inlined file: juce_Desktop.h ***/
class KeyPressMappingSet;
@@ -34584,6 +34703,7 @@ public:
};
#endif // __JUCE_APPLICATIONCOMMANDMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_ApplicationCommandManager.h ***/
@@ -34765,6 +34885,7 @@ private:
};
#endif // __JUCE_PROPERTIESFILE_JUCEHEADER__
+
/*** End of inlined file: juce_PropertiesFile.h ***/
/**
@@ -34888,6 +35009,7 @@ private:
};
#endif // __JUCE_APPLICATIONPROPERTIES_JUCEHEADER__
+
/*** End of inlined file: juce_ApplicationProperties.h ***/
@@ -35514,6 +35636,7 @@ private:
};
#endif // __JUCE_AUDIODATACONVERTERS_JUCEHEADER__
+
/*** End of inlined file: juce_AudioDataConverters.h ***/
class AudioFormat;
@@ -35729,6 +35852,7 @@ private:
};
#endif // __JUCE_AUDIOFORMATREADER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioFormatReader.h ***/
@@ -36167,6 +36291,7 @@ private:
};
#endif // __JUCE_AUDIOSAMPLEBUFFER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioSampleBuffer.h ***/
/**
@@ -36292,6 +36417,7 @@ public:
};
#endif // __JUCE_AUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_AudioSource.h ***/
class AudioThumbnail;
@@ -36508,6 +36634,7 @@ private:
};
#endif // __JUCE_AUDIOFORMATWRITER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioFormatWriter.h ***/
/**
@@ -36645,6 +36772,7 @@ private:
};
#endif // __JUCE_AUDIOFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_AudioFormat.h ***/
/**
@@ -36686,6 +36814,7 @@ private:
};
#endif // __JUCE_AIFFAUDIOFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_AiffAudioFormat.h ***/
@@ -36830,6 +36959,7 @@ private:
#endif
#endif // __JUCE_AUDIOCDBURNER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioCDBurner.h ***/
@@ -36995,6 +37125,7 @@ private:
#endif
#endif // __JUCE_AUDIOCDREADER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioCDReader.h ***/
@@ -37114,6 +37245,7 @@ private:
};
#endif // __JUCE_AUDIOFORMATMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioFormatManager.h ***/
@@ -37185,6 +37317,7 @@ private:
};
#endif // __JUCE_AUDIOSUBSECTIONREADER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioSubsectionReader.h ***/
@@ -37390,6 +37523,7 @@ private:
};
#endif // __JUCE_AUDIOTHUMBNAIL_JUCEHEADER__
+
/*** End of inlined file: juce_AudioThumbnail.h ***/
@@ -37455,6 +37589,7 @@ private:
};
#endif // __JUCE_AUDIOTHUMBNAILCACHE_JUCEHEADER__
+
/*** End of inlined file: juce_AudioThumbnailCache.h ***/
@@ -37505,6 +37640,7 @@ private:
#endif
#endif // __JUCE_FLACAUDIOFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_FlacAudioFormat.h ***/
@@ -37566,6 +37702,7 @@ private:
#endif
#endif // __JUCE_OGGVORBISAUDIOFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_OggVorbisAudioFormat.h ***/
@@ -37617,6 +37754,7 @@ private:
#endif
#endif // __JUCE_QUICKTIMEAUDIOFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_QuickTimeAudioFormat.h ***/
@@ -37741,6 +37879,7 @@ private:
};
#endif // __JUCE_WAVAUDIOFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_WavAudioFormat.h ***/
@@ -37803,6 +37942,7 @@ public:
};
#endif // __JUCE_POSITIONABLEAUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_PositionableAudioSource.h ***/
/**
@@ -37874,6 +38014,7 @@ private:
};
#endif // __JUCE_AUDIOFORMATREADERSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_AudioFormatReaderSource.h ***/
@@ -38178,6 +38319,7 @@ protected:
};
#endif // __JUCE_AUDIOIODEVICE_JUCEHEADER__
+
/*** End of inlined file: juce_AudioIODevice.h ***/
/**
@@ -38261,6 +38403,7 @@ private:
};
#endif // __JUCE_AUDIOSOURCEPLAYER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioSourcePlayer.h ***/
@@ -38347,6 +38490,7 @@ private:
};
#endif // __JUCE_BUFFERINGAUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_BufferingAudioSource.h ***/
@@ -38427,6 +38571,7 @@ private:
};
#endif // __JUCE_RESAMPLINGAUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_ResamplingAudioSource.h ***/
/**
@@ -38570,6 +38715,7 @@ private:
};
#endif // __JUCE_AUDIOTRANSPORTSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_AudioTransportSource.h ***/
@@ -38696,6 +38842,7 @@ private:
};
#endif // __JUCE_CHANNELREMAPPINGAUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_ChannelRemappingAudioSource.h ***/
@@ -38824,6 +38971,7 @@ protected:
};
#endif // __JUCE_IIRFILTER_JUCEHEADER__
+
/*** End of inlined file: juce_IIRFilter.h ***/
/**
@@ -38863,6 +39011,7 @@ private:
};
#endif // __JUCE_IIRFILTERAUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_IIRFilterAudioSource.h ***/
@@ -38954,6 +39103,7 @@ private:
};
#endif // __JUCE_MIXERAUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_MixerAudioSource.h ***/
@@ -39009,6 +39159,7 @@ private:
};
#endif // __JUCE_TONEGENERATORAUDIOSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_ToneGeneratorAudioSource.h ***/
@@ -39151,6 +39302,7 @@ private:
};
#endif // __JUCE_AUDIOIODEVICETYPE_JUCEHEADER__
+
/*** End of inlined file: juce_AudioIODeviceType.h ***/
@@ -40021,6 +40173,7 @@ private:
};
#endif // __JUCE_MIDIMESSAGE_JUCEHEADER__
+
/*** End of inlined file: juce_MidiMessage.h ***/
class MidiInput;
@@ -40172,6 +40325,7 @@ private:
};
#endif // __JUCE_MIDIINPUT_JUCEHEADER__
+
/*** End of inlined file: juce_MidiInput.h ***/
@@ -40386,6 +40540,7 @@ private:
};
#endif // __JUCE_MIDIBUFFER_JUCEHEADER__
+
/*** End of inlined file: juce_MidiBuffer.h ***/
/**
@@ -40449,17 +40604,6 @@ public:
*/
virtual void sendMessageNow (const MidiMessage& message);
- /** Sends a midi reset to the device. */
- virtual void reset();
-
- /** Returns the current volume setting for this device. */
- virtual bool getVolume (float& leftVol,
- float& rightVol);
-
- /** Changes the overall volume for this device. */
- virtual void setVolume (float leftVol,
- float rightVol);
-
/** This lets you supply a block of messages that will be sent out at some point
in the future.
@@ -40520,6 +40664,7 @@ private:
};
#endif // __JUCE_MIDIOUTPUT_JUCEHEADER__
+
/*** End of inlined file: juce_MidiOutput.h ***/
@@ -40614,6 +40759,7 @@ private:
};
#endif // __JUCE_TOOLTIPCLIENT_JUCEHEADER__
+
/*** End of inlined file: juce_TooltipClient.h ***/
/**
@@ -40698,6 +40844,7 @@ private:
};
#endif // __JUCE_TOOLTIPWINDOW_JUCEHEADER__
+
/*** End of inlined file: juce_TooltipWindow.h ***/
#if JUCE_VC6
@@ -41163,6 +41310,7 @@ private:
#endif
#endif // __JUCE_BUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_Button.h ***/
/**
@@ -41458,6 +41606,7 @@ private:
typedef ScrollBar::Listener ScrollBarListener;
#endif // __JUCE_SCROLLBAR_JUCEHEADER__
+
/*** End of inlined file: juce_ScrollBar.h ***/
/**
@@ -41700,6 +41849,7 @@ private:
};
#endif // __JUCE_VIEWPORT_JUCEHEADER__
+
/*** End of inlined file: juce_Viewport.h ***/
@@ -42160,6 +42310,7 @@ private:
};
#endif // __JUCE_POPUPMENU_JUCEHEADER__
+
/*** End of inlined file: juce_PopupMenu.h ***/
@@ -42214,6 +42365,7 @@ public:
};
#endif // __JUCE_TEXTINPUTTARGET_JUCEHEADER__
+
/*** End of inlined file: juce_TextInputTarget.h ***/
@@ -42269,6 +42421,7 @@ private:
};
#endif // __JUCE_CARETCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_CaretComponent.h ***/
/**
@@ -42899,6 +43052,7 @@ private:
typedef TextEditor::Listener TextEditorListener;
#endif // __JUCE_TEXTEDITOR_JUCEHEADER__
+
/*** End of inlined file: juce_TextEditor.h ***/
#if JUCE_VC6
@@ -43206,6 +43360,7 @@ typedef Label::Listener LabelListener;
#endif
#endif // __JUCE_LABEL_JUCEHEADER__
+
/*** End of inlined file: juce_Label.h ***/
#if JUCE_VC6
@@ -43576,6 +43731,7 @@ typedef ComboBox::Listener ComboBoxListener;
#endif
#endif // __JUCE_COMBOBOX_JUCEHEADER__
+
/*** End of inlined file: juce_ComboBox.h ***/
/**
@@ -44041,6 +44197,7 @@ private:
};
#endif // __JUCE_AUDIODEVICEMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioDeviceManager.h ***/
@@ -44135,6 +44292,7 @@ private:
};
#endif // __JUCE_DECIBELS_JUCEHEADER__
+
/*** End of inlined file: juce_Decibels.h ***/
@@ -44396,6 +44554,7 @@ private:
};
#endif // __JUCE_MIDIMESSAGESEQUENCE_JUCEHEADER__
+
/*** End of inlined file: juce_MidiMessageSequence.h ***/
/**
@@ -44548,6 +44707,7 @@ private:
};
#endif // __JUCE_MIDIFILE_JUCEHEADER__
+
/*** End of inlined file: juce_MidiFile.h ***/
@@ -44732,6 +44892,7 @@ private:
};
#endif // __JUCE_MIDIKEYBOARDSTATE_JUCEHEADER__
+
/*** End of inlined file: juce_MidiKeyboardState.h ***/
@@ -44814,6 +44975,7 @@ private:
};
#endif // __JUCE_MIDIMESSAGECOLLECTOR_JUCEHEADER__
+
/*** End of inlined file: juce_MidiMessageCollector.h ***/
@@ -44883,6 +45045,7 @@ private:
};
#endif // __JUCE_AUDIOPROCESSOREDITOR_JUCEHEADER__
+
/*** End of inlined file: juce_AudioProcessorEditor.h ***/
@@ -44968,6 +45131,7 @@ public:
};
#endif // __JUCE_AUDIOPROCESSORLISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioProcessorListener.h ***/
@@ -45064,6 +45228,7 @@ public:
};
#endif // __JUCE_AUDIOPLAYHEAD_JUCEHEADER__
+
/*** End of inlined file: juce_AudioPlayHead.h ***/
/**
@@ -45607,6 +45772,7 @@ private:
};
#endif // __JUCE_AUDIOPROCESSOR_JUCEHEADER__
+
/*** End of inlined file: juce_AudioProcessor.h ***/
@@ -45722,6 +45888,7 @@ private:
};
#endif // __JUCE_PLUGINDESCRIPTION_JUCEHEADER__
+
/*** End of inlined file: juce_PluginDescription.h ***/
/**
@@ -45762,6 +45929,7 @@ protected:
};
#endif // __JUCE_AUDIOPLUGININSTANCE_JUCEHEADER__
+
/*** End of inlined file: juce_AudioPluginInstance.h ***/
class PluginDescription;
@@ -45845,6 +46013,7 @@ protected:
};
#endif // __JUCE_AUDIOPLUGINFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_AudioPluginFormat.h ***/
#if JUCE_PLUGINHOST_AU && JUCE_MAC
@@ -45876,6 +46045,7 @@ private:
#endif
#endif // __JUCE_AUDIOUNITPLUGINFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_AudioUnitPluginFormat.h ***/
@@ -45914,6 +46084,7 @@ private:
#endif
#endif // __JUCE_DIRECTXPLUGINFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_DirectXPluginFormat.h ***/
@@ -45952,6 +46123,7 @@ private:
#endif
#endif // __JUCE_LADSPAPLUGINFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_LADSPAPluginFormat.h ***/
@@ -46114,6 +46286,7 @@ private:
#endif // __JUCE_VSTMIDIEVENTLIST_JUCEHEADER__
#endif // __JUCE_VSTMIDIEVENTLIST_JUCEHEADER__
+
/*** End of inlined file: juce_VSTMidiEventList.h ***/
@@ -46154,6 +46327,7 @@ private:
#endif
#endif // __JUCE_VSTPLUGINFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_VSTPluginFormat.h ***/
@@ -46230,6 +46404,7 @@ private:
};
#endif // __JUCE_AUDIOPLUGINFORMATMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioPluginFormatManager.h ***/
@@ -46369,6 +46544,7 @@ private:
};
#endif // __JUCE_KNOWNPLUGINLIST_JUCEHEADER__
+
/*** End of inlined file: juce_KnownPluginList.h ***/
@@ -46472,6 +46648,7 @@ private:
};
#endif // __JUCE_PLUGINDIRECTORYSCANNER_JUCEHEADER__
+
/*** End of inlined file: juce_PluginDirectoryScanner.h ***/
@@ -47027,6 +47204,7 @@ private:
};
#endif // __JUCE_LISTBOX_JUCEHEADER__
+
/*** End of inlined file: juce_ListBox.h ***/
@@ -47103,6 +47281,7 @@ private:
};
#endif // __JUCE_TEXTBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_TextButton.h ***/
/**
@@ -47167,6 +47346,7 @@ private:
};
#endif // __JUCE_PLUGINLISTCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_PluginListComponent.h ***/
@@ -47561,6 +47741,7 @@ private:
};
#endif // __JUCE_AUDIOPROCESSORGRAPH_JUCEHEADER__
+
/*** End of inlined file: juce_AudioProcessorGraph.h ***/
@@ -47646,6 +47827,7 @@ private:
};
#endif // __JUCE_AUDIOPROCESSORPLAYER_JUCEHEADER__
+
/*** End of inlined file: juce_AudioProcessorPlayer.h ***/
@@ -47753,6 +47935,7 @@ private:
};
#endif // __JUCE_PROPERTYCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_PropertyComponent.h ***/
/**
@@ -47880,6 +48063,7 @@ private:
};
#endif // __JUCE_PROPERTYPANEL_JUCEHEADER__
+
/*** End of inlined file: juce_PropertyPanel.h ***/
/**
@@ -47909,6 +48093,7 @@ private:
};
#endif // __JUCE_GENERICAUDIOPROCESSOREDITOR_JUCEHEADER__
+
/*** End of inlined file: juce_GenericAudioProcessorEditor.h ***/
@@ -48353,6 +48538,7 @@ private:
};
#endif // __JUCE_SYNTHESISER_JUCEHEADER__
+
/*** End of inlined file: juce_Synthesiser.h ***/
/**
@@ -48469,6 +48655,7 @@ private:
};
#endif // __JUCE_SAMPLER_JUCEHEADER__
+
/*** End of inlined file: juce_Sampler.h ***/
@@ -48537,6 +48724,7 @@ private:
};
#endif // __JUCE_ACTIONBROADCASTER_JUCEHEADER__
+
/*** End of inlined file: juce_ActionBroadcaster.h ***/
@@ -48735,6 +48923,7 @@ private:
};
#endif // __JUCE_INTERPROCESSCONNECTION_JUCEHEADER__
+
/*** End of inlined file: juce_InterprocessConnection.h ***/
@@ -48806,6 +48995,7 @@ private:
};
#endif // __JUCE_INTERPROCESSCONNECTIONSERVER_JUCEHEADER__
+
/*** End of inlined file: juce_InterprocessConnectionServer.h ***/
@@ -49087,6 +49277,7 @@ private:
};
#endif // __JUCE_MESSAGEMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_MessageManager.h ***/
@@ -49191,6 +49382,7 @@ private:
};
#endif // __JUCE_MULTITIMER_JUCEHEADER__
+
/*** End of inlined file: juce_MultiTimer.h ***/
@@ -49264,6 +49456,7 @@ private:
};
#endif // __JUCE_DROPSHADOWEFFECT_JUCEHEADER__
+
/*** End of inlined file: juce_DropShadowEffect.h ***/
/**
@@ -49310,6 +49503,7 @@ private:
};
#endif // __JUCE_ARROWBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_ArrowButton.h ***/
@@ -49440,6 +49634,7 @@ private:
};
#endif // __JUCE_RELATIVECOORDINATE_JUCEHEADER__
+
/*** End of inlined file: juce_RelativeCoordinate.h ***/
@@ -49512,6 +49707,7 @@ public:
};
#endif // __JUCE_RELATIVEPOINT_JUCEHEADER__
+
/*** End of inlined file: juce_RelativePoint.h ***/
@@ -49669,6 +49865,7 @@ private:
};
#endif // __JUCE_MARKERLIST_JUCEHEADER__
+
/*** End of inlined file: juce_MarkerList.h ***/
/**
@@ -49733,6 +49930,7 @@ private:
};
#endif // __JUCE_RELATIVECOORDINATEPOSITIONER_JUCEHEADER__
+
/*** End of inlined file: juce_RelativeCoordinatePositioner.h ***/
@@ -49953,6 +50151,7 @@ private:
};
#endif // __JUCE_COMPONENTBUILDER_JUCEHEADER__
+
/*** End of inlined file: juce_ComponentBuilder.h ***/
class DrawableComposite;
@@ -50167,6 +50366,7 @@ private:
};
#endif // __JUCE_DRAWABLE_JUCEHEADER__
+
/*** End of inlined file: juce_Drawable.h ***/
/**
@@ -50321,6 +50521,7 @@ private:
};
#endif // __JUCE_DRAWABLEBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_DrawableButton.h ***/
@@ -50411,6 +50612,7 @@ private:
};
#endif // __JUCE_HYPERLINKBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_HyperlinkButton.h ***/
@@ -50541,6 +50743,7 @@ private:
};
#endif // __JUCE_IMAGEBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_ImageButton.h ***/
@@ -50624,6 +50827,7 @@ private:
};
#endif // __JUCE_SHAPEBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_ShapeButton.h ***/
@@ -50693,6 +50897,7 @@ private:
};
#endif // __JUCE_TOGGLEBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_ToggleButton.h ***/
@@ -50840,6 +51045,7 @@ private:
};
#endif // __JUCE_DRAGANDDROPTARGET_JUCEHEADER__
+
/*** End of inlined file: juce_DragAndDropTarget.h ***/
/**
@@ -50989,6 +51195,7 @@ private:
};
#endif // __JUCE_DRAGANDDROPCONTAINER_JUCEHEADER__
+
/*** End of inlined file: juce_DragAndDropContainer.h ***/
class ToolbarItemComponent;
@@ -51264,6 +51471,7 @@ private:
};
#endif // __JUCE_TOOLBAR_JUCEHEADER__
+
/*** End of inlined file: juce_Toolbar.h ***/
class ItemDragAndDropOverlayComponent;
@@ -51436,6 +51644,7 @@ private:
};
#endif // __JUCE_TOOLBARITEMCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ToolbarItemComponent.h ***/
/**
@@ -51501,6 +51710,7 @@ private:
};
#endif // __JUCE_TOOLBARBUTTON_JUCEHEADER__
+
/*** End of inlined file: juce_ToolbarButton.h ***/
@@ -51871,6 +52081,7 @@ private:
};
#endif // __JUCE_CODEDOCUMENT_JUCEHEADER__
+
/*** End of inlined file: juce_CodeDocument.h ***/
@@ -51923,6 +52134,7 @@ private:
};
#endif // __JUCE_CODETOKENISER_JUCEHEADER__
+
/*** End of inlined file: juce_CodeTokeniser.h ***/
/**
@@ -52195,6 +52407,7 @@ private:
};
#endif // __JUCE_CODEEDITORCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_CodeEditorComponent.h ***/
@@ -52248,6 +52461,7 @@ private:
};
#endif // __JUCE_CPLUSPLUSCODETOKENISER_JUCEHEADER__
+
/*** End of inlined file: juce_CPlusPlusCodeTokeniser.h ***/
@@ -52307,6 +52521,7 @@ private:
};
#endif // __JUCE_IMAGECOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ImageComponent.h ***/
@@ -52407,6 +52622,7 @@ private:
};
#endif // __JUCE_PROGRESSBAR_JUCEHEADER__
+
/*** End of inlined file: juce_ProgressBar.h ***/
@@ -53233,6 +53449,7 @@ typedef Slider::Listener SliderListener;
#endif
#endif // __JUCE_SLIDER_JUCEHEADER__
+
/*** End of inlined file: juce_Slider.h ***/
@@ -53634,6 +53851,7 @@ private:
typedef TableHeaderComponent::Listener TableHeaderListener;
#endif // __JUCE_TABLEHEADERCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_TableHeaderComponent.h ***/
@@ -53932,6 +54150,7 @@ private:
};
#endif // __JUCE_TABLELISTBOX_JUCEHEADER__
+
/*** End of inlined file: juce_TableListBox.h ***/
@@ -54027,6 +54246,7 @@ public:
};
#endif // __JUCE_TOOLBARITEMFACTORY_JUCEHEADER__
+
/*** End of inlined file: juce_ToolbarItemFactory.h ***/
@@ -54082,6 +54302,7 @@ private:
};
#endif // __JUCE_TOOLBARITEMPALETTE_JUCEHEADER__
+
/*** End of inlined file: juce_ToolbarItemPalette.h ***/
@@ -54173,6 +54394,7 @@ public:
};
#endif // __JUCE_FILEDRAGANDDROPTARGET_JUCEHEADER__
+
/*** End of inlined file: juce_FileDragAndDropTarget.h ***/
class TreeView;
@@ -54945,6 +55167,7 @@ private:
};
#endif // __JUCE_TREEVIEW_JUCEHEADER__
+
/*** End of inlined file: juce_TreeView.h ***/
@@ -55005,6 +55228,7 @@ protected:
};
#endif // __JUCE_FILEFILTER_JUCEHEADER__
+
/*** End of inlined file: juce_FileFilter.h ***/
/**
@@ -55183,6 +55407,7 @@ private:
};
#endif // __JUCE_DIRECTORYCONTENTSLIST_JUCEHEADER__
+
/*** End of inlined file: juce_DirectoryContentsList.h ***/
@@ -55213,6 +55438,7 @@ public:
};
#endif // __JUCE_FILEBROWSERLISTENER_JUCEHEADER__
+
/*** End of inlined file: juce_FileBrowserListener.h ***/
/**
@@ -55287,6 +55513,7 @@ private:
};
#endif // __JUCE_DIRECTORYCONTENTSDISPLAYCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_DirectoryContentsDisplayComponent.h ***/
@@ -55339,6 +55566,7 @@ private:
};
#endif // __JUCE_FILEPREVIEWCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_FilePreviewComponent.h ***/
/**
@@ -55538,6 +55766,7 @@ private:
};
#endif // __JUCE_FILEBROWSERCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_FileBrowserComponent.h ***/
@@ -55708,6 +55937,7 @@ private:
};
#endif // __JUCE_FILECHOOSER_JUCEHEADER__
+
/*** End of inlined file: juce_FileChooser.h ***/
@@ -55794,6 +56024,7 @@ private:
};
#endif // __JUCE_DROPSHADOWER_JUCEHEADER__
+
/*** End of inlined file: juce_DropShadower.h ***/
/**
@@ -55922,6 +56153,7 @@ private:
};
#endif // __JUCE_TOPLEVELWINDOW_JUCEHEADER__
+
/*** End of inlined file: juce_TopLevelWindow.h ***/
@@ -56095,6 +56327,7 @@ private:
};
#endif // __JUCE_COMPONENTBOUNDSCONSTRAINER_JUCEHEADER__
+
/*** End of inlined file: juce_ComponentBoundsConstrainer.h ***/
/**
@@ -56168,6 +56401,7 @@ private:
};
#endif // __JUCE_COMPONENTDRAGGER_JUCEHEADER__
+
/*** End of inlined file: juce_ComponentDragger.h ***/
@@ -56337,6 +56571,7 @@ private:
};
#endif // __JUCE_RESIZABLEBORDERCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ResizableBorderComponent.h ***/
@@ -56404,6 +56639,7 @@ private:
};
#endif // __JUCE_RESIZABLECORNERCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ResizableCornerComponent.h ***/
/**
@@ -56749,6 +56985,7 @@ private:
};
#endif // __JUCE_RESIZABLEWINDOW_JUCEHEADER__
+
/*** End of inlined file: juce_ResizableWindow.h ***/
@@ -57017,6 +57254,7 @@ private:
};
#endif // __JUCE_GLYPHARRANGEMENT_JUCEHEADER__
+
/*** End of inlined file: juce_GlyphArrangement.h ***/
@@ -57143,6 +57381,7 @@ private:
};
#endif // __JUCE_TEXTLAYOUT_JUCEHEADER__
+
/*** End of inlined file: juce_TextLayout.h ***/
/** A window that displays a message and has buttons for the user to react to it.
@@ -57556,6 +57795,7 @@ private:
};
#endif // __JUCE_ALERTWINDOW_JUCEHEADER__
+
/*** End of inlined file: juce_AlertWindow.h ***/
/**
@@ -57684,6 +57924,7 @@ private:
};
#endif // __JUCE_FILECHOOSERDIALOGBOX_JUCEHEADER__
+
/*** End of inlined file: juce_FileChooserDialogBox.h ***/
@@ -57762,6 +58003,7 @@ private:
};
#endif // __JUCE_FILELISTCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_FileListComponent.h ***/
@@ -57951,6 +58193,7 @@ private:
};
#endif // __JUCE_FILENAMECOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_FilenameComponent.h ***/
@@ -58048,6 +58291,7 @@ private:
};
#endif // __JUCE_FILESEARCHPATHLISTCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_FileSearchPathListComponent.h ***/
@@ -58117,6 +58361,7 @@ private:
};
#endif // __JUCE_FILETREECOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_FileTreeComponent.h ***/
@@ -58161,6 +58406,7 @@ private:
};
#endif // __JUCE_IMAGEPREVIEWCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ImagePreviewComponent.h ***/
@@ -58217,6 +58463,7 @@ private:
};
#endif // __JUCE_WILDCARDFILEFILTER_JUCEHEADER__
+
/*** End of inlined file: juce_WildcardFileFilter.h ***/
@@ -58473,6 +58720,7 @@ private:
};
#endif // __JUCE_KEYPRESSMAPPINGSET_JUCEHEADER__
+
/*** End of inlined file: juce_KeyPressMappingSet.h ***/
/**
@@ -58573,6 +58821,7 @@ private:
};
#endif // __JUCE_KEYMAPPINGEDITORCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_KeyMappingEditorComponent.h ***/
@@ -58664,6 +58913,7 @@ private:
};
#endif // __JUCE_COMPONENTMOVEMENTWATCHER_JUCEHEADER__
+
/*** End of inlined file: juce_ComponentMovementWatcher.h ***/
@@ -58742,6 +58992,7 @@ private:
};
#endif // __JUCE_GROUPCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_GroupComponent.h ***/
@@ -59027,6 +59278,7 @@ private:
};
#endif // __JUCE_TABBEDBUTTONBAR_JUCEHEADER__
+
/*** End of inlined file: juce_TabbedButtonBar.h ***/
/**
@@ -59232,6 +59484,7 @@ private:
};
#endif // __JUCE_TABBEDCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_TabbedComponent.h ***/
@@ -59383,6 +59636,7 @@ private:
typedef MenuBarModel::Listener MenuBarModelListener;
#endif // __JUCE_MENUBARMODEL_JUCEHEADER__
+
/*** End of inlined file: juce_MenuBarModel.h ***/
/**
@@ -59619,6 +59873,7 @@ private:
};
#endif // __JUCE_DOCUMENTWINDOW_JUCEHEADER__
+
/*** End of inlined file: juce_DocumentWindow.h ***/
class MultiDocumentPanel;
@@ -59886,6 +60141,7 @@ private:
};
#endif // __JUCE_MULTIDOCUMENTPANEL_JUCEHEADER__
+
/*** End of inlined file: juce_MultiDocumentPanel.h ***/
@@ -59971,6 +60227,7 @@ private:
};
#endif // __JUCE_RESIZABLEEDGECOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ResizableEdgeComponent.h ***/
@@ -60208,6 +60465,7 @@ private:
};
#endif // __JUCE_STRETCHABLELAYOUTMANAGER_JUCEHEADER__
+
/*** End of inlined file: juce_StretchableLayoutManager.h ***/
@@ -60279,6 +60537,7 @@ private:
};
#endif // __JUCE_STRETCHABLELAYOUTRESIZERBAR_JUCEHEADER__
+
/*** End of inlined file: juce_StretchableLayoutResizerBar.h ***/
@@ -60358,6 +60617,7 @@ private:
};
#endif // __JUCE_STRETCHABLEOBJECTRESIZER_JUCEHEADER__
+
/*** End of inlined file: juce_StretchableObjectResizer.h ***/
@@ -60956,8 +61216,9 @@ public:
private:
- friend JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI();
- static void clearDefaultLookAndFeel() noexcept; // called at shutdown
+ friend class WeakReference;
+ WeakReference::Master weakReferenceMaster;
+ const WeakReference::SharedRef& getWeakReference();
Array colourIds;
Array colours;
@@ -60985,6 +61246,7 @@ private:
};
#endif // __JUCE_LOOKANDFEEL_JUCEHEADER__
+
/*** End of inlined file: juce_LookAndFeel.h ***/
@@ -61111,6 +61373,7 @@ private:
};
#endif // __JUCE_OLDSCHOOLLOOKANDFEEL_JUCEHEADER__
+
/*** End of inlined file: juce_OldSchoolLookAndFeel.h ***/
@@ -61209,6 +61472,7 @@ private:
};
#endif // __JUCE_MENUBARCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_MenuBarComponent.h ***/
@@ -61522,6 +61786,7 @@ private:
};
#endif // __JUCE_SELECTEDITEMSET_JUCEHEADER__
+
/*** End of inlined file: juce_SelectedItemSet.h ***/
/**
@@ -61729,6 +61994,7 @@ private:
};
#endif // __JUCE_LASSOCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_LassoComponent.h ***/
@@ -61896,6 +62162,7 @@ private:
};
#endif // __JUCE_MOUSEINPUTSOURCE_JUCEHEADER__
+
/*** End of inlined file: juce_MouseInputSource.h ***/
@@ -61954,6 +62221,7 @@ public:
};
#endif // __JUCE_RELATIVEPARALLELOGRAM_JUCEHEADER__
+
/*** End of inlined file: juce_RelativeParallelogram.h ***/
@@ -62120,6 +62388,7 @@ private:
};
#endif // __JUCE_RELATIVEPOINTPATH_JUCEHEADER__
+
/*** End of inlined file: juce_RelativePointPath.h ***/
@@ -62206,6 +62475,7 @@ public:
};
#endif // __JUCE_RELATIVERECTANGLE_JUCEHEADER__
+
/*** End of inlined file: juce_RelativeRectangle.h ***/
@@ -62277,6 +62547,7 @@ private:
};
#endif // __JUCE_BOOLEANPROPERTYCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_BooleanPropertyComponent.h ***/
@@ -62333,6 +62604,7 @@ private:
};
#endif // __JUCE_BUTTONPROPERTYCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ButtonPropertyComponent.h ***/
@@ -62434,6 +62706,7 @@ private:
};
#endif // __JUCE_CHOICEPROPERTYCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ChoicePropertyComponent.h ***/
@@ -62519,6 +62792,7 @@ private:
};
#endif // __JUCE_SLIDERPROPERTYCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_SliderPropertyComponent.h ***/
@@ -62590,6 +62864,7 @@ private:
};
#endif // __JUCE_TEXTPROPERTYCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_TextPropertyComponent.h ***/
@@ -62699,6 +62974,7 @@ private:
#endif
#endif // __JUCE_ACTIVEXCONTROLCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_ActiveXControlComponent.h ***/
@@ -62787,6 +63063,7 @@ private:
};
#endif // __JUCE_AUDIODEVICESELECTORCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_AudioDeviceSelectorComponent.h ***/
@@ -62919,6 +63196,7 @@ private:
};
#endif // __JUCE_BUBBLECOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_BubbleComponent.h ***/
@@ -63027,6 +63305,7 @@ private:
};
#endif // __JUCE_BUBBLEMESSAGECOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_BubbleMessageComponent.h ***/
@@ -63170,6 +63449,7 @@ private:
};
#endif // __JUCE_COLOURSELECTOR_JUCEHEADER__
+
/*** End of inlined file: juce_ColourSelector.h ***/
@@ -63558,6 +63838,7 @@ private:
};
#endif // __JUCE_MIDIKEYBOARDCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_MidiKeyboardComponent.h ***/
@@ -63627,6 +63908,7 @@ private:
#endif
#endif // __JUCE_NSVIEWCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_NSViewComponent.h ***/
@@ -63791,10 +64073,10 @@ public:
{
openGLDefault = 0,
-#if JUCE_IOS
+ #if JUCE_IOS
openGLES1, /**< On the iPhone, this selects openGL ES 1.0 */
openGLES2 /**< On the iPhone, this selects openGL ES 2.0 */
-#endif
+ #endif
};
/** Creates an OpenGLComponent. */
@@ -63875,7 +64157,8 @@ public:
/** This method is called when the component shuts down its OpenGL context.
You can use this callback to delete textures and any other OpenGL objects you
- created in the component's context.
+ created in the component's context. Be aware: if you are using a render
+ thread, this may be called on the thread.
When this callback happens, the context will have been made current
using the makeCurrentContextActive() method, so there's no need to call it
@@ -63935,13 +64218,6 @@ public:
*/
virtual bool renderAndSwapBuffers();
- /** Wait after swapping before next render pass.
-
- Used when rendering is running on a thread. The default is 20 millseconds, giving
- a nominal frame rate of just under 50 fps.
- */
- virtual void waitAfterSwapping();
-
/** This returns a critical section that can be used to lock the current context.
Because the context that is used by this component can change, e.g. when the
@@ -63962,6 +64238,19 @@ public:
This can be called back on the same thread that created the context. */
void deleteContext();
+protected:
+ /** Kicks off a thread to start rendering.
+ The default implementation creates and manages an internal thread that tries
+ to render at around 50fps, but this can be overloaded to create a custom thread.
+ */
+ virtual void startRenderThread();
+
+ /** Cleans up the rendering thread.
+ Used to shut down the thread that was started by startRenderThread(). If you've
+ created a custom thread, then you should overload this to clean it up and delete it.
+ */
+ virtual void stopRenderThread();
+
/** @internal */
void paint (Graphics& g);
@@ -63994,6 +64283,7 @@ private:
#endif
#endif // __JUCE_OPENGLCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_OpenGLComponent.h ***/
@@ -64117,6 +64407,7 @@ private:
};
#endif // __JUCE_PREFERENCESPANEL_JUCEHEADER__
+
/*** End of inlined file: juce_PreferencesPanel.h ***/
@@ -64323,6 +64614,7 @@ private:
#endif
#endif // __JUCE_QUICKTIMEMOVIECOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_QuickTimeMovieComponent.h ***/
@@ -64379,6 +64671,7 @@ private:
#endif
#endif // __JUCE_SYSTEMTRAYICONCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_SystemTrayIconComponent.h ***/
@@ -64484,6 +64777,7 @@ private:
#endif
#endif // __JUCE_WEBBROWSERCOMPONENT_JUCEHEADER__
+
/*** End of inlined file: juce_WebBrowserComponent.h ***/
@@ -64589,6 +64883,7 @@ private:
};
#endif // __JUCE_CALLOUTBOX_JUCEHEADER__
+
/*** End of inlined file: juce_CallOutBox.h ***/
@@ -64937,6 +65232,7 @@ private:
};
#endif // __JUCE_COMPONENTPEER_JUCEHEADER__
+
/*** End of inlined file: juce_ComponentPeer.h ***/
@@ -65091,6 +65387,7 @@ private:
};
#endif // __JUCE_DIALOGWINDOW_JUCEHEADER__
+
/*** End of inlined file: juce_DialogWindow.h ***/
@@ -65233,6 +65530,7 @@ public:
};
#endif // __JUCE_NATIVEMESSAGEBOX_JUCEHEADER__
+
/*** End of inlined file: juce_NativeMessageBox.h ***/
@@ -65359,6 +65657,7 @@ private:
};
#endif // __JUCE_SPLASHSCREEN_JUCEHEADER__
+
/*** End of inlined file: juce_SplashScreen.h ***/
@@ -65494,6 +65793,7 @@ private:
};
#endif // __JUCE_THREADWITHPROGRESSWINDOW_JUCEHEADER__
+
/*** End of inlined file: juce_ThreadWithProgressWindow.h ***/
@@ -65696,6 +65996,7 @@ private:
};
#endif // __JUCE_EDGETABLE_JUCEHEADER__
+
/*** End of inlined file: juce_EdgeTable.h ***/
@@ -65812,6 +66113,7 @@ private:
};
#endif // __JUCE_FILLTYPE_JUCEHEADER__
+
/*** End of inlined file: juce_FillType.h ***/
@@ -65897,6 +66199,7 @@ public:
};
#endif // __JUCE_LOWLEVELGRAPHICSCONTEXT_JUCEHEADER__
+
/*** End of inlined file: juce_LowLevelGraphicsContext.h ***/
@@ -65996,6 +66299,7 @@ protected:
};
#endif // __JUCE_LOWLEVELGRAPHICSPOSTSCRIPTRENDERER_JUCEHEADER__
+
/*** End of inlined file: juce_LowLevelGraphicsPostScriptRenderer.h ***/
@@ -66079,6 +66383,7 @@ protected:
};
#endif // __JUCE_LOWLEVELGRAPHICSSOFTWARERENDERER_JUCEHEADER__
+
/*** End of inlined file: juce_LowLevelGraphicsSoftwareRenderer.h ***/
@@ -66217,6 +66522,7 @@ private:
};
#endif // __JUCE_DRAWABLECOMPOSITE_JUCEHEADER__
+
/*** End of inlined file: juce_DrawableComposite.h ***/
@@ -66332,6 +66638,7 @@ private:
};
#endif // __JUCE_DRAWABLEIMAGE_JUCEHEADER__
+
/*** End of inlined file: juce_DrawableImage.h ***/
@@ -66492,6 +66799,7 @@ private:
};
#endif // __JUCE_DRAWABLESHAPE_JUCEHEADER__
+
/*** End of inlined file: juce_DrawableShape.h ***/
/**
@@ -66606,6 +66914,7 @@ private:
};
#endif // __JUCE_DRAWABLEPATH_JUCEHEADER__
+
/*** End of inlined file: juce_DrawablePath.h ***/
@@ -66685,6 +66994,7 @@ private:
};
#endif // __JUCE_DRAWABLERECTANGLE_JUCEHEADER__
+
/*** End of inlined file: juce_DrawableRectangle.h ***/
@@ -66813,6 +67123,7 @@ private:
};
#endif // __JUCE_DRAWABLETEXT_JUCEHEADER__
+
/*** End of inlined file: juce_DrawableText.h ***/
@@ -66867,6 +67178,7 @@ private:
};
#endif // __JUCE_GLOWEFFECT_JUCEHEADER__
+
/*** End of inlined file: juce_GlowEffect.h ***/
@@ -66986,6 +67298,7 @@ private:
};
#endif // __JUCE_PATHITERATOR_JUCEHEADER__
+
/*** End of inlined file: juce_PathIterator.h ***/
@@ -67132,6 +67445,7 @@ typedef CameraDevice::Listener CameraImageListener;
#endif
#endif // __JUCE_CAMERADEVICE_JUCEHEADER__
+
/*** End of inlined file: juce_CameraDevice.h ***/
@@ -67235,6 +67549,7 @@ private:
};
#endif // __JUCE_IMAGECACHE_JUCEHEADER__
+
/*** End of inlined file: juce_ImageCache.h ***/
@@ -67323,6 +67638,7 @@ private:
};
#endif // __JUCE_IMAGECONVOLUTIONKERNEL_JUCEHEADER__
+
/*** End of inlined file: juce_ImageConvolutionKernel.h ***/
@@ -67497,6 +67813,7 @@ public:
};
#endif // __JUCE_IMAGEFILEFORMAT_JUCEHEADER__
+
/*** End of inlined file: juce_ImageFileFormat.h ***/
@@ -67762,6 +68079,7 @@ private:
};
#endif // __JUCE_FILEBASEDDOCUMENT_JUCEHEADER__
+
/*** End of inlined file: juce_FileBasedDocument.h ***/
@@ -67899,6 +68217,7 @@ private:
};
#endif // __JUCE_RECENTLYOPENEDFILESLIST_JUCEHEADER__
+
/*** End of inlined file: juce_RecentlyOpenedFilesList.h ***/
@@ -67930,6 +68249,7 @@ public:
};
#endif // __JUCE_SYSTEMCLIPBOARD_JUCEHEADER__
+
/*** End of inlined file: juce_SystemClipboard.h ***/
@@ -68178,12 +68498,14 @@ private:
};
#endif // __JUCE_UNITTEST_JUCEHEADER__
+
/*** End of inlined file: juce_UnitTest.h ***/
#endif
#endif
+
/*** End of inlined file: juce_app_includes.h ***/
@@ -68325,6 +68647,7 @@ END_JUCE_NAMESPACE
#pragma comment (lib, "Dwrite.lib")
#pragma comment (lib, "D2d1.lib")
#endif
+
/*** End of inlined file: juce_win32_AutoLinkLibraries.h ***/
@@ -68335,6 +68658,8 @@ END_JUCE_NAMESPACE
#endif
#endif // __JUCE_JUCEHEADER__
+
/*** End of inlined file: juce.h ***/
#endif // __JUCE_AMALGAMATED_TEMPLATE_JUCEHEADER__
+
diff --git a/src/application/juce_Application.h b/src/application/juce_Application.h
index f1c8acb8d9..8864441563 100644
--- a/src/application/juce_Application.h
+++ b/src/application/juce_Application.h
@@ -85,7 +85,7 @@
START_JUCE_APPLICATION (MyJUCEApp)
@endcode
- @see MessageManager, DeletedAtShutdown
+ @see MessageManager
*/
class JUCE_API JUCEApplication : public ApplicationCommandTarget
{
@@ -220,7 +220,7 @@ public:
and maybe cancel the quit, you'll need to handle this in the systemRequestedQuit()
method - see that method's help for more info.
- @see MessageManager, DeletedAtShutdown
+ @see MessageManager
*/
static void quit();
diff --git a/src/audio/midi/juce_MidiOutput.h b/src/audio/midi/juce_MidiOutput.h
index 7f66088933..fc5739523e 100644
--- a/src/audio/midi/juce_MidiOutput.h
+++ b/src/audio/midi/juce_MidiOutput.h
@@ -96,19 +96,6 @@ public:
*/
virtual void sendMessageNow (const MidiMessage& message);
- /** Sends a midi reset to the device. */
- virtual void reset();
-
-
- //==============================================================================
- /** Returns the current volume setting for this device. */
- virtual bool getVolume (float& leftVol,
- float& rightVol);
-
- /** Changes the overall volume for this device. */
- virtual void setVolume (float leftVol,
- float rightVol);
-
//==============================================================================
/** This lets you supply a block of messages that will be sent out at some point
in the future.
diff --git a/src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp b/src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp
index 7c9714b85e..276769d483 100644
--- a/src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp
+++ b/src/audio/plugin_client/RTAS/juce_RTAS_Wrapper.cpp
@@ -926,15 +926,14 @@ public:
DefineManufacturerNamesAndID (JucePlugin_Manufacturer, JucePlugin_RTASManufacturerCode);
DefinePlugInNamesAndVersion (createRTASName().toUTF8(), JucePlugin_VersionCode);
-#ifndef JUCE_DEBUG
+ #ifndef JUCE_DEBUG
AddGestalt (pluginGestalt_IsCacheable);
-#endif
+ #endif
}
~JucePlugInGroup()
{
shutdownJuce_GUI();
- shutdownJuce_NonGUI();
}
//==============================================================================
@@ -1021,7 +1020,6 @@ CProcessGroupInterface* CProcessGroup::CreateProcessGroup()
initialiseMacRTAS();
#endif
- initialiseJuce_NonGUI();
return new JucePlugInGroup();
}
diff --git a/src/core/juce_Initialisation.cpp b/src/core/juce_Initialisation.cpp
index 0a1c8716a7..900bc38e85 100644
--- a/src/core/juce_Initialisation.cpp
+++ b/src/core/juce_Initialisation.cpp
@@ -27,43 +27,12 @@
BEGIN_JUCE_NAMESPACE
-#include "../memory/juce_Atomic.h"
#include "juce_PlatformUtilities.h"
-#include "juce_SystemStats.h"
-#include "../text/juce_LocalisedStrings.h"
-#include "../io/streams/juce_MemoryOutputStream.h"
-#include "../io/streams/juce_MemoryInputStream.h"
-#include "../threads/juce_Thread.h"
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
#include "../events/juce_MessageManager.h"
- #include "../gui/components/buttons/juce_TextButton.h"
- #include "../gui/components/lookandfeel/juce_LookAndFeel.h"
#endif
-//==============================================================================
-static bool juceInitialisedNonGUI = false;
-
-JUCE_API void JUCE_CALLTYPE initialiseJuce_NonGUI()
-{
- if (! juceInitialisedNonGUI)
- {
- juceInitialisedNonGUI = true;
-
- DBG (SystemStats::getJUCEVersion());
- }
-}
-
-JUCE_API void JUCE_CALLTYPE shutdownJuce_NonGUI()
-{
- if (juceInitialisedNonGUI)
- {
- juceInitialisedNonGUI = false;
-
- Thread::stopAllThreads (3000);
- }
-}
-
//==============================================================================
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
@@ -76,27 +45,7 @@ JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI()
juceInitialisedGUI = true;
JUCE_AUTORELEASEPOOL
- initialiseJuce_NonGUI();
-
MessageManager::getInstance();
- LookAndFeel::setDefaultLookAndFeel (nullptr);
-
- #if JUCE_DEBUG
- try // This section is just a safety-net for catching builds without RTTI enabled..
- {
- MemoryOutputStream mo;
- OutputStream* o = &mo;
-
- // Got an exception here? Then TURN ON RTTI in your compiler settings!!
- o = dynamic_cast (o);
- jassert (o != nullptr);
- }
- catch (...)
- {
- // Ended up here? If so, TURN ON RTTI in your compiler settings!!
- jassertfalse;
- }
- #endif
}
}
@@ -108,20 +57,17 @@ JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI()
JUCE_AUTORELEASEPOOL
DeletedAtShutdown::deleteAll();
- LookAndFeel::clearDefaultLookAndFeel();
delete MessageManager::getInstance();
-
- shutdownJuce_NonGUI();
}
}
#endif
-
//==============================================================================
#if JUCE_UNIT_TESTS
#include "../utilities/juce_UnitTest.h"
+#include "../memory/juce_Atomic.h"
class AtomicTests : public UnitTest
{
diff --git a/src/core/juce_Initialisation.h b/src/core/juce_Initialisation.h
index 53771eb59d..ac8826222d 100644
--- a/src/core/juce_Initialisation.h
+++ b/src/core/juce_Initialisation.h
@@ -37,7 +37,7 @@
Note that if you're creating a Juce DLL for Windows, you may also need to call the
PlatformUtilities::setCurrentModuleInstanceHandle() method.
- @see shutdownJuce_GUI(), initialiseJuce_NonGUI()
+ @see shutdownJuce_GUI()
*/
JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI();
@@ -47,60 +47,11 @@ JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI();
than using the START_JUCE_APPLICATION macro, call this function in your shutdown
code to clean up any juce objects that might be lying around.
- @see initialiseJuce_GUI(), initialiseJuce_NonGUI()
+ @see initialiseJuce_GUI()
*/
JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI();
-//==============================================================================
-/** Initialises the core parts of Juce.
-
- If you're embedding Juce into either a command-line program, call this function
- at the start of your main() function to make sure that Juce is initialised correctly.
-
- Note that if you're creating a Juce DLL for Windows, you may also need to call the
- PlatformUtilities::setCurrentModuleInstanceHandle() method.
-
- @see shutdownJuce_NonGUI, initialiseJuce_GUI
-*/
-JUCE_API void JUCE_CALLTYPE initialiseJuce_NonGUI();
-
-/** Clears up any static data being used by Juce's non-gui core classes.
-
- If you're embedding Juce into either a command-line program, call this function
- at the end of your main() function if you want to make sure any Juce objects are
- cleaned up correctly.
-
- @see initialiseJuce_NonGUI, initialiseJuce_GUI
-*/
-JUCE_API void JUCE_CALLTYPE shutdownJuce_NonGUI();
-
-
-//==============================================================================
-/** A utility object that helps you initialise and shutdown Juce correctly
- using an RAII pattern.
-
- When an instance of this class is created, it calls initialiseJuce_NonGUI(),
- and when it's deleted, it calls shutdownJuce_NonGUI(), which lets you easily
- make sure that these functions are matched correctly.
-
- This class is particularly handy to use at the beginning of a console app's
- main() function, because it'll take care of shutting down whenever you return
- from the main() call.
-
- @see ScopedJuceInitialiser_GUI
-*/
-class ScopedJuceInitialiser_NonGUI
-{
-public:
- /** The constructor simply calls initialiseJuce_NonGUI(). */
- ScopedJuceInitialiser_NonGUI() { initialiseJuce_NonGUI(); }
-
- /** The destructor simply calls shutdownJuce_NonGUI(). */
- ~ScopedJuceInitialiser_NonGUI() { shutdownJuce_NonGUI(); }
-};
-
-
//==============================================================================
/** A utility object that helps you initialise and shutdown Juce correctly
using an RAII pattern.
diff --git a/src/core/juce_StandardHeader.h b/src/core/juce_StandardHeader.h
index ec0b135fde..9f728781fe 100644
--- a/src/core/juce_StandardHeader.h
+++ b/src/core/juce_StandardHeader.h
@@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
-#define JUCE_BUILDNUMBER 79
+#define JUCE_BUILDNUMBER 80
/** Current Juce version number.
diff --git a/src/core/juce_SystemStats.cpp b/src/core/juce_SystemStats.cpp
index ca0e88f69b..3996aeeaac 100644
--- a/src/core/juce_SystemStats.cpp
+++ b/src/core/juce_SystemStats.cpp
@@ -66,6 +66,18 @@ const String SystemStats::getJUCEVersion()
#undef JUCE_STRINGIFYVERSION2
}
+#if JUCE_DEBUG
+ struct JuceVersionPrinter
+ {
+ JuceVersionPrinter()
+ {
+ DBG (SystemStats::getJUCEVersion());
+ }
+ };
+
+ static JuceVersionPrinter juceVersionPrinter;
+#endif
+
//==============================================================================
#ifdef JUCE_DLL
void* juce_Malloc (int size) { return malloc (size); }
diff --git a/src/gui/components/juce_Component.cpp b/src/gui/components/juce_Component.cpp
index 0a8a52d66d..ac797aa756 100644
--- a/src/gui/components/juce_Component.cpp
+++ b/src/gui/components/juce_Component.cpp
@@ -419,9 +419,9 @@ Component::Component (const String& name)
Component::~Component()
{
- #if ! JUCE_VC6 // (access to private union not allowed in VC6)
+ #if ! JUCE_VC6 // (access to private union not allowed in VC6)
static_jassert (sizeof (flags) <= sizeof (componentFlags));
- #endif
+ #endif
componentListeners.call (&ComponentListener::componentBeingDeleted, *this);
diff --git a/src/gui/components/juce_Desktop.cpp b/src/gui/components/juce_Desktop.cpp
index 2284e1c074..404c9bfb0c 100644
--- a/src/gui/components/juce_Desktop.cpp
+++ b/src/gui/components/juce_Desktop.cpp
@@ -32,6 +32,7 @@ BEGIN_JUCE_NAMESPACE
#include "mouse/juce_MouseInputSource.h"
#include "mouse/juce_MouseListener.h"
#include "mouse/juce_MouseEvent.h"
+#include "lookandfeel/juce_LookAndFeel.h"
//==============================================================================
@@ -166,6 +167,33 @@ Component* Desktop::findComponentAt (const Point& screenPosition) const
return nullptr;
}
+//==============================================================================
+LookAndFeel& Desktop::getDefaultLookAndFeel() noexcept
+{
+ if (currentLookAndFeel == nullptr)
+ {
+ if (defaultLookAndFeel == nullptr)
+ defaultLookAndFeel = new LookAndFeel();
+
+ currentLookAndFeel = defaultLookAndFeel;
+ }
+
+ return *currentLookAndFeel;
+}
+
+void Desktop::setDefaultLookAndFeel (LookAndFeel* newDefaultLookAndFeel)
+{
+ currentLookAndFeel = newDefaultLookAndFeel;
+
+ for (int i = getNumComponents(); --i >= 0;)
+ {
+ Component* const c = getComponent (i);
+
+ if (c != nullptr)
+ c->sendLookAndFeelChange();
+ }
+}
+
//==============================================================================
void Desktop::addDesktopComponent (Component* const c)
{
diff --git a/src/gui/components/juce_Desktop.h b/src/gui/components/juce_Desktop.h
index 9ec102e8ea..fc5c833d5b 100644
--- a/src/gui/components/juce_Desktop.h
+++ b/src/gui/components/juce_Desktop.h
@@ -246,6 +246,22 @@ public:
*/
ComponentAnimator& getAnimator() noexcept { return animator; }
+ //==============================================================================
+ /** Returns the current default look-and-feel for components which don't have one
+ explicitly set.
+ @see setDefaultLookAndFeel
+ */
+ LookAndFeel& getDefaultLookAndFeel() noexcept;
+
+ /** Changes the default look-and-feel.
+ @param newDefaultLookAndFeel the new look-and-feel object to use - if this is
+ set to nullptr, it will revert to using the system's
+ default one. The object passed-in must be deleted by the
+ caller when it's no longer needed.
+ @see getDefaultLookAndFeel
+ */
+ void setDefaultLookAndFeel (LookAndFeel* newDefaultLookAndFeel);
+
//==============================================================================
/** Returns the number of MouseInputSource objects the system has at its disposal.
In a traditional single-mouse system, there might be only one object. On a multi-touch
@@ -365,6 +381,9 @@ private:
ScopedPointer dragRepeater;
+ ScopedPointer defaultLookAndFeel;
+ WeakReference currentLookAndFeel;
+
Component* kioskModeComponent;
Rectangle kioskComponentOriginalBounds;
diff --git a/src/gui/components/lookandfeel/juce_LookAndFeel.cpp b/src/gui/components/lookandfeel/juce_LookAndFeel.cpp
index 54a2ef4e1f..60cd22937e 100644
--- a/src/gui/components/lookandfeel/juce_LookAndFeel.cpp
+++ b/src/gui/components/lookandfeel/juce_LookAndFeel.cpp
@@ -156,9 +156,6 @@ namespace LookAndFeelHelpers
return tl;
}
-
- LookAndFeel* defaultLF = nullptr;
- LookAndFeel* currentDefaultLF = nullptr;
}
//==============================================================================
@@ -313,8 +310,12 @@ LookAndFeel::LookAndFeel()
LookAndFeel::~LookAndFeel()
{
- if (this == LookAndFeelHelpers::currentDefaultLF)
- setDefaultLookAndFeel (nullptr);
+ weakReferenceMaster.clear();
+}
+
+const WeakReference::SharedRef& LookAndFeel::getWeakReference()
+{
+ return weakReferenceMaster (this);
}
//==============================================================================
@@ -352,48 +353,14 @@ bool LookAndFeel::isColourSpecified (const int colourId) const noexcept
//==============================================================================
LookAndFeel& LookAndFeel::getDefaultLookAndFeel() noexcept
{
- // if this happens, your app hasn't initialised itself properly.. if you're
- // trying to hack your own main() function, have a look at
- // JUCEApplication::initialiseForGUI()
- jassert (LookAndFeelHelpers::currentDefaultLF != nullptr);
-
- return *LookAndFeelHelpers::currentDefaultLF;
+ return Desktop::getInstance().getDefaultLookAndFeel();
}
void LookAndFeel::setDefaultLookAndFeel (LookAndFeel* newDefaultLookAndFeel) noexcept
{
- using namespace LookAndFeelHelpers;
-
- if (newDefaultLookAndFeel == nullptr)
- {
- if (defaultLF == nullptr)
- defaultLF = new LookAndFeel();
-
- newDefaultLookAndFeel = defaultLF;
- }
-
- LookAndFeelHelpers::currentDefaultLF = newDefaultLookAndFeel;
-
- for (int i = Desktop::getInstance().getNumComponents(); --i >= 0;)
- {
- Component* const c = Desktop::getInstance().getComponent (i);
-
- if (c != nullptr)
- c->sendLookAndFeelChange();
- }
-}
-
-void LookAndFeel::clearDefaultLookAndFeel() noexcept
-{
- using namespace LookAndFeelHelpers;
-
- if (currentDefaultLF == defaultLF)
- currentDefaultLF = nullptr;
-
- deleteAndZero (defaultLF);
+ Desktop::getInstance().setDefaultLookAndFeel (newDefaultLookAndFeel);
}
-
//==============================================================================
const Typeface::Ptr LookAndFeel::getTypefaceForFont (const Font& font)
{
diff --git a/src/gui/components/lookandfeel/juce_LookAndFeel.h b/src/gui/components/lookandfeel/juce_LookAndFeel.h
index 7363e34100..e9771915b2 100644
--- a/src/gui/components/lookandfeel/juce_LookAndFeel.h
+++ b/src/gui/components/lookandfeel/juce_LookAndFeel.h
@@ -649,8 +649,9 @@ public:
private:
//==============================================================================
- friend JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI();
- static void clearDefaultLookAndFeel() noexcept; // called at shutdown
+ friend class WeakReference;
+ WeakReference::Master weakReferenceMaster;
+ const WeakReference::SharedRef& getWeakReference();
Array colourIds;
Array colours;
diff --git a/src/gui/components/special/juce_DropShadower.cpp b/src/gui/components/special/juce_DropShadower.cpp
index bbbf11c5e5..360461ec14 100644
--- a/src/gui/components/special/juce_DropShadower.cpp
+++ b/src/gui/components/special/juce_DropShadower.cpp
@@ -249,21 +249,37 @@ void DropShadower::updateShadows()
if (shadowWindows.size() >= 4)
{
- for (int i = shadowWindows.size(); --i >= 0;)
- {
- shadowWindows.getUnchecked(i)->setAlwaysOnTop (owner->isAlwaysOnTop());
- shadowWindows.getUnchecked(i)->setVisible (isOwnerVisible);
- }
-
const int x = owner->getX();
const int y = owner->getY() - shadowEdge;
const int w = owner->getWidth();
const int h = owner->getHeight() + shadowEdge + shadowEdge;
- shadowWindows.getUnchecked(0)->setBounds (x - shadowEdge, y, shadowEdge, h);
- shadowWindows.getUnchecked(1)->setBounds (x + w, y, shadowEdge, h);
- shadowWindows.getUnchecked(2)->setBounds (x, y, w, shadowEdge);
- shadowWindows.getUnchecked(3)->setBounds (x, owner->getBottom(), w, shadowEdge);
+ for (int i = shadowWindows.size(); --i >= 0;)
+ {
+ // there seem to be rare situations where the dropshadower may be deleted by
+ // callbacks during this loop, so use a weak ref to watch out for this..
+ WeakReference sw (shadowWindows[i]);
+
+ if (sw == nullptr)
+ return;
+
+ sw->setAlwaysOnTop (owner->isAlwaysOnTop());
+
+ if (sw == nullptr)
+ return;
+
+ switch (i)
+ {
+ case 0: sw->setBounds (x - shadowEdge, y, shadowEdge, h); break;
+ case 1: sw->setBounds (x + w, y, shadowEdge, h); break;
+ case 2: sw->setBounds (x, y, w, shadowEdge); break;
+ case 3: sw->setBounds (x, owner->getBottom(), w, shadowEdge); break;
+ default: break;
+ }
+
+ if (sw == nullptr)
+ return;
+ }
}
}
diff --git a/src/gui/components/special/juce_OpenGLComponent.cpp b/src/gui/components/special/juce_OpenGLComponent.cpp
index affff2a94a..fc72f0b47c 100644
--- a/src/gui/components/special/juce_OpenGLComponent.cpp
+++ b/src/gui/components/special/juce_OpenGLComponent.cpp
@@ -131,8 +131,7 @@ OpenGLContext* OpenGLContext::getCurrentContext()
}
//==============================================================================
-class OpenGLComponent::OpenGLComponentRenderThread : public Thread,
- public AsyncUpdater
+class OpenGLComponent::OpenGLComponentRenderThread : public Thread
{
public:
//==============================================================================
@@ -144,24 +143,18 @@ public:
void run()
{
- // Context will get created and callback triggered on first render
- while (owner.renderAndSwapBuffers() && ! threadShouldExit())
- owner.waitAfterSwapping();
+ while (! threadShouldExit())
+ {
+ const uint32 startOfRendering = Time::getMillisecondCounter();
- owner.releaseOpenGLContext();
+ if (! owner.renderAndSwapBuffers())
+ break;
- #if JUCE_LINUX
- owner.deleteContext();
- #else
- owner.makeCurrentContextInactive();
- #endif
+ const int elapsed = Time::getMillisecondCounter() - startOfRendering;
+ Thread::sleep (jmax (1, 20 - elapsed));
+ }
- triggerAsyncUpdate();
- }
-
- void handleAsyncUpdate()
- {
- owner.stopRendering();
+ owner.stopRenderThread();
}
//==============================================================================
@@ -172,9 +165,9 @@ private:
};
-
//==============================================================================
-class OpenGLComponent::OpenGLComponentWatcher : public ComponentMovementWatcher
+class OpenGLComponent::OpenGLComponentWatcher : public ComponentMovementWatcher,
+ public AsyncUpdater
{
public:
//==============================================================================
@@ -201,6 +194,11 @@ public:
owner->stopRendering();
}
+ void handleAsyncUpdate()
+ {
+ owner->stopRendering();
+ }
+
//==============================================================================
private:
OpenGLComponent* const owner;
@@ -339,17 +337,17 @@ void OpenGLComponent::paint (Graphics&)
if (! renderThread->isThreadRunning())
{
- renderThread->handleUpdateNowIfNeeded(); // may still be shutting down as well
+ componentWatcher->handleUpdateNowIfNeeded(); // may still be shutting down as well
#if ! JUCE_LINUX
- // Except for Linux, create the context etc. first
+ // Except for Linux, create the context first
const ScopedLock sl (contextLock);
if (makeCurrentContextActive()) // Make active just to create
makeCurrentContextInactive();
#endif
- renderThread->startThread (6);
+ startRenderThread();
}
// fall-through and update the masking region
@@ -375,6 +373,28 @@ void OpenGLComponent::paint (Graphics&)
}
}
+void OpenGLComponent::startRenderThread()
+{
+ // If this is overriden, user will provide a thread. The renderThread object will
+ // not be used
+ jassert (renderThread != nullptr);
+
+ renderThread->startThread (6);
+}
+
+void OpenGLComponent::stopRenderThread()
+{
+ releaseOpenGLContext();
+
+ #if JUCE_LINUX
+ deleteContext();
+ #else
+ makeCurrentContextInactive();
+ #endif
+
+ componentWatcher->triggerAsyncUpdate();
+}
+
bool OpenGLComponent::renderAndSwapBuffers()
{
const ScopedLock sl (contextLock);
@@ -394,13 +414,6 @@ bool OpenGLComponent::renderAndSwapBuffers()
return true;
}
-void OpenGLComponent::waitAfterSwapping()
-{
- jassert (renderThread != nullptr && Thread::getCurrentThread() == renderThread);
-
- Thread::sleep (20);
-}
-
void OpenGLComponent::stopRendering()
{
if (renderThread != nullptr)
diff --git a/src/gui/components/special/juce_OpenGLComponent.h b/src/gui/components/special/juce_OpenGLComponent.h
index 9d9a01760d..087db07932 100644
--- a/src/gui/components/special/juce_OpenGLComponent.h
+++ b/src/gui/components/special/juce_OpenGLComponent.h
@@ -192,10 +192,10 @@ public:
{
openGLDefault = 0,
-#if JUCE_IOS
+ #if JUCE_IOS
openGLES1, /**< On the iPhone, this selects openGL ES 1.0 */
openGLES2 /**< On the iPhone, this selects openGL ES 2.0 */
-#endif
+ #endif
};
/** Creates an OpenGLComponent. */
@@ -279,7 +279,8 @@ public:
/** This method is called when the component shuts down its OpenGL context.
You can use this callback to delete textures and any other OpenGL objects you
- created in the component's context.
+ created in the component's context. Be aware: if you are using a render
+ thread, this may be called on the thread.
When this callback happens, the context will have been made current
using the makeCurrentContextActive() method, so there's no need to call it
@@ -342,13 +343,6 @@ public:
*/
virtual bool renderAndSwapBuffers();
- /** Wait after swapping before next render pass.
-
- Used when rendering is running on a thread. The default is 20 millseconds, giving
- a nominal frame rate of just under 50 fps.
- */
- virtual void waitAfterSwapping();
-
/** This returns a critical section that can be used to lock the current context.
Because the context that is used by this component can change, e.g. when the
@@ -370,6 +364,18 @@ public:
This can be called back on the same thread that created the context. */
void deleteContext();
+protected:
+ /** Kicks off a thread to start rendering.
+ The default implementation creates and manages an internal thread that tries
+ to render at around 50fps, but this can be overloaded to create a custom thread.
+ */
+ virtual void startRenderThread();
+
+ /** Cleans up the rendering thread.
+ Used to shut down the thread that was started by startRenderThread(). If you've
+ created a custom thread, then you should overload this to clean it up and delete it.
+ */
+ virtual void stopRenderThread();
//==============================================================================
/** @internal */
diff --git a/src/native/android/juce_android_Midi.cpp b/src/native/android/juce_android_Midi.cpp
index 601b8bf5cc..d329f24a71 100644
--- a/src/native/android/juce_android_Midi.cpp
+++ b/src/native/android/juce_android_Midi.cpp
@@ -50,19 +50,6 @@ MidiOutput::~MidiOutput()
{
}
-void MidiOutput::reset()
-{
-}
-
-bool MidiOutput::getVolume (float&, float&)
-{
- return false;
-}
-
-void MidiOutput::setVolume (float, float)
-{
-}
-
void MidiOutput::sendMessageNow (const MidiMessage&)
{
}
diff --git a/src/native/linux/juce_linux_Midi.cpp b/src/native/linux/juce_linux_Midi.cpp
index 0b9f3ac53d..2ac605d375 100644
--- a/src/native/linux/juce_linux_Midi.cpp
+++ b/src/native/linux/juce_linux_Midi.cpp
@@ -256,19 +256,6 @@ MidiOutput::~MidiOutput()
delete static_cast (internal);
}
-void MidiOutput::reset()
-{
-}
-
-bool MidiOutput::getVolume (float& leftVol, float& rightVol)
-{
- return false;
-}
-
-void MidiOutput::setVolume (float leftVol, float rightVol)
-{
-}
-
void MidiOutput::sendMessageNow (const MidiMessage& message)
{
static_cast (internal)->sendMessageNow (message);
@@ -435,9 +422,6 @@ int MidiOutput::getDefaultDeviceIndex() { return 0;
MidiOutput* MidiOutput::openDevice (int) { return nullptr; }
MidiOutput* MidiOutput::createNewDevice (const String&) { return nullptr; }
MidiOutput::~MidiOutput() {}
-void MidiOutput::reset() {}
-bool MidiOutput::getVolume (float&, float&) { return false; }
-void MidiOutput::setVolume (float, float) {}
void MidiOutput::sendMessageNow (const MidiMessage&) {}
MidiInput::MidiInput (const String& name_) : name (name_), internal (0) {}
diff --git a/src/native/mac/juce_mac_CoreMidi.cpp b/src/native/mac/juce_mac_CoreMidi.cpp
index 3ee32df2ba..405034e3e4 100644
--- a/src/native/mac/juce_mac_CoreMidi.cpp
+++ b/src/native/mac/juce_mac_CoreMidi.cpp
@@ -369,19 +369,6 @@ MidiOutput::~MidiOutput()
delete static_cast (internal);
}
-void MidiOutput::reset()
-{
-}
-
-bool MidiOutput::getVolume (float& /*leftVol*/, float& /*rightVol*/)
-{
- return false;
-}
-
-void MidiOutput::setVolume (float /*leftVol*/, float /*rightVol*/)
-{
-}
-
void MidiOutput::sendMessageNow (const MidiMessage& message)
{
CoreMidiHelpers::MidiPortAndEndpoint* const mpe = static_cast (internal);
@@ -568,9 +555,6 @@ void MidiInput::stop()
#else // Stubs for iOS...
MidiOutput::~MidiOutput() {}
-void MidiOutput::reset() {}
-bool MidiOutput::getVolume (float& /*leftVol*/, float& /*rightVol*/) { return false; }
-void MidiOutput::setVolume (float /*leftVol*/, float /*rightVol*/) {}
void MidiOutput::sendMessageNow (const MidiMessage& message) {}
const StringArray MidiOutput::getDevices() { return StringArray(); }
MidiOutput* MidiOutput::openDevice (int index) { return nullptr; }
diff --git a/src/native/windows/juce_win32_DynamicLibraryLoader.cpp b/src/native/windows/juce_win32_DynamicLibraryLoader.cpp
deleted file mode 100644
index d017190967..0000000000
--- a/src/native/windows/juce_win32_DynamicLibraryLoader.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- ==============================================================================
-
- This file is part of the JUCE library - "Jules' Utility Class Extensions"
- Copyright 2004-11 by Raw Material Software Ltd.
-
- ------------------------------------------------------------------------------
-
- JUCE can be redistributed and/or modified under the terms of the GNU General
- Public License (Version 2), as published by the Free Software Foundation.
- A copy of the license is included in the JUCE distribution, or can be found
- online at www.gnu.org/licenses.
-
- JUCE 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.
-
- ------------------------------------------------------------------------------
-
- To release a closed-source product which uses JUCE, commercial licenses are
- available: visit www.rawmaterialsoftware.com/juce for more information.
-
- ==============================================================================
-*/
-
-// (This file gets included by juce_win32_NativeCode.cpp, rather than being
-// compiled on its own).
-#if JUCE_INCLUDED_FILE
-
-#include "juce_win32_DynamicLibraryLoader.h"
-
-//==============================================================================
-DynamicLibraryLoader::DynamicLibraryLoader (const String& name)
- : libHandle (0)
-{
- load (name);
-}
-
-DynamicLibraryLoader::~DynamicLibraryLoader()
-{
- load (String::empty);
-}
-
-bool DynamicLibraryLoader::load (const String& name)
-{
- FreeLibrary ((HMODULE) libHandle);
- libHandle = name.isNotEmpty() ? LoadLibrary (name.toWideCharPointer()) : 0;
- return libHandle != 0;
-}
-
-void* DynamicLibraryLoader::findProcAddress (const String& functionName)
-{
- return (void*) GetProcAddress ((HMODULE) libHandle, functionName.toUTF8()); // (void* cast is required for mingw)
-}
-
-#endif
diff --git a/src/native/windows/juce_win32_DynamicLibraryLoader.h b/src/native/windows/juce_win32_DynamicLibraryLoader.h
index 8709090008..e3ef1a7eea 100644
--- a/src/native/windows/juce_win32_DynamicLibraryLoader.h
+++ b/src/native/windows/juce_win32_DynamicLibraryLoader.h
@@ -48,12 +48,28 @@
class JUCE_API DynamicLibraryLoader
{
public:
- DynamicLibraryLoader (const String& name = String::empty);
- ~DynamicLibraryLoader();
-
- bool load (const String& libraryName);
-
- void* findProcAddress (const String& functionName);
+ DynamicLibraryLoader (const String& name = String::empty)
+ : libHandle (0)
+ {
+ load (name);
+ }
+
+ ~DynamicLibraryLoader()
+ {
+ load (String::empty);
+ }
+
+ bool load (const String& name)
+ {
+ FreeLibrary ((HMODULE) libHandle);
+ libHandle = name.isNotEmpty() ? LoadLibrary (name.toWideCharPointer()) : 0;
+ return libHandle != 0;
+ }
+
+ void* findProcAddress (const String& functionName)
+ {
+ return (void*) GetProcAddress ((HMODULE) libHandle, functionName.toUTF8()); // (void* cast is required for mingw)
+ }
private:
void* libHandle;
diff --git a/src/native/windows/juce_win32_FileChooser.cpp b/src/native/windows/juce_win32_FileChooser.cpp
index 2a854c10c3..b22d2b7351 100644
--- a/src/native/windows/juce_win32_FileChooser.cpp
+++ b/src/native/windows/juce_win32_FileChooser.cpp
@@ -187,11 +187,11 @@ void FileChooser::showPlatformDialog (Array& results, const String& title_
bi.lpszTitle = title.toWideCharPointer();
bi.lParam = (LPARAM) &info;
bi.lpfn = browseCallbackProc;
- #ifdef BIF_USENEWUI
+ #ifdef BIF_USENEWUI
bi.ulFlags = BIF_USENEWUI | BIF_VALIDATE;
- #else
+ #else
bi.ulFlags = 0x50;
- #endif
+ #endif
LPITEMIDLIST list = SHBrowseForFolder (&bi);
diff --git a/src/native/windows/juce_win32_Fonts.cpp b/src/native/windows/juce_win32_Fonts.cpp
index 1a468c2556..438e452b06 100644
--- a/src/native/windows/juce_win32_Fonts.cpp
+++ b/src/native/windows/juce_win32_Fonts.cpp
@@ -98,9 +98,9 @@ void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSeri
if (juce_IsRunningInWine())
{
// If we're running in Wine, then use fonts that might be available on Linux..
- defaultSans = "Bitstream Vera Sans";
- defaultSerif = "Bitstream Vera Serif";
- defaultFixed = "Bitstream Vera Sans Mono";
+ defaultSans = "Bitstream Vera Sans";
+ defaultSerif = "Bitstream Vera Serif";
+ defaultFixed = "Bitstream Vera Sans Mono";
}
else
{
diff --git a/src/native/windows/juce_win32_Messaging.cpp b/src/native/windows/juce_win32_Messaging.cpp
index 24b2225cf7..28092b5fd0 100644
--- a/src/native/windows/juce_win32_Messaging.cpp
+++ b/src/native/windows/juce_win32_Messaging.cpp
@@ -261,6 +261,23 @@ void MessageManager::broadcastMessage (const String& value)
//==============================================================================
void MessageManager::doPlatformSpecificInitialisation()
{
+ #if JUCE_DEBUG
+ try // This section is just a safety-net for catching builds without RTTI enabled..
+ {
+ MemoryOutputStream mo;
+ OutputStream* o = &mo;
+
+ // Got an exception here? Then TURN ON RTTI in your compiler settings!!
+ o = dynamic_cast (o);
+ jassert (o != nullptr);
+ }
+ catch (...)
+ {
+ // Ended up here? If so, TURN ON RTTI in your compiler settings!!
+ jassertfalse;
+ }
+ #endif
+
OleInitialize (0);
// this name has to be different for each app/dll instance because otherwise
diff --git a/src/native/windows/juce_win32_Midi.cpp b/src/native/windows/juce_win32_Midi.cpp
index e7f9359c8b..6f8b6aadd3 100644
--- a/src/native/windows/juce_win32_Midi.cpp
+++ b/src/native/windows/juce_win32_Midi.cpp
@@ -454,42 +454,6 @@ MidiOutput::~MidiOutput()
}
}
-void MidiOutput::reset()
-{
- const MidiOutHandle* const h = static_cast (internal);
- midiOutReset (h->handle);
-}
-
-bool MidiOutput::getVolume (float& leftVol, float& rightVol)
-{
- const MidiOutHandle* const handle = static_cast (internal);
-
- DWORD n;
- if (midiOutGetVolume (handle->handle, &n) == MMSYSERR_NOERROR)
- {
- const unsigned short* const nn = reinterpret_cast (&n);
- rightVol = nn[0] / (float) 0xffff;
- leftVol = nn[1] / (float) 0xffff;
- return true;
- }
- else
- {
- rightVol = leftVol = 1.0f;
- return false;
- }
-}
-
-void MidiOutput::setVolume (float leftVol, float rightVol)
-{
- const MidiOutHandle* const handle = static_cast (internal);
-
- DWORD n;
- unsigned short* const nn = reinterpret_cast (&n);
- nn[0] = (unsigned short) jlimit (0, 0xffff, (int) (rightVol * 0xffff));
- nn[1] = (unsigned short) jlimit (0, 0xffff, (int) (leftVol * 0xffff));
- midiOutSetVolume (handle->handle, n);
-}
-
void MidiOutput::sendMessageNow (const MidiMessage& message)
{
const MidiOutHandle* const handle = static_cast (internal);
diff --git a/src/native/windows/juce_win32_NativeCode.cpp b/src/native/windows/juce_win32_NativeCode.cpp
index 9a098d5658..3929b7f765 100644
--- a/src/native/windows/juce_win32_NativeCode.cpp
+++ b/src/native/windows/juce_win32_NativeCode.cpp
@@ -51,6 +51,7 @@ BEGIN_JUCE_NAMESPACE
#include "../../threads/juce_InterProcessLock.h"
#include "../../io/files/juce_FileInputStream.h"
#include "../../io/files/juce_FileOutputStream.h"
+#include "../../io/streams/juce_MemoryOutputStream.h"
#include "../../io/files/juce_NamedPipe.h"
#include "../../io/files/juce_DirectoryIterator.h"
#include "../../io/network/juce_URL.h"
@@ -95,7 +96,7 @@ BEGIN_JUCE_NAMESPACE
#define JUCE_INCLUDED_FILE 1
// Now include the actual code files..
-#include "juce_win32_DynamicLibraryLoader.cpp"
+#include "juce_win32_DynamicLibraryLoader.h"
#include "juce_win32_SystemStats.cpp"
#include "juce_win32_Threads.cpp"
#include "juce_win32_Files.cpp"
diff --git a/src/threads/juce_Thread.cpp b/src/threads/juce_Thread.cpp
index 4f8dbfe14d..3f4b067748 100644
--- a/src/threads/juce_Thread.cpp
+++ b/src/threads/juce_Thread.cpp
@@ -40,6 +40,13 @@ public:
{
}
+ ~RunningThreadsList()
+ {
+ // Some threads are still running! Make sure you stop all your
+ // threads cleanly before your app quits!
+ jassert (threads.size() == 0);
+ }
+
void add (Thread* const thread)
{
const SpinLock::ScopedLockType sl (lock);