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);