| @@ -188,6 +188,8 @@ | |||||
| 2BA7CD667A4D3962F968735B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | 2BA7CD667A4D3962F968735B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 6E0B0A8EDCC37862B7ECBEBC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | 6E0B0A8EDCC37862B7ECBEBC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 875C1BC09CB8295D6799B5F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | 875C1BC09CB8295D6799B5F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| DF2E980AB106BC34560B6636 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 0CFE85845D2C6ABBA077A319 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 0A8AE7AC4AEF66AD97735443 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 0A8AE7AC4AEF66AD97735443 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 23E4DA8F3BD72654C717FAF9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | 23E4DA8F3BD72654C717FAF9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 9854BAFA65D92D059DF49F71 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | 9854BAFA65D92D059DF49F71 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -891,6 +893,8 @@ | |||||
| 6E0B0A8EDCC37862B7ECBEBC, | 6E0B0A8EDCC37862B7ECBEBC, | ||||
| 875C1BC09CB8295D6799B5F8 ); name = containers; sourceTree = "<group>"; }; | 875C1BC09CB8295D6799B5F8 ); name = containers; sourceTree = "<group>"; }; | ||||
| 2C3262AC916A51359D03A579 = { isa = PBXGroup; children = ( | 2C3262AC916A51359D03A579 = { isa = PBXGroup; children = ( | ||||
| DF2E980AB106BC34560B6636, | |||||
| 0CFE85845D2C6ABBA077A319, | |||||
| 0A8AE7AC4AEF66AD97735443, | 0A8AE7AC4AEF66AD97735443, | ||||
| 23E4DA8F3BD72654C717FAF9, | 23E4DA8F3BD72654C717FAF9, | ||||
| 9854BAFA65D92D059DF49F71, | 9854BAFA65D92D059DF49F71, | ||||
| @@ -548,6 +548,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -548,6 +548,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -215,6 +215,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1039,6 +1042,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -379,6 +379,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1473,6 +1476,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -244,6 +244,19 @@ private: | |||||
| << "include $(BUILD_SHARED_LIBRARY)" << newLine; | << "include $(BUILD_SHARED_LIBRARY)" << newLine; | ||||
| } | } | ||||
| String createIncludePathFlags (const Project::BuildConfiguration& config) | |||||
| { | |||||
| String flags; | |||||
| StringArray searchPaths (extraSearchPaths); | |||||
| searchPaths.addArray (config.getHeaderSearchPaths()); | |||||
| searchPaths.removeDuplicates (false); | |||||
| for (int i = 0; i < searchPaths.size(); ++i) | |||||
| flags << " -I " << FileHelpers::unixStylePath (replacePreprocessorTokens (config, searchPaths[i])).quoted(); | |||||
| return flags; | |||||
| } | |||||
| String createCPPFlags (bool forDebug) | String createCPPFlags (bool forDebug) | ||||
| { | { | ||||
| String flags ("-fsigned-char -fexceptions -frtti"); | String flags ("-fsigned-char -fexceptions -frtti"); | ||||
| @@ -251,6 +264,15 @@ private: | |||||
| if (forDebug) | if (forDebug) | ||||
| flags << " -g"; | flags << " -g"; | ||||
| for (int i = 0; i < configs.size(); ++i) | |||||
| { | |||||
| if (configs.getReference(i).isDebug() == forDebug) | |||||
| { | |||||
| flags << createIncludePathFlags (configs.getReference(i)); | |||||
| break; | |||||
| } | |||||
| } | |||||
| StringPairArray defines; | StringPairArray defines; | ||||
| defines.set ("JUCE_ANDROID", "1"); | defines.set ("JUCE_ANDROID", "1"); | ||||
| @@ -47,9 +47,9 @@ LOCAL_SRC_FILES := \ | |||||
| ../../../../../modules/juce_video/juce_video.cpp\ | ../../../../../modules/juce_video/juce_video.cpp\ | ||||
| ifeq ($(CONFIG),Debug) | ifeq ($(CONFIG),Debug) | ||||
| LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -O0 -D "JUCE_ANDROID=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" | |||||
| LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -I "../../JuceLibraryCode" -O0 -D "JUCE_ANDROID=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" | |||||
| else | else | ||||
| LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -Os -D "JUCE_ANDROID=1" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" | |||||
| LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -I "../../JuceLibraryCode" -Os -D "JUCE_ANDROID=1" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_ANDROID_7F0E4A25=1" | |||||
| endif | endif | ||||
| include $(BUILD_SHARED_LIBRARY) | include $(BUILD_SHARED_LIBRARY) | ||||
| @@ -315,6 +315,8 @@ | |||||
| 427FE8BEB90565F99AEAF9E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | 427FE8BEB90565F99AEAF9E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 85D325D62B8AA3E9586E4533 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | 85D325D62B8AA3E9586E4533 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| AE233608DB7055E4081B3C70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | AE233608DB7055E4081B3C70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| F5F5B442F0CEF8BBF78DECBE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 23C5A1CC9CE4A632410A3A91 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 215202E499A7A22438F5DACA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 215202E499A7A22438F5DACA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 4ABBF6D78A8F52DB78A97171 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | 4ABBF6D78A8F52DB78A97171 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BE2CD642B591698C3E8615F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | BE2CD642B591698C3E8615F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1191,6 +1193,8 @@ | |||||
| 85D325D62B8AA3E9586E4533, | 85D325D62B8AA3E9586E4533, | ||||
| AE233608DB7055E4081B3C70 ); name = containers; sourceTree = "<group>"; }; | AE233608DB7055E4081B3C70 ); name = containers; sourceTree = "<group>"; }; | ||||
| 420A8DE4E0228CBC3D953B00 = { isa = PBXGroup; children = ( | 420A8DE4E0228CBC3D953B00 = { isa = PBXGroup; children = ( | ||||
| F5F5B442F0CEF8BBF78DECBE, | |||||
| 23C5A1CC9CE4A632410A3A91, | |||||
| 215202E499A7A22438F5DACA, | 215202E499A7A22438F5DACA, | ||||
| 4ABBF6D78A8F52DB78A97171, | 4ABBF6D78A8F52DB78A97171, | ||||
| BE2CD642B591698C3E8615F8, | BE2CD642B591698C3E8615F8, | ||||
| @@ -1282,6 +1282,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -1282,6 +1282,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -398,6 +398,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1292,6 +1295,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -670,6 +670,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1944,6 +1947,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -305,6 +305,8 @@ | |||||
| 427FE8BEB90565F99AEAF9E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | 427FE8BEB90565F99AEAF9E3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 85D325D62B8AA3E9586E4533 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | 85D325D62B8AA3E9586E4533 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| AE233608DB7055E4081B3C70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | AE233608DB7055E4081B3C70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| F5F5B442F0CEF8BBF78DECBE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 23C5A1CC9CE4A632410A3A91 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 215202E499A7A22438F5DACA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 215202E499A7A22438F5DACA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 4ABBF6D78A8F52DB78A97171 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | 4ABBF6D78A8F52DB78A97171 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BE2CD642B591698C3E8615F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | BE2CD642B591698C3E8615F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1181,6 +1183,8 @@ | |||||
| 85D325D62B8AA3E9586E4533, | 85D325D62B8AA3E9586E4533, | ||||
| AE233608DB7055E4081B3C70 ); name = containers; sourceTree = "<group>"; }; | AE233608DB7055E4081B3C70 ); name = containers; sourceTree = "<group>"; }; | ||||
| 420A8DE4E0228CBC3D953B00 = { isa = PBXGroup; children = ( | 420A8DE4E0228CBC3D953B00 = { isa = PBXGroup; children = ( | ||||
| F5F5B442F0CEF8BBF78DECBE, | |||||
| 23C5A1CC9CE4A632410A3A91, | |||||
| 215202E499A7A22438F5DACA, | 215202E499A7A22438F5DACA, | ||||
| 4ABBF6D78A8F52DB78A97171, | 4ABBF6D78A8F52DB78A97171, | ||||
| BE2CD642B591698C3E8615F8, | BE2CD642B591698C3E8615F8, | ||||
| @@ -301,6 +301,8 @@ | |||||
| B9387C0717F60E8448CD4A93 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | B9387C0717F60E8448CD4A93 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| FB9CB92E796C4C73074186E4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | FB9CB92E796C4C73074186E4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 14EDCA503A51FE7FB7FE8D30 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | 14EDCA503A51FE7FB7FE8D30 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 6CBF37AA5FAF9146A5602E7E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 9A8F3414FBC54FDDF0DD7B52 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 981B963DE7884BBEE6D82B8B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 981B963DE7884BBEE6D82B8B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| B075892FD970FB65267CB231 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | B075892FD970FB65267CB231 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 25E5699A13720227ED5966B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | 25E5699A13720227ED5966B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1143,6 +1145,8 @@ | |||||
| FB9CB92E796C4C73074186E4, | FB9CB92E796C4C73074186E4, | ||||
| 14EDCA503A51FE7FB7FE8D30 ); name = containers; sourceTree = "<group>"; }; | 14EDCA503A51FE7FB7FE8D30 ); name = containers; sourceTree = "<group>"; }; | ||||
| B9C3113C3E132546EC787CB1 = { isa = PBXGroup; children = ( | B9C3113C3E132546EC787CB1 = { isa = PBXGroup; children = ( | ||||
| 6CBF37AA5FAF9146A5602E7E, | |||||
| 9A8F3414FBC54FDDF0DD7B52, | |||||
| 981B963DE7884BBEE6D82B8B, | 981B963DE7884BBEE6D82B8B, | ||||
| B075892FD970FB65267CB231, | B075892FD970FB65267CB231, | ||||
| 25E5699A13720227ED5966B9, | 25E5699A13720227ED5966B9, | ||||
| @@ -1291,6 +1291,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -1291,6 +1291,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -258,6 +258,8 @@ | |||||
| 54083520C7AA5911B1F0371D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | 54083520C7AA5911B1F0371D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 976D73482A1F97017074727D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | 976D73482A1F97017074727D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| B0BD847AEA05490C202179B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | B0BD847AEA05490C202179B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 078F01B40F52ECD31E932AF8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 255FFE3EAB799A5A680067DB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 23FC5056A83C964C5F0B1704 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 23FC5056A83C964C5F0B1704 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 5B454349892346F39FAFBEBA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | 5B454349892346F39FAFBEBA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| B0B523A4C3265DA5568C5232 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | B0B523A4C3265DA5568C5232 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1082,6 +1084,8 @@ | |||||
| 976D73482A1F97017074727D, | 976D73482A1F97017074727D, | ||||
| B0BD847AEA05490C202179B9 ); name = containers; sourceTree = "<group>"; }; | B0BD847AEA05490C202179B9 ); name = containers; sourceTree = "<group>"; }; | ||||
| 4494DB56EFB670D455AB683A = { isa = PBXGroup; children = ( | 4494DB56EFB670D455AB683A = { isa = PBXGroup; children = ( | ||||
| 078F01B40F52ECD31E932AF8, | |||||
| 255FFE3EAB799A5A680067DB, | |||||
| 23FC5056A83C964C5F0B1704, | 23FC5056A83C964C5F0B1704, | ||||
| 5B454349892346F39FAFBEBA, | 5B454349892346F39FAFBEBA, | ||||
| B0B523A4C3265DA5568C5232, | B0B523A4C3265DA5568C5232, | ||||
| @@ -1133,6 +1133,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -1133,6 +1133,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -73,6 +73,8 @@ | |||||
| 99513107F04F61661876FA4A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | 99513107F04F61661876FA4A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| DBC57E2F62B5AF65D6FA359A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | DBC57E2F62B5AF65D6FA359A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| F4058F5113AA515196A62CD7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | F4058F5113AA515196A62CD7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 4CD70C9B37F8E4387419DD15 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 69B70915D41E92BFDF952AF8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 78445B3DD0D19EA0B681DA22 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 78445B3DD0D19EA0B681DA22 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 90AD4E20C2C95D57F53561D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | 90AD4E20C2C95D57F53561D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 050E3E8AFCCB5509CC12155F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | 050E3E8AFCCB5509CC12155F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -259,6 +261,8 @@ | |||||
| DBC57E2F62B5AF65D6FA359A, | DBC57E2F62B5AF65D6FA359A, | ||||
| F4058F5113AA515196A62CD7 ); name = containers; sourceTree = "<group>"; }; | F4058F5113AA515196A62CD7 ); name = containers; sourceTree = "<group>"; }; | ||||
| 99FCE63C175C8838BB212B67 = { isa = PBXGroup; children = ( | 99FCE63C175C8838BB212B67 = { isa = PBXGroup; children = ( | ||||
| 4CD70C9B37F8E4387419DD15, | |||||
| 69B70915D41E92BFDF952AF8, | |||||
| 78445B3DD0D19EA0B681DA22, | 78445B3DD0D19EA0B681DA22, | ||||
| 90AD4E20C2C95D57F53561D8, | 90AD4E20C2C95D57F53561D8, | ||||
| 050E3E8AFCCB5509CC12155F, | 050E3E8AFCCB5509CC12155F, | ||||
| @@ -346,6 +346,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -88,6 +88,8 @@ | |||||
| EF68F092DAC017371B6454B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | EF68F092DAC017371B6454B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 21CD3EBA3C464526D9E89004 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | 21CD3EBA3C464526D9E89004 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 4B1D4FFCFC3CF72289959650 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | 4B1D4FFCFC3CF72289959650 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 92EFCC3611899AF97808479F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| C0BFB9B0BDAF4870D2748462 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| CE5C1AD8AA624461B97F359B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | CE5C1AD8AA624461B97F359B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E6A50EBB9B5AF418F913DB41 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | E6A50EBB9B5AF418F913DB41 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 5B15FE26C55D0BCABFF070C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | 5B15FE26C55D0BCABFF070C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -693,6 +695,8 @@ | |||||
| 21CD3EBA3C464526D9E89004, | 21CD3EBA3C464526D9E89004, | ||||
| 4B1D4FFCFC3CF72289959650 ); name = containers; sourceTree = "<group>"; }; | 4B1D4FFCFC3CF72289959650 ); name = containers; sourceTree = "<group>"; }; | ||||
| EFF4A6D8F1ED2FF9BE1F86D1 = { isa = PBXGroup; children = ( | EFF4A6D8F1ED2FF9BE1F86D1 = { isa = PBXGroup; children = ( | ||||
| 92EFCC3611899AF97808479F, | |||||
| C0BFB9B0BDAF4870D2748462, | |||||
| CE5C1AD8AA624461B97F359B, | CE5C1AD8AA624461B97F359B, | ||||
| E6A50EBB9B5AF418F913DB41, | E6A50EBB9B5AF418F913DB41, | ||||
| 5B15FE26C55D0BCABFF070C9, | 5B15FE26C55D0BCABFF070C9, | ||||
| @@ -348,6 +348,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -348,6 +348,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -86,6 +86,8 @@ | |||||
| EF68F092DAC017371B6454B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | EF68F092DAC017371B6454B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 21CD3EBA3C464526D9E89004 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | 21CD3EBA3C464526D9E89004 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 4B1D4FFCFC3CF72289959650 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | 4B1D4FFCFC3CF72289959650 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 92EFCC3611899AF97808479F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| C0BFB9B0BDAF4870D2748462 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| CE5C1AD8AA624461B97F359B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | CE5C1AD8AA624461B97F359B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E6A50EBB9B5AF418F913DB41 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | E6A50EBB9B5AF418F913DB41 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 5B15FE26C55D0BCABFF070C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | 5B15FE26C55D0BCABFF070C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -691,6 +693,8 @@ | |||||
| 21CD3EBA3C464526D9E89004, | 21CD3EBA3C464526D9E89004, | ||||
| 4B1D4FFCFC3CF72289959650 ); name = containers; sourceTree = "<group>"; }; | 4B1D4FFCFC3CF72289959650 ); name = containers; sourceTree = "<group>"; }; | ||||
| EFF4A6D8F1ED2FF9BE1F86D1 = { isa = PBXGroup; children = ( | EFF4A6D8F1ED2FF9BE1F86D1 = { isa = PBXGroup; children = ( | ||||
| 92EFCC3611899AF97808479F, | |||||
| C0BFB9B0BDAF4870D2748462, | |||||
| CE5C1AD8AA624461B97F359B, | CE5C1AD8AA624461B97F359B, | ||||
| E6A50EBB9B5AF418F913DB41, | E6A50EBB9B5AF418F913DB41, | ||||
| 5B15FE26C55D0BCABFF070C9, | 5B15FE26C55D0BCABFF070C9, | ||||
| @@ -215,6 +215,8 @@ | |||||
| A4F1CA6B07A550F9E78F82C6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | A4F1CA6B07A550F9E78F82C6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| E6550782791B9FE9A603CD27 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | E6550782791B9FE9A603CD27 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 0FA528C43A0141E466B0C463 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | 0FA528C43A0141E466B0C463 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 5777950E4F5ED4BB442275A1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 75479288EB748232AFAFB285 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 73E4E4A1E8378E23859A63BE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 73E4E4A1E8378E23859A63BE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 9B3DD783D92F4DDBC54E0964 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | 9B3DD783D92F4DDBC54E0964 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 00AEC7FE0322458C9C2BAEEC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | 00AEC7FE0322458C9C2BAEEC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1032,6 +1034,8 @@ | |||||
| E6550782791B9FE9A603CD27, | E6550782791B9FE9A603CD27, | ||||
| 0FA528C43A0141E466B0C463 ); name = containers; sourceTree = "<group>"; }; | 0FA528C43A0141E466B0C463 ); name = containers; sourceTree = "<group>"; }; | ||||
| 948C7FA03FC278BC8B3AC4E4 = { isa = PBXGroup; children = ( | 948C7FA03FC278BC8B3AC4E4 = { isa = PBXGroup; children = ( | ||||
| 5777950E4F5ED4BB442275A1, | |||||
| 75479288EB748232AFAFB285, | |||||
| 73E4E4A1E8378E23859A63BE, | 73E4E4A1E8378E23859A63BE, | ||||
| 9B3DD783D92F4DDBC54E0964, | 9B3DD783D92F4DDBC54E0964, | ||||
| 00AEC7FE0322458C9C2BAEEC, | 00AEC7FE0322458C9C2BAEEC, | ||||
| @@ -1096,6 +1096,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -361,6 +361,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1238,6 +1241,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -556,6 +556,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1779,6 +1782,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -224,6 +224,8 @@ | |||||
| CCF4492B4B4F31BDA891E22C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | CCF4492B4B4F31BDA891E22C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 0F688642BDC57FBD67152E7D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | 0F688642BDC57FBD67152E7D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 28A897747DBB21A827C215C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | 28A897747DBB21A827C215C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 707A14CE8208B48F0535C507 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 9D5A01382E2E62066FA112DA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 9BE763502BE26EF846ACC304 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 9BE763502BE26EF846ACC304 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| B44056431CD92E9F864059BA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | B44056431CD92E9F864059BA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 29A146BE47DC25505D2D0E31 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | 29A146BE47DC25505D2D0E31 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -953,6 +955,8 @@ | |||||
| 0F688642BDC57FBD67152E7D, | 0F688642BDC57FBD67152E7D, | ||||
| 28A897747DBB21A827C215C9 ); name = containers; sourceTree = "<group>"; }; | 28A897747DBB21A827C215C9 ); name = containers; sourceTree = "<group>"; }; | ||||
| BD8FFE50726C48804C3C144A = { isa = PBXGroup; children = ( | BD8FFE50726C48804C3C144A = { isa = PBXGroup; children = ( | ||||
| 707A14CE8208B48F0535C507, | |||||
| 9D5A01382E2E62066FA112DA, | |||||
| 9BE763502BE26EF846ACC304, | 9BE763502BE26EF846ACC304, | ||||
| B44056431CD92E9F864059BA, | B44056431CD92E9F864059BA, | ||||
| 29A146BE47DC25505D2D0E31, | 29A146BE47DC25505D2D0E31, | ||||
| @@ -515,6 +515,17 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| </Filter> | </Filter> | ||||
| <Filter Name="threads"> | <Filter Name="threads"> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <FileConfiguration Name="Debug|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| <FileConfiguration Name="Release|Win32" | |||||
| ExcludedFromBuild="true"> | |||||
| <Tool Name="VCCLCompilerTool"/> | |||||
| </FileConfiguration> | |||||
| </File> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -206,6 +206,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <ExcludedFromBuild>true</ExcludedFromBuild> | <ExcludedFromBuild>true</ExcludedFromBuild> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1042,6 +1045,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/> | ||||
| @@ -391,6 +391,9 @@ | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\containers\juce_Variant.cpp"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClCompile> | |||||
| <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | <ClCompile Include="..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| @@ -1548,6 +1551,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_Variant.h"> | ||||
| <Filter>Juce Modules\juce_core\containers</Filter> | <Filter>Juce Modules\juce_core\containers</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"> | |||||
| <Filter>Juce Modules\juce_core\threads</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"> | ||||
| <Filter>Juce Modules\juce_core\threads</Filter> | <Filter>Juce Modules\juce_core\threads</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -298,7 +298,7 @@ public: | |||||
| { | { | ||||
| public: | public: | ||||
| typedef const void VoidType; | typedef const void VoidType; | ||||
| static inline void* toVoidPtr (VoidType* v) noexcept { return const_cast<void*> (v); } | |||||
| static inline void* toVoidPtr (VoidType* v) noexcept { return const_cast <void*> (v); } | |||||
| enum { isConst = 1 }; | enum { isConst = 1 }; | ||||
| }; | }; | ||||
| #endif | #endif | ||||
| @@ -23,4 +23,4 @@ | |||||
| ============================================================================== | ============================================================================== | ||||
| */ | */ | ||||
| #include "juce_audio_basics.cpp" | |||||
| #include "juce_audio_basics.cpp" | |||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_audio_basics", | "id": "juce_audio_basics", | ||||
| "name": "JUCE audio and midi data classes", | "name": "JUCE audio and midi data classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc", | "description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_audio_devices", | "id": "juce_audio_devices", | ||||
| "name": "JUCE audio and midi I/O device classes", | "name": "JUCE audio and midi I/O device classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes to play and record from audio and midi i/o devices.", | "description": "Classes to play and record from audio and midi i/o devices.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -385,7 +385,7 @@ private: | |||||
| if (callback != nullptr) | if (callback != nullptr) | ||||
| { | { | ||||
| callback->audioDeviceIOCallback (const_cast<const float**> (inChans.getData()), numActiveInChans, | |||||
| callback->audioDeviceIOCallback (const_cast <const float**> (inChans.getData()), numActiveInChans, | |||||
| outChans, numActiveOutChans, numSamples); | outChans, numActiveOutChans, numSamples); | ||||
| } | } | ||||
| else | else | ||||
| @@ -375,7 +375,7 @@ public: | |||||
| destData[j] = (samplesToWrite[i][j] >> bitsToShift); | destData[j] = (samplesToWrite[i][j] >> bitsToShift); | ||||
| } | } | ||||
| samplesToWrite = const_cast<const int**> (channels.getData()); | |||||
| samplesToWrite = const_cast <const int**> (channels.getData()); | |||||
| } | } | ||||
| return FLAC__stream_encoder_process (encoder, (const FLAC__int32**) samplesToWrite, numSamples) != 0; | return FLAC__stream_encoder_process (encoder, (const FLAC__int32**) samplesToWrite, numSamples) != 0; | ||||
| @@ -69,7 +69,7 @@ bool AudioFormatReader::read (int* const* destSamples, | |||||
| if (numSamplesToRead <= 0) | if (numSamplesToRead <= 0) | ||||
| return true; | return true; | ||||
| if (! readSamples (const_cast<int**> (destSamples), | |||||
| if (! readSamples (const_cast <int**> (destSamples), | |||||
| jmin ((int) numChannels, numDestChannels), startOffsetInDestBuffer, | jmin ((int) numChannels, numDestChannels), startOffsetInDestBuffer, | ||||
| startSampleInSource, numSamplesToRead)) | startSampleInSource, numSamplesToRead)) | ||||
| return false; | return false; | ||||
| @@ -101,7 +101,7 @@ bool AudioFormatWriter::writeFromAudioReader (AudioFormatReader& reader, | |||||
| } | } | ||||
| } | } | ||||
| if (! write (const_cast<const int**> (buffers), numToDo)) | |||||
| if (! write (const_cast <const int**> (buffers), numToDo)) | |||||
| return false; | return false; | ||||
| numSamplesToRead -= numToDo; | numSamplesToRead -= numToDo; | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_audio_formats", | "id": "juce_audio_formats", | ||||
| "name": "JUCE audio file format codecs", | "name": "JUCE audio file format codecs", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for reading and writing various audio file formats.", | "description": "Classes for reading and writing various audio file formats.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_audio_plugin_client", | "id": "juce_audio_plugin_client", | ||||
| "name": "JUCE audio plugin wrapper classes", | "name": "JUCE audio plugin wrapper classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for building VST, RTAS and AU plugins.", | "description": "Classes for building VST, RTAS and AU plugins.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_audio_processors", | "id": "juce_audio_processors", | ||||
| "name": "JUCE audio plugin hosting classes", | "name": "JUCE audio plugin hosting classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for loading and playing VST, AU, or internally-generated audio processors.", | "description": "Classes for loading and playing VST, AU, or internally-generated audio processors.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_audio_utils", | "id": "juce_audio_utils", | ||||
| "name": "JUCE extra audio utility classes", | "name": "JUCE extra audio utility classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for audio-related GUI and miscellaneous tasks.", | "description": "Classes for audio-related GUI and miscellaneous tasks.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_browser_plugin_client", | "id": "juce_browser_plugin_client", | ||||
| "name": "JUCE browser plugin wrapper classes", | "name": "JUCE browser plugin wrapper classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for building NPAPI and ActiveX browser plugins.", | "description": "Classes for building NPAPI and ActiveX browser plugins.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -84,6 +84,7 @@ | |||||
| #include "text/juce_StringArray.cpp" | #include "text/juce_StringArray.cpp" | ||||
| #include "text/juce_StringPairArray.cpp" | #include "text/juce_StringPairArray.cpp" | ||||
| #include "text/juce_StringPool.cpp" | #include "text/juce_StringPool.cpp" | ||||
| #include "threads/juce_ChildProcess.cpp" | |||||
| #include "threads/juce_ReadWriteLock.cpp" | #include "threads/juce_ReadWriteLock.cpp" | ||||
| #include "threads/juce_Thread.cpp" | #include "threads/juce_Thread.cpp" | ||||
| #include "threads/juce_ThreadPool.cpp" | #include "threads/juce_ThreadPool.cpp" | ||||
| @@ -326,6 +326,9 @@ BEGIN_JUCE_NAMESPACE | |||||
| #ifndef __JUCE_STRINGPOOL_JUCEHEADER__ | #ifndef __JUCE_STRINGPOOL_JUCEHEADER__ | ||||
| #include "text/juce_StringPool.h" | #include "text/juce_StringPool.h" | ||||
| #endif | #endif | ||||
| #ifndef __JUCE_CHILDPROCESS_JUCEHEADER__ | |||||
| #include "threads/juce_ChildProcess.h" | |||||
| #endif | |||||
| #ifndef __JUCE_CRITICALSECTION_JUCEHEADER__ | #ifndef __JUCE_CRITICALSECTION_JUCEHEADER__ | ||||
| #include "threads/juce_CriticalSection.h" | #include "threads/juce_CriticalSection.h" | ||||
| #endif | #endif | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_core", | "id": "juce_core", | ||||
| "name": "JUCE core classes", | "name": "JUCE core classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.", | "description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -905,7 +905,7 @@ String BigInteger::toString (const int base, const int minimumNumCharacters) con | |||||
| if (base == 2 || base == 8 || base == 16) | if (base == 2 || base == 8 || base == 16) | ||||
| { | { | ||||
| const int bits = (base == 2) ? 1 : (base == 8 ? 3 : 4); | const int bits = (base == 2) ? 1 : (base == 8 ? 3 : 4); | ||||
| static const char* const hexDigits = "0123456789abcdef"; | |||||
| static const char hexDigits[] = "0123456789abcdef"; | |||||
| for (;;) | for (;;) | ||||
| { | { | ||||
| @@ -199,6 +199,7 @@ | |||||
| #include <pwd.h> | #include <pwd.h> | ||||
| #include <dirent.h> | #include <dirent.h> | ||||
| #include <fnmatch.h> | #include <fnmatch.h> | ||||
| #include <sys/wait.h> | |||||
| #endif | #endif | ||||
| // Need to clear various moronic redefinitions made by system headers.. | // Need to clear various moronic redefinitions made by system headers.. | ||||
| @@ -919,3 +919,116 @@ void* DynamicLibrary::getFunction (const String& functionName) noexcept | |||||
| { | { | ||||
| return handle != nullptr ? dlsym (handle, functionName.toUTF8()) : nullptr; | return handle != nullptr ? dlsym (handle, functionName.toUTF8()) : nullptr; | ||||
| } | } | ||||
| //============================================================================== | |||||
| class ChildProcess::ActiveProcess | |||||
| { | |||||
| public: | |||||
| ActiveProcess (const StringArray& arguments) | |||||
| : childPID (0), pipeHandle (0), readHandle (0) | |||||
| { | |||||
| int pipeHandles[2] = { 0 }; | |||||
| if (pipe (pipeHandles) == 0) | |||||
| { | |||||
| const int result = fork(); | |||||
| if (result < 0) | |||||
| { | |||||
| close (pipeHandles[0]); | |||||
| close (pipeHandles[1]); | |||||
| } | |||||
| else if (result == 0) | |||||
| { | |||||
| // we're the child process.. | |||||
| close (pipeHandles[0]); // close the read handle | |||||
| dup2 (pipeHandles[1], 1); // turns the pipe into stdout | |||||
| Array<char*> argv; | |||||
| for (int i = 0; i < arguments.size(); ++i) | |||||
| argv.add (arguments[i].toUTF8().getAddress()); | |||||
| argv.add (nullptr); | |||||
| execvp (argv[0], argv.getRawDataPointer()); | |||||
| exit (-1); | |||||
| } | |||||
| else | |||||
| { | |||||
| // we're the parent process.. | |||||
| childPID = result; | |||||
| pipeHandle = pipeHandles[0]; | |||||
| close (pipeHandles[1]); // close the write handle | |||||
| } | |||||
| } | |||||
| } | |||||
| ~ActiveProcess() | |||||
| { | |||||
| if (readHandle != 0) | |||||
| fclose (readHandle); | |||||
| if (pipeHandle != 0) | |||||
| close (pipeHandle); | |||||
| } | |||||
| bool isRunning() const | |||||
| { | |||||
| if (childPID != 0) | |||||
| { | |||||
| int childState; | |||||
| const int pid = waitpid (childPID, &childState, WNOHANG); | |||||
| return pid > 0 && ! (WIFEXITED (childState) || WIFSIGNALED (childState)); | |||||
| } | |||||
| return false; | |||||
| } | |||||
| int read (void* const dest, const int numBytes) | |||||
| { | |||||
| if (readHandle == 0 && childPID != 0) | |||||
| readHandle = fdopen (pipeHandle, "r"); | |||||
| if (readHandle != 0) | |||||
| return fread (dest, 1, numBytes, readHandle); | |||||
| return 0; | |||||
| } | |||||
| int childPID; | |||||
| private: | |||||
| int pipeHandle; | |||||
| FILE* readHandle; | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ActiveProcess); | |||||
| }; | |||||
| bool ChildProcess::start (const String& command) | |||||
| { | |||||
| StringArray tokens; | |||||
| tokens.addTokens (command, true); | |||||
| tokens.removeEmptyStrings (true); | |||||
| if (tokens.size() == 0) | |||||
| return false; | |||||
| activeProcess = new ActiveProcess (tokens); | |||||
| if (activeProcess->childPID == 0) | |||||
| activeProcess = nullptr; | |||||
| return activeProcess != nullptr; | |||||
| } | |||||
| bool ChildProcess::isRunning() const | |||||
| { | |||||
| return activeProcess != nullptr && activeProcess->isRunning(); | |||||
| } | |||||
| int ChildProcess::readProcessOutput (void* dest, int numBytes) | |||||
| { | |||||
| return activeProcess != nullptr ? activeProcess->read (dest, numBytes) : 0; | |||||
| } | |||||
| @@ -30,6 +30,11 @@ | |||||
| //============================================================================== | //============================================================================== | ||||
| namespace WindowsFileHelpers | namespace WindowsFileHelpers | ||||
| { | { | ||||
| DWORD getAtts (const String& path) | |||||
| { | |||||
| return GetFileAttributes (path.toWideCharPointer()); | |||||
| } | |||||
| int64 fileTimeToTime (const FILETIME* const ft) | int64 fileTimeToTime (const FILETIME* const ft) | ||||
| { | { | ||||
| static_jassert (sizeof (ULARGE_INTEGER) == sizeof (FILETIME)); // tell me if this fails! | static_jassert (sizeof (ULARGE_INTEGER) == sizeof (FILETIME)); // tell me if this fails! | ||||
| @@ -46,13 +51,14 @@ namespace WindowsFileHelpers | |||||
| { | { | ||||
| if (path.isNotEmpty() && path[1] == ':' && path[2] == 0) | if (path.isNotEmpty() && path[1] == ':' && path[2] == 0) | ||||
| path << '\\'; | path << '\\'; | ||||
| else | |||||
| path = (path + " ").dropLastCharacters(1); // (mess with the string to make sure it's not sharing its internal storage) | |||||
| WCHAR* p = const_cast <WCHAR*> (path.toWideCharPointer()); | |||||
| const int numBytes = CharPointer_UTF16::getBytesRequiredFor (path.getCharPointer()) + 4; | |||||
| HeapBlock<WCHAR> pathCopy; | |||||
| pathCopy.calloc (numBytes, 1); | |||||
| path.copyToUTF16 (pathCopy, numBytes); | |||||
| if (PathStripToRoot (p)) | |||||
| return String ((const WCHAR*) p); | |||||
| if (PathStripToRoot (pathCopy)) | |||||
| path = static_cast <const WCHAR*> (pathCopy); | |||||
| return path; | return path; | ||||
| } | } | ||||
| @@ -104,25 +110,25 @@ const String File::separatorString ("\\"); | |||||
| bool File::exists() const | bool File::exists() const | ||||
| { | { | ||||
| return fullPath.isNotEmpty() | return fullPath.isNotEmpty() | ||||
| && GetFileAttributes (fullPath.toWideCharPointer()) != INVALID_FILE_ATTRIBUTES; | |||||
| && WindowsFileHelpers::getAtts (fullPath) != INVALID_FILE_ATTRIBUTES; | |||||
| } | } | ||||
| bool File::existsAsFile() const | bool File::existsAsFile() const | ||||
| { | { | ||||
| return fullPath.isNotEmpty() | return fullPath.isNotEmpty() | ||||
| && (GetFileAttributes (fullPath.toWideCharPointer()) & FILE_ATTRIBUTE_DIRECTORY) == 0; | |||||
| && (WindowsFileHelpers::getAtts (fullPath) & FILE_ATTRIBUTE_DIRECTORY) == 0; | |||||
| } | } | ||||
| bool File::isDirectory() const | bool File::isDirectory() const | ||||
| { | { | ||||
| const DWORD attr = GetFileAttributes (fullPath.toWideCharPointer()); | |||||
| const DWORD attr = WindowsFileHelpers::getAtts (fullPath); | |||||
| return ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) && (attr != INVALID_FILE_ATTRIBUTES); | return ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) && (attr != INVALID_FILE_ATTRIBUTES); | ||||
| } | } | ||||
| bool File::hasWriteAccess() const | bool File::hasWriteAccess() const | ||||
| { | { | ||||
| if (exists()) | if (exists()) | ||||
| return (GetFileAttributes (fullPath.toWideCharPointer()) & FILE_ATTRIBUTE_READONLY) == 0; | |||||
| return (WindowsFileHelpers::getAtts (fullPath) & FILE_ATTRIBUTE_READONLY) == 0; | |||||
| // on windows, it seems that even read-only directories can still be written into, | // on windows, it seems that even read-only directories can still be written into, | ||||
| // so checking the parent directory's permissions would return the wrong result.. | // so checking the parent directory's permissions would return the wrong result.. | ||||
| @@ -131,25 +137,20 @@ bool File::hasWriteAccess() const | |||||
| bool File::setFileReadOnlyInternal (const bool shouldBeReadOnly) const | bool File::setFileReadOnlyInternal (const bool shouldBeReadOnly) const | ||||
| { | { | ||||
| DWORD attr = GetFileAttributes (fullPath.toWideCharPointer()); | |||||
| const DWORD oldAtts = WindowsFileHelpers::getAtts (fullPath); | |||||
| if (attr == INVALID_FILE_ATTRIBUTES) | |||||
| if (oldAtts == INVALID_FILE_ATTRIBUTES) | |||||
| return false; | return false; | ||||
| if (shouldBeReadOnly == ((attr & FILE_ATTRIBUTE_READONLY) != 0)) | |||||
| return true; | |||||
| if (shouldBeReadOnly) | |||||
| attr |= FILE_ATTRIBUTE_READONLY; | |||||
| else | |||||
| attr &= ~FILE_ATTRIBUTE_READONLY; | |||||
| return SetFileAttributes (fullPath.toWideCharPointer(), attr) != FALSE; | |||||
| const DWORD newAtts = shouldBeReadOnly ? (oldAtts | FILE_ATTRIBUTE_READONLY) | |||||
| : (oldAtts & ~FILE_ATTRIBUTE_READONLY); | |||||
| return newAtts == oldAtts | |||||
| || SetFileAttributes (fullPath.toWideCharPointer(), newAtts) != FALSE; | |||||
| } | } | ||||
| bool File::isHidden() const | bool File::isHidden() const | ||||
| { | { | ||||
| return (GetFileAttributes (getFullPathName().toWideCharPointer()) & FILE_ATTRIBUTE_HIDDEN) != 0; | |||||
| return (WindowsFileHelpers::getAtts (fullPath) & FILE_ATTRIBUTE_HIDDEN) != 0; | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -170,12 +171,13 @@ bool File::moveToTrash() const | |||||
| SHFILEOPSTRUCT fos = { 0 }; | SHFILEOPSTRUCT fos = { 0 }; | ||||
| // The string we pass in must be double null terminated.. | // The string we pass in must be double null terminated.. | ||||
| String doubleNullTermPath (getFullPathName() + " "); | |||||
| WCHAR* const p = const_cast <WCHAR*> (doubleNullTermPath.toWideCharPointer()); | |||||
| p [getFullPathName().length()] = 0; | |||||
| const int numBytes = CharPointer_UTF16::getBytesRequiredFor (fullPath.getCharPointer()) + 8; | |||||
| HeapBlock<WCHAR> doubleNullTermPath; | |||||
| doubleNullTermPath.calloc (numBytes, 1); | |||||
| fullPath.copyToUTF16 (doubleNullTermPath, numBytes); | |||||
| fos.wFunc = FO_DELETE; | fos.wFunc = FO_DELETE; | ||||
| fos.pFrom = p; | |||||
| fos.pFrom = doubleNullTermPath; | |||||
| fos.fFlags = FOF_ALLOWUNDO | FOF_NOERRORUI | FOF_SILENT | FOF_NOCONFIRMATION | fos.fFlags = FOF_ALLOWUNDO | FOF_NOERRORUI | FOF_SILENT | FOF_NOCONFIRMATION | ||||
| | FOF_NOCONFIRMMKDIR | FOF_RENAMEONCOLLISION; | | FOF_NOCONFIRMMKDIR | FOF_RENAMEONCOLLISION; | ||||
| @@ -390,14 +390,14 @@ public: | |||||
| switch (WaitForSingleObject (handle, timeOutMillisecs < 0 ? INFINITE : timeOutMillisecs)) | switch (WaitForSingleObject (handle, timeOutMillisecs < 0 ? INFINITE : timeOutMillisecs)) | ||||
| { | { | ||||
| case WAIT_OBJECT_0: | |||||
| case WAIT_ABANDONED: | |||||
| break; | |||||
| case WAIT_TIMEOUT: | |||||
| default: | |||||
| close(); | |||||
| break; | |||||
| case WAIT_OBJECT_0: | |||||
| case WAIT_ABANDONED: | |||||
| break; | |||||
| case WAIT_TIMEOUT: | |||||
| default: | |||||
| close(); | |||||
| break; | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -459,3 +459,113 @@ void InterProcessLock::exit() | |||||
| if (pimpl != nullptr && --(pimpl->refCount) == 0) | if (pimpl != nullptr && --(pimpl->refCount) == 0) | ||||
| pimpl = nullptr; | pimpl = nullptr; | ||||
| } | } | ||||
| //============================================================================== | |||||
| class ChildProcess::ActiveProcess | |||||
| { | |||||
| public: | |||||
| ActiveProcess (const String& command) | |||||
| : ok (false), readPipe (0), writePipe (0) | |||||
| { | |||||
| SECURITY_ATTRIBUTES securityAtts = { 0 }; | |||||
| securityAtts.nLength = sizeof (securityAtts); | |||||
| securityAtts.bInheritHandle = TRUE; | |||||
| if (CreatePipe (&readPipe, &writePipe, &securityAtts, 0) | |||||
| && SetHandleInformation (readPipe, HANDLE_FLAG_INHERIT, 0)) | |||||
| { | |||||
| STARTUPINFOW startupInfo = { 0 }; | |||||
| startupInfo.cb = sizeof (startupInfo); | |||||
| startupInfo.hStdError = writePipe; | |||||
| startupInfo.hStdOutput = writePipe; | |||||
| startupInfo.dwFlags = STARTF_USESTDHANDLES; | |||||
| ok = CreateProcess (nullptr, const_cast <LPWSTR> (command.toWideCharPointer()), | |||||
| nullptr, nullptr, TRUE, CREATE_NO_WINDOW | CREATE_UNICODE_ENVIRONMENT, | |||||
| nullptr, nullptr, &startupInfo, &processInfo) != FALSE; | |||||
| } | |||||
| } | |||||
| ~ActiveProcess() | |||||
| { | |||||
| if (ok) | |||||
| { | |||||
| CloseHandle (processInfo.hThread); | |||||
| CloseHandle (processInfo.hProcess); | |||||
| } | |||||
| if (readPipe != 0) | |||||
| CloseHandle (readPipe); | |||||
| if (writePipe != 0) | |||||
| CloseHandle (writePipe); | |||||
| } | |||||
| bool isRunning() const | |||||
| { | |||||
| return WaitForSingleObject (processInfo.hProcess, 0) != WAIT_OBJECT_0; | |||||
| } | |||||
| int read (void* dest, int numNeeded) const | |||||
| { | |||||
| int total = 0; | |||||
| while (ok && numNeeded > 0) | |||||
| { | |||||
| DWORD available = 0; | |||||
| if (! PeekNamedPipe ((HANDLE) readPipe, nullptr, 0, nullptr, &available, nullptr)) | |||||
| break; | |||||
| const int numToDo = jmin ((int) available, numNeeded); | |||||
| if (available == 0) | |||||
| { | |||||
| if (! isRunning()) | |||||
| break; | |||||
| Thread::yield(); | |||||
| } | |||||
| else | |||||
| { | |||||
| DWORD numRead = 0; | |||||
| if (! ReadFile ((HANDLE) readPipe, dest, numToDo, &numRead, nullptr)) | |||||
| break; | |||||
| total += numRead; | |||||
| dest = addBytesToPointer (dest, numRead); | |||||
| numNeeded -= numRead; | |||||
| } | |||||
| } | |||||
| return total; | |||||
| } | |||||
| bool ok; | |||||
| private: | |||||
| HANDLE readPipe, writePipe; | |||||
| PROCESS_INFORMATION processInfo; | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ActiveProcess); | |||||
| }; | |||||
| bool ChildProcess::start (const String& command) | |||||
| { | |||||
| activeProcess = new ActiveProcess (command); | |||||
| if (! activeProcess->ok) | |||||
| activeProcess = nullptr; | |||||
| return activeProcess != nullptr; | |||||
| } | |||||
| bool ChildProcess::isRunning() const | |||||
| { | |||||
| return activeProcess != nullptr && activeProcess->isRunning(); | |||||
| } | |||||
| int ChildProcess::readProcessOutput (void* dest, int numBytes) | |||||
| { | |||||
| return activeProcess != nullptr ? activeProcess->read (dest, numBytes) : 0; | |||||
| } | |||||
| @@ -431,7 +431,7 @@ String URL::addEscapeChars (const String& s, const bool isParameter) | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| static const char* const hexDigits = "0123456789abcdef"; | |||||
| static const char hexDigits[] = "0123456789abcdef"; | |||||
| utf8.set (i, '%'); | utf8.set (i, '%'); | ||||
| utf8.insert (++i, hexDigits [((uint8) c) >> 4]); | utf8.insert (++i, hexDigits [((uint8) c) >> 4]); | ||||
| @@ -33,7 +33,7 @@ | |||||
| */ | */ | ||||
| #define JUCE_MAJOR_VERSION 2 | #define JUCE_MAJOR_VERSION 2 | ||||
| #define JUCE_MINOR_VERSION 0 | #define JUCE_MINOR_VERSION 0 | ||||
| #define JUCE_BUILDNUMBER 2 | |||||
| #define JUCE_BUILDNUMBER 3 | |||||
| /** Current Juce version number. | /** Current Juce version number. | ||||
| @@ -1033,7 +1033,7 @@ bool String::matchesWildcard (const String& wildcard, const bool ignoreCase) con | |||||
| String String::repeatedString (const String& stringToRepeat, int numberOfTimesToRepeat) | String String::repeatedString (const String& stringToRepeat, int numberOfTimesToRepeat) | ||||
| { | { | ||||
| if (numberOfTimesToRepeat <= 0) | if (numberOfTimesToRepeat <= 0) | ||||
| return String::empty; | |||||
| return empty; | |||||
| String result (PreallocationBytes (stringToRepeat.getByteOffsetOfEnd() * numberOfTimesToRepeat)); | String result (PreallocationBytes (stringToRepeat.getByteOffsetOfEnd() * numberOfTimesToRepeat)); | ||||
| CharPointerType n (result.text); | CharPointerType n (result.text); | ||||
| @@ -1953,7 +1953,7 @@ String String::createStringFromData (const void* const data_, const int size) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| static juce_wchar emptyChar = 0; | |||||
| static const juce_wchar emptyChar = 0; | |||||
| template <class CharPointerType_Src, class CharPointerType_Dest> | template <class CharPointerType_Src, class CharPointerType_Dest> | ||||
| struct StringEncodingConverter | struct StringEncodingConverter | ||||
| @@ -2011,7 +2011,7 @@ CharPointer_UTF32 String::toUTF32() const { return StringEncodingConverter <Char | |||||
| const wchar_t* String::toWideCharPointer() const | const wchar_t* String::toWideCharPointer() const | ||||
| { | { | ||||
| return (const wchar_t*) StringEncodingConverter <CharPointerType, CharPointer_wchar_t>::convert (*this).getAddress(); | |||||
| return StringEncodingConverter <CharPointerType, CharPointer_wchar_t>::convert (*this).getAddress(); | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -0,0 +1,95 @@ | |||||
| /* | |||||
| ============================================================================== | |||||
| 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. | |||||
| ============================================================================== | |||||
| */ | |||||
| BEGIN_JUCE_NAMESPACE | |||||
| ChildProcess::ChildProcess() {} | |||||
| ChildProcess::~ChildProcess() {} | |||||
| bool ChildProcess::waitForProcessToFinish (const int timeoutMs) const | |||||
| { | |||||
| const int64 timeoutTime = Time::getMillisecondCounter() + timeoutMs; | |||||
| do | |||||
| { | |||||
| if (! isRunning()) | |||||
| return true; | |||||
| } | |||||
| while (timeoutMs < 0 || Time::getMillisecondCounter() < timeoutTime); | |||||
| return false; | |||||
| } | |||||
| String ChildProcess::readAllProcessOutput() | |||||
| { | |||||
| MemoryOutputStream result; | |||||
| for (;;) | |||||
| { | |||||
| char buffer [512]; | |||||
| const int num = readProcessOutput (buffer, sizeof (buffer)); | |||||
| if (num <= 0) | |||||
| break; | |||||
| result.write (buffer, num); | |||||
| } | |||||
| return result.toString(); | |||||
| } | |||||
| //============================================================================== | |||||
| #if JUCE_UNIT_TESTS | |||||
| #include "../unit_tests/juce_UnitTest.h" | |||||
| class ChildProcessTests : public UnitTest | |||||
| { | |||||
| public: | |||||
| ChildProcessTests() : UnitTest ("ChildProcess") {} | |||||
| void runTest() | |||||
| { | |||||
| #if JUCE_WINDOWS || JUCE_MAC || JUCE_LINUX | |||||
| ChildProcess p; | |||||
| #if JUCE_WINDOWS | |||||
| expect (p.start ("tasklist")); | |||||
| #else | |||||
| expect (p.start ("ls /")); | |||||
| #endif | |||||
| String output (p.readAllProcessOutput()); | |||||
| expect (output.isNotEmpty()); | |||||
| #endif | |||||
| } | |||||
| }; | |||||
| static ChildProcessTests childProcessUnitTests; | |||||
| #endif | |||||
| END_JUCE_NAMESPACE | |||||
| @@ -0,0 +1,87 @@ | |||||
| /* | |||||
| ============================================================================== | |||||
| 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. | |||||
| ============================================================================== | |||||
| */ | |||||
| #ifndef __JUCE_CHILDPROCESS_JUCEHEADER__ | |||||
| #define __JUCE_CHILDPROCESS_JUCEHEADER__ | |||||
| //============================================================================== | |||||
| /** | |||||
| Launches and monitors a child process. | |||||
| This class lets you launch an executable, and read its output. You can also | |||||
| use it to check whether the child process has finished. | |||||
| */ | |||||
| class ChildProcess | |||||
| { | |||||
| public: | |||||
| /** Creates a process object. | |||||
| To actually launch the process, use start(). | |||||
| */ | |||||
| ChildProcess(); | |||||
| /** Destructor. | |||||
| Note that deleting this object won't terminate the child process. | |||||
| */ | |||||
| ~ChildProcess(); | |||||
| /** Attempts to launch a child process command. | |||||
| The command should be the name of the executable file, followed by any arguments | |||||
| that are required. | |||||
| If the process has already been launched, this will launch it again. If a problem | |||||
| occurs, the method will return false. | |||||
| */ | |||||
| bool start (const String& command); | |||||
| /** Returns true if the child process is alive. */ | |||||
| bool isRunning() const; | |||||
| /** Attempts to read some output from the child process. | |||||
| This will attempt to read up to the given number of bytes of data from the | |||||
| process. It returns the number of bytes that were actually read. | |||||
| */ | |||||
| int readProcessOutput (void* destBuffer, int numBytesToRead); | |||||
| /** Blocks until the process has finished, and then returns its complete output | |||||
| as a string. | |||||
| */ | |||||
| String readAllProcessOutput(); | |||||
| /** Blocks until the process is no longer running. */ | |||||
| bool waitForProcessToFinish (int timeoutMs) const; | |||||
| private: | |||||
| //============================================================================== | |||||
| class ActiveProcess; | |||||
| friend class ScopedPointer<ActiveProcess>; | |||||
| ScopedPointer<ActiveProcess> activeProcess; | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChildProcess); | |||||
| }; | |||||
| #endif // __JUCE_CHILDPROCESS_JUCEHEADER__ | |||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_cryptography", | "id": "juce_cryptography", | ||||
| "name": "JUCE cryptography classes", | "name": "JUCE cryptography classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.", | "description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_data_structures", | "id": "juce_data_structures", | ||||
| "name": "JUCE data model helper classes", | "name": "JUCE data model helper classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for undo/redo management, and smart data structures.", | "description": "Classes for undo/redo management, and smart data structures.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_events", | "id": "juce_events", | ||||
| "name": "JUCE message and event handling classes", | "name": "JUCE message and event handling classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.", | "description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -23,4 +23,4 @@ | |||||
| ============================================================================== | ============================================================================== | ||||
| */ | */ | ||||
| #include "juce_graphics.cpp" | |||||
| #include "juce_graphics.cpp" | |||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_graphics", | "id": "juce_graphics", | ||||
| "name": "JUCE graphics classes", | "name": "JUCE graphics classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.", | "description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_gui_basics", | "id": "juce_gui_basics", | ||||
| "name": "JUCE GUI core classes", | "name": "JUCE GUI core classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Basic user-interface components and related classes.", | "description": "Basic user-interface components and related classes.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -207,8 +207,7 @@ const KeyPress KeyPress::createFromDescription (const String& desc) | |||||
| { | { | ||||
| // give up and use the hex code.. | // give up and use the hex code.. | ||||
| const int hexCode = desc.fromFirstOccurrenceOf ("#", false, false) | const int hexCode = desc.fromFirstOccurrenceOf ("#", false, false) | ||||
| .toLowerCase() | |||||
| .retainCharacters ("0123456789abcdef") | |||||
| .retainCharacters ("0123456789abcdefABCDEF") | |||||
| .getHexValue32(); | .getHexValue32(); | ||||
| if (hexCode > 0) | if (hexCode > 0) | ||||
| @@ -88,10 +88,15 @@ const MarkerList::Marker* MarkerList::getMarker (const int index) const noexcept | |||||
| } | } | ||||
| const MarkerList::Marker* MarkerList::getMarker (const String& name) const noexcept | const MarkerList::Marker* MarkerList::getMarker (const String& name) const noexcept | ||||
| { | |||||
| return getMarkerByName (name); | |||||
| } | |||||
| MarkerList::Marker* MarkerList::getMarkerByName (const String& name) const noexcept | |||||
| { | { | ||||
| for (int i = 0; i < markers.size(); ++i) | for (int i = 0; i < markers.size(); ++i) | ||||
| { | { | ||||
| const Marker* const m = markers.getUnchecked(i); | |||||
| Marker* const m = markers.getUnchecked(i); | |||||
| if (m->name == name) | if (m->name == name) | ||||
| return m; | return m; | ||||
| @@ -102,7 +107,7 @@ const MarkerList::Marker* MarkerList::getMarker (const String& name) const noexc | |||||
| void MarkerList::setMarker (const String& name, const RelativeCoordinate& position) | void MarkerList::setMarker (const String& name, const RelativeCoordinate& position) | ||||
| { | { | ||||
| Marker* const m = const_cast <Marker*> (getMarker (name)); | |||||
| Marker* const m = getMarkerByName (name); | |||||
| if (m != nullptr) | if (m != nullptr) | ||||
| { | { | ||||
| @@ -179,6 +179,8 @@ private: | |||||
| OwnedArray<Marker> markers; | OwnedArray<Marker> markers; | ||||
| ListenerList<Listener> listeners; | ListenerList<Listener> listeners; | ||||
| Marker* getMarkerByName (const String& name) const noexcept; | |||||
| JUCE_LEAK_DETECTOR (MarkerList); | JUCE_LEAK_DETECTOR (MarkerList); | ||||
| }; | }; | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_gui_extra", | "id": "juce_gui_extra", | ||||
| "name": "JUCE extended GUI classes", | "name": "JUCE extended GUI classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Miscellaneous GUI classes for specialised tasks.", | "description": "Miscellaneous GUI classes for specialised tasks.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_opengl", | "id": "juce_opengl", | ||||
| "name": "JUCE OpenGL classes", | "name": "JUCE OpenGL classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for rendering OpenGL in a JUCE window.", | "description": "Classes for rendering OpenGL in a JUCE window.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||
| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "id": "juce_video", | "id": "juce_video", | ||||
| "name": "JUCE video playback and capture classes", | "name": "JUCE video playback and capture classes", | ||||
| "version": "2.0.2", | |||||
| "version": "2.0.3", | |||||
| "description": "Classes for playing video and capturing camera input.", | "description": "Classes for playing video and capturing camera input.", | ||||
| "website": "http://www.juce.com/juce", | "website": "http://www.juce.com/juce", | ||||
| "license": "GPL/Commercial", | "license": "GPL/Commercial", | ||||