| @@ -519,6 +519,7 @@ | |||||
| 720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; | 7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 728E67FDBD3660742A33C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | 728E67FDBD3660742A33C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 7319ADBC735F957219774263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 73267FE8DDE50FD1E6E31ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; | 73267FE8DDE50FD1E6E31ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 7338D006521EDC5C10EEF974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | 7338D006521EDC5C10EEF974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 734C43C3F7918061F2DDD214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; | 734C43C3F7918061F2DDD214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1346,6 +1347,7 @@ | |||||
| A2F0B85560090CFAC7D95132, | A2F0B85560090CFAC7D95132, | ||||
| 734C43C3F7918061F2DDD214, | 734C43C3F7918061F2DDD214, | ||||
| AA967AC6E8FDCD7502272DA7, | AA967AC6E8FDCD7502272DA7, | ||||
| 7319ADBC735F957219774263, | |||||
| D1D8A53A7614F106942DADED, | D1D8A53A7614F106942DADED, | ||||
| 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = "<group>"; }; | 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = "<group>"; }; | ||||
| 29FD491D882C7A35353517C8 = {isa = PBXGroup; children = ( | 29FD491D882C7A35353517C8 = {isa = PBXGroup; children = ( | ||||
| @@ -1398,6 +1398,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -2019,6 +2019,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -1404,6 +1404,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -2019,6 +2019,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -1404,6 +1404,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -2019,6 +2019,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -513,6 +513,7 @@ | |||||
| 720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | 720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; | 7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 728E67FDBD3660742A33C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | 728E67FDBD3660742A33C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 7319ADBC735F957219774263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 73267FE8DDE50FD1E6E31ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; | 73267FE8DDE50FD1E6E31ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 7338D006521EDC5C10EEF974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | 7338D006521EDC5C10EEF974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 734C43C3F7918061F2DDD214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; | 734C43C3F7918061F2DDD214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1336,6 +1337,7 @@ | |||||
| A2F0B85560090CFAC7D95132, | A2F0B85560090CFAC7D95132, | ||||
| 734C43C3F7918061F2DDD214, | 734C43C3F7918061F2DDD214, | ||||
| AA967AC6E8FDCD7502272DA7, | AA967AC6E8FDCD7502272DA7, | ||||
| 7319ADBC735F957219774263, | |||||
| D1D8A53A7614F106942DADED, | D1D8A53A7614F106942DADED, | ||||
| 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = "<group>"; }; | 6B1FEA349A6C8F51AB27E23C, ); name = memory; sourceTree = "<group>"; }; | ||||
| 29FD491D882C7A35353517C8 = {isa = PBXGroup; children = ( | 29FD491D882C7A35353517C8 = {isa = PBXGroup; children = ( | ||||
| @@ -822,6 +822,10 @@ | |||||
| <Option compile="0"/> | <Option compile="0"/> | ||||
| <Option link="0"/> | <Option link="0"/> | ||||
| </Unit> | </Unit> | ||||
| <Unit filename="../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"> | |||||
| <Option compile="0"/> | |||||
| <Option link="0"/> | |||||
| </Unit> | |||||
| <Unit filename="../../../../modules/juce_core/memory/juce_Singleton.h"> | <Unit filename="../../../../modules/juce_core/memory/juce_Singleton.h"> | ||||
| <Option compile="0"/> | <Option compile="0"/> | ||||
| <Option link="0"/> | <Option link="0"/> | ||||
| @@ -177,6 +177,7 @@ | |||||
| 2107C02B684C7F5B75662333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; | 2107C02B684C7F5B75662333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 210A4FDD4A56CF817E5E8567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; | 210A4FDD4A56CF817E5E8567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 215EAB10AE8D19F23AD2BDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; | 215EAB10AE8D19F23AD2BDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 21B527BEBFFFC536BA0DEE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 21B6FE5EEB3E112385D62127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; | 21B6FE5EEB3E112385D62127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 21D1D6A04B25346CD5524B89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | 21D1D6A04B25346CD5524B89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 21F4416597D1AB02D38BA62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; | 21F4416597D1AB02D38BA62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1135,6 +1136,7 @@ | |||||
| 6AA46ED6C6DDD5A7BC72F686, | 6AA46ED6C6DDD5A7BC72F686, | ||||
| 9F7896DA332F9718CAB6B162, | 9F7896DA332F9718CAB6B162, | ||||
| 1A1B5A2E9F1DA2122D21F9DF, | 1A1B5A2E9F1DA2122D21F9DF, | ||||
| 21B527BEBFFFC536BA0DEE6B, | |||||
| 990F2A6080B28137CCE2D7B9, | 990F2A6080B28137CCE2D7B9, | ||||
| 6E815592344CAA798C9848BF, ); name = memory; sourceTree = "<group>"; }; | 6E815592344CAA798C9848BF, ); name = memory; sourceTree = "<group>"; }; | ||||
| 101599FA5E724FC0C78144B3 = {isa = PBXGroup; children = ( | 101599FA5E724FC0C78144B3 = {isa = PBXGroup; children = ( | ||||
| @@ -679,6 +679,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -679,6 +679,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -1174,6 +1174,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -1743,6 +1743,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -1180,6 +1180,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -1743,6 +1743,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -1180,6 +1180,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -1743,6 +1743,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -381,6 +381,7 @@ | |||||
| 58CEDDC16E6A5293A4F81E84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; | 58CEDDC16E6A5293A4F81E84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 58E978708BAA8613A40F61E3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; | 58E978708BAA8613A40F61E3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; | ||||
| 58FD5A3294F6D4F415B9CA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; | 58FD5A3294F6D4F415B9CA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 595ABB3C5072077C8009AB03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 598E9C9D95393B4E4699CF0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; | 598E9C9D95393B4E4699CF0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 59968E95CF78A0E8A03B1DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; | 59968E95CF78A0E8A03B1DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 5A15B77FF78B76ADDF1EB203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; | 5A15B77FF78B76ADDF1EB203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1264,6 +1265,7 @@ | |||||
| E04D8B4BAEB817D520C2EF4A, | E04D8B4BAEB817D520C2EF4A, | ||||
| 86B1672E14AD6F060FF57BB1, | 86B1672E14AD6F060FF57BB1, | ||||
| 8BBD921B5A82DB52E6842A1B, | 8BBD921B5A82DB52E6842A1B, | ||||
| 595ABB3C5072077C8009AB03, | |||||
| D2724DFF5CF142D5264EE85B, | D2724DFF5CF142D5264EE85B, | ||||
| 9F9AC54CF90FDB770E5FCA03, ); name = memory; sourceTree = "<group>"; }; | 9F9AC54CF90FDB770E5FCA03, ); name = memory; sourceTree = "<group>"; }; | ||||
| 94AD627E1726C9B93F8269D8 = {isa = PBXGroup; children = ( | 94AD627E1726C9B93F8269D8 = {isa = PBXGroup; children = ( | ||||
| @@ -1286,6 +1286,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -1286,6 +1286,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -1331,6 +1331,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -1854,6 +1854,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -685,6 +685,7 @@ | |||||
| B87F288891641371F12CB597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; | B87F288891641371F12CB597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| B8E2DE991BF0D13E2C488E1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; | B8E2DE991BF0D13E2C488E1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| B9310BD20E2EF7D2A4895C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; | B9310BD20E2EF7D2A4895C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| B9D2E7D1B6610271E1B359D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| BA2BCD20921648A42CBF54CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; | BA2BCD20921648A42CBF54CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BA40B3FE630313FA9BA2D9F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; | BA40B3FE630313FA9BA2D9F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| BA947E82A08CB93B5A9B64F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; | BA947E82A08CB93B5A9B64F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -1195,6 +1196,7 @@ | |||||
| 2176F72FC750E8376E696CAF, | 2176F72FC750E8376E696CAF, | ||||
| CF67033CFC21C0060B538042, | CF67033CFC21C0060B538042, | ||||
| E6EDE8F1BBF28362AC9E1F28, | E6EDE8F1BBF28362AC9E1F28, | ||||
| B9D2E7D1B6610271E1B359D6, | |||||
| D06DA3FA113EAB0CCF8D7A64, | D06DA3FA113EAB0CCF8D7A64, | ||||
| 94B986F221A8369B8DE3D986, ); name = memory; sourceTree = "<group>"; }; | 94B986F221A8369B8DE3D986, ); name = memory; sourceTree = "<group>"; }; | ||||
| D295FCA29CAA8C0F9C29CE78 = {isa = PBXGroup; children = ( | D295FCA29CAA8C0F9C29CE78 = {isa = PBXGroup; children = ( | ||||
| @@ -1354,6 +1354,7 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | <ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/> | ||||
| @@ -1875,6 +1875,9 @@ | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"> | |||||
| <Filter>Juce Modules\juce_core\memory</Filter> | |||||
| </ClInclude> | |||||
| <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | <ClInclude Include="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"> | ||||
| <Filter>Juce Modules\juce_core\memory</Filter> | <Filter>Juce Modules\juce_core\memory</Filter> | ||||
| </ClInclude> | </ClInclude> | ||||
| @@ -40,6 +40,7 @@ | |||||
| 2D0CC061BF40931BC88D5DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; | 2D0CC061BF40931BC88D5DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 31CA33ED0082255CC0849423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; | 31CA33ED0082255CC0849423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 33A39DE96B690694A19AD8C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; | 33A39DE96B690694A19AD8C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 3456971F540274F9AB31C7BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 39CD0F6C4B430CB7857FCCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | 39CD0F6C4B430CB7857FCCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 39ED61F0DADF05D9388872D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; | 39ED61F0DADF05D9388872D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 3CC375E8CCC0987FAE0B40BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; | 3CC375E8CCC0987FAE0B40BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -258,6 +259,7 @@ | |||||
| A16A62698D337DCA6945476F, | A16A62698D337DCA6945476F, | ||||
| CA60B0396D8F46E1952F8E36, | CA60B0396D8F46E1952F8E36, | ||||
| E8B73F6E0763B9DF3750FAB3, | E8B73F6E0763B9DF3750FAB3, | ||||
| 3456971F540274F9AB31C7BF, | |||||
| 9BDF1653598CCC66FFF33532, | 9BDF1653598CCC66FFF33532, | ||||
| B476D2D5837C9D5EB94C3B84, ); name = memory; sourceTree = "<group>"; }; | B476D2D5837C9D5EB94C3B84, ); name = memory; sourceTree = "<group>"; }; | ||||
| ED0FCD22D34539916A9A62F9 = {isa = PBXGroup; children = ( | ED0FCD22D34539916A9A62F9 = {isa = PBXGroup; children = ( | ||||
| @@ -287,6 +287,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -363,6 +363,7 @@ | |||||
| 898C4B2D036C170A6ED46DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; | 898C4B2D036C170A6ED46DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 89A3C346A8D9173D9CBDD088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; | 89A3C346A8D9173D9CBDD088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 89C44D65C6EA486543A139E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; | 89C44D65C6EA486543A139E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 89F164CF6D809DD8AB8FDB55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 8A3F6FFBE098968DC1C4538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; | 8A3F6FFBE098968DC1C4538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 8BA63270C9EBFE66AF17E7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; | 8BA63270C9EBFE66AF17E7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 8BEBE3E3D47AD3E8AAACF7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; | 8BEBE3E3D47AD3E8AAACF7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -714,6 +715,7 @@ | |||||
| EF28BA2B5E24F4749F732230, | EF28BA2B5E24F4749F732230, | ||||
| 601874CF9435F18E7B69AE6A, | 601874CF9435F18E7B69AE6A, | ||||
| 45905746CA7C3BFE98B583C9, | 45905746CA7C3BFE98B583C9, | ||||
| 89F164CF6D809DD8AB8FDB55, | |||||
| 6C556B58616171CC70488F0D, | 6C556B58616171CC70488F0D, | ||||
| 6615B376201BA6A338D7177E, ); name = memory; sourceTree = "<group>"; }; | 6615B376201BA6A338D7177E, ); name = memory; sourceTree = "<group>"; }; | ||||
| 7582B2AE14482E2927B3AE2F = {isa = PBXGroup; children = ( | 7582B2AE14482E2927B3AE2F = {isa = PBXGroup; children = ( | ||||
| @@ -289,6 +289,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -289,6 +289,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -360,6 +360,7 @@ | |||||
| 898C4B2D036C170A6ED46DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; | 898C4B2D036C170A6ED46DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 89A3C346A8D9173D9CBDD088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; | 89A3C346A8D9173D9CBDD088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 89C44D65C6EA486543A139E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; | 89C44D65C6EA486543A139E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 89F164CF6D809DD8AB8FDB55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; | |||||
| 8A3F6FFBE098968DC1C4538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; | 8A3F6FFBE098968DC1C4538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 8BA63270C9EBFE66AF17E7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; | 8BA63270C9EBFE66AF17E7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; | ||||
| 8BEBE3E3D47AD3E8AAACF7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; | 8BEBE3E3D47AD3E8AAACF7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; | ||||
| @@ -712,6 +713,7 @@ | |||||
| EF28BA2B5E24F4749F732230, | EF28BA2B5E24F4749F732230, | ||||
| 601874CF9435F18E7B69AE6A, | 601874CF9435F18E7B69AE6A, | ||||
| 45905746CA7C3BFE98B583C9, | 45905746CA7C3BFE98B583C9, | ||||
| 89F164CF6D809DD8AB8FDB55, | |||||
| 6C556B58616171CC70488F0D, | 6C556B58616171CC70488F0D, | ||||
| 6615B376201BA6A338D7177E, ); name = memory; sourceTree = "<group>"; }; | 6615B376201BA6A338D7177E, ); name = memory; sourceTree = "<group>"; }; | ||||
| 7582B2AE14482E2927B3AE2F = {isa = PBXGroup; children = ( | 7582B2AE14482E2927B3AE2F = {isa = PBXGroup; children = ( | ||||
| @@ -1209,6 +1209,7 @@ | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/> | |||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/> | ||||
| <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | <File RelativePath="..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/> | ||||
| </Filter> | </Filter> | ||||
| @@ -272,6 +272,7 @@ extern JUCE_API void JUCE_CALLTYPE logAssertion (const char* file, int line) noe | |||||
| #include "zip/juce_GZIPDecompressorInputStream.h" | #include "zip/juce_GZIPDecompressorInputStream.h" | ||||
| #include "zip/juce_ZipFile.h" | #include "zip/juce_ZipFile.h" | ||||
| #include "containers/juce_PropertySet.h" | #include "containers/juce_PropertySet.h" | ||||
| #include "memory/juce_SharedResourcePointer.h" | |||||
| } | } | ||||
| @@ -329,17 +329,17 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the object that this pointer references. | /** Returns the object that this pointer references. | ||||
| The pointer returned may be zero, of course. | |||||
| The pointer returned may be null, of course. | |||||
| */ | */ | ||||
| operator ReferencedType*() const noexcept { return referencedObject; } | operator ReferencedType*() const noexcept { return referencedObject; } | ||||
| /** Returns the object that this pointer references. | /** Returns the object that this pointer references. | ||||
| The pointer returned may be zero, of course. | |||||
| The pointer returned may be null, of course. | |||||
| */ | */ | ||||
| ReferencedType* get() const noexcept { return referencedObject; } | ReferencedType* get() const noexcept { return referencedObject; } | ||||
| /** Returns the object that this pointer references. | /** Returns the object that this pointer references. | ||||
| The pointer returned may be zero, of course. | |||||
| The pointer returned may be null, of course. | |||||
| */ | */ | ||||
| ReferencedType* getObject() const noexcept { return referencedObject; } | ReferencedType* getObject() const noexcept { return referencedObject; } | ||||
| @@ -0,0 +1,120 @@ | |||||
| /* | |||||
| ============================================================================== | |||||
| This file is part of the juce_core module of the JUCE library. | |||||
| Copyright (c) 2013 - Raw Material Software Ltd. | |||||
| Permission to use, copy, modify, and/or distribute this software for any purpose with | |||||
| or without fee is hereby granted, provided that the above copyright notice and this | |||||
| permission notice appear in all copies. | |||||
| THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD | |||||
| TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN | |||||
| NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | |||||
| DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER | |||||
| IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |||||
| CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||||
| ------------------------------------------------------------------------------ | |||||
| NOTE! This permissive ISC license applies ONLY to files within the juce_core module! | |||||
| All other JUCE modules are covered by a dual GPL/commercial license, so if you are | |||||
| using any other modules, be sure to check that you also comply with their license. | |||||
| For more details, visit www.juce.com | |||||
| ============================================================================== | |||||
| */ | |||||
| #ifndef JUCE_SHAREDRESOURCEPOINTER_H_INCLUDED | |||||
| #define JUCE_SHAREDRESOURCEPOINTER_H_INCLUDED | |||||
| //============================================================================== | |||||
| /** | |||||
| A smart-pointer that automatically creates and manages the lifetime of a | |||||
| shared static instance of a class. | |||||
| The SharedObjectType template type indicates the class to use for the shared | |||||
| object - the only requirements on this class are that it must have a public | |||||
| default constructor and destructor. | |||||
| The SharedResourcePointer offers a pattern that differs from using a singleton or | |||||
| static instance of an object, because it uses reference-counting to make sure that | |||||
| the underlying shared object is automatically created/destroyed according to the | |||||
| number of SharedResourcePointer objects that exist. When the last one is deleted, | |||||
| the underlying object is also immediately destroyed. This allows you to use scoping | |||||
| to manage the lifetime of a shared resource. | |||||
| Note: the construction/deletion of the shared object must not involve any | |||||
| code that makes recursive calls to a SharedResourcePointer, or you'll cause | |||||
| a deadlock. | |||||
| */ | |||||
| template <typename SharedObjectType> | |||||
| class SharedResourcePointer | |||||
| { | |||||
| public: | |||||
| /** Creates an instance of the shared object. | |||||
| If other SharedResourcePointer objects for this type already exist, then | |||||
| this one will simply point to the same shared object that they are already | |||||
| using. Otherwise, if this is the first SharedResourcePointer to be created, | |||||
| then a shared object will be created automatically. | |||||
| */ | |||||
| SharedResourcePointer() | |||||
| { | |||||
| SharedObjectHolder& holder = getSharedObjectHolder(); | |||||
| const SpinLock::ScopedLockType sl (holder.lock); | |||||
| if (++(holder.refCount) == 1) | |||||
| holder.sharedInstance = new SharedObjectType(); | |||||
| sharedObject = holder.sharedInstance; | |||||
| } | |||||
| /** Destructor. | |||||
| If no other SharedResourcePointer objects exist, this will also delete | |||||
| the shared object to which it refers. | |||||
| */ | |||||
| ~SharedResourcePointer() | |||||
| { | |||||
| SharedObjectHolder& holder = getSharedObjectHolder(); | |||||
| const SpinLock::ScopedLockType sl (holder.lock); | |||||
| if (--(holder.refCount) == 0) | |||||
| holder.sharedInstance = nullptr; | |||||
| } | |||||
| /** Returns the shared object. */ | |||||
| operator SharedObjectType*() const noexcept { return sharedObject; } | |||||
| /** Returns the shared object. */ | |||||
| SharedObjectType& get() const noexcept { return *sharedObject; } | |||||
| /** Returns the object that this pointer references. | |||||
| The pointer returned may be zero, of course. | |||||
| */ | |||||
| SharedObjectType& getObject() const noexcept { return *sharedObject; } | |||||
| SharedObjectType* operator->() const noexcept { return sharedObject; } | |||||
| private: | |||||
| struct SharedObjectHolder : public ReferenceCountedObject | |||||
| { | |||||
| SpinLock lock; | |||||
| ScopedPointer<SharedObjectType> sharedInstance; | |||||
| int refCount; | |||||
| }; | |||||
| static SharedObjectHolder& getSharedObjectHolder() noexcept | |||||
| { | |||||
| static char holder [sizeof (SharedObjectHolder)] = { 0 }; | |||||
| return *reinterpret_cast<SharedObjectHolder*> (holder); | |||||
| } | |||||
| SharedObjectType* sharedObject; | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SharedResourcePointer) | |||||
| }; | |||||
| #endif // JUCE_SHAREDRESOURCEPOINTER_H_INCLUDED | |||||
| @@ -37,10 +37,9 @@ public: | |||||
| D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(); | D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(); | ||||
| D2D1_HWND_RENDER_TARGET_PROPERTIES propsHwnd = D2D1::HwndRenderTargetProperties (hwnd, size); | D2D1_HWND_RENDER_TARGET_PROPERTIES propsHwnd = D2D1::HwndRenderTargetProperties (hwnd, size); | ||||
| const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||||
| if (factories.d2dFactory != nullptr) | |||||
| if (factories->d2dFactory != nullptr) | |||||
| { | { | ||||
| HRESULT hr = factories.d2dFactory->CreateHwndRenderTarget (props, propsHwnd, renderingTarget.resetAndGetPointerAddress()); | |||||
| HRESULT hr = factories->d2dFactory->CreateHwndRenderTarget (props, propsHwnd, renderingTarget.resetAndGetPointerAddress()); | |||||
| jassert (SUCCEEDED (hr)); (void) hr; | jassert (SUCCEEDED (hr)); (void) hr; | ||||
| hr = renderingTarget->CreateSolidColorBrush (D2D1::ColorF::ColorF (0.0f, 0.0f, 0.0f, 1.0f), colourBrush.resetAndGetPointerAddress()); | hr = renderingTarget->CreateSolidColorBrush (D2D1::ColorF::ColorF (0.0f, 0.0f, 0.0f, 1.0f), colourBrush.resetAndGetPointerAddress()); | ||||
| } | } | ||||
| @@ -287,9 +286,8 @@ public: | |||||
| { | { | ||||
| renderingTarget->SetTransform (transformToMatrix (currentState->transform)); | renderingTarget->SetTransform (transformToMatrix (currentState->transform)); | ||||
| const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||||
| DirectWriteTypeLayout::drawToD2DContext (text, area, renderingTarget, factories.directWriteFactory, | |||||
| factories.d2dFactory, factories.systemFonts); | |||||
| DirectWriteTypeLayout::drawToD2DContext (text, area, renderingTarget, factories->directWriteFactory, | |||||
| factories->d2dFactory, factories->systemFonts); | |||||
| renderingTarget->SetTransform (D2D1::IdentityMatrix()); | renderingTarget->SetTransform (D2D1::IdentityMatrix()); | ||||
| return true; | return true; | ||||
| @@ -695,6 +693,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| private: | private: | ||||
| SharedResourcePointer<Direct2DFactories> factories; | |||||
| HWND hwnd; | HWND hwnd; | ||||
| ComSmartPtr <ID2D1HwndRenderTarget> renderingTarget; | ComSmartPtr <ID2D1HwndRenderTarget> renderingTarget; | ||||
| ComSmartPtr <ID2D1SolidColorBrush> colourBrush; | ComSmartPtr <ID2D1SolidColorBrush> colourBrush; | ||||
| @@ -733,7 +732,7 @@ private: | |||||
| static ID2D1PathGeometry* rectListToPathGeometry (const RectangleList<int>& clipRegion) | static ID2D1PathGeometry* rectListToPathGeometry (const RectangleList<int>& clipRegion) | ||||
| { | { | ||||
| ID2D1PathGeometry* p = nullptr; | ID2D1PathGeometry* p = nullptr; | ||||
| Direct2DFactories::getInstance().d2dFactory->CreatePathGeometry (&p); | |||||
| factories->d2dFactory->CreatePathGeometry (&p); | |||||
| ComSmartPtr <ID2D1GeometrySink> sink; | ComSmartPtr <ID2D1GeometrySink> sink; | ||||
| HRESULT hr = p->Open (sink.resetAndGetPointerAddress()); // xxx handle error | HRESULT hr = p->Open (sink.resetAndGetPointerAddress()); // xxx handle error | ||||
| @@ -811,7 +810,7 @@ private: | |||||
| static ID2D1PathGeometry* pathToPathGeometry (const Path& path, const AffineTransform& transform) | static ID2D1PathGeometry* pathToPathGeometry (const Path& path, const AffineTransform& transform) | ||||
| { | { | ||||
| ID2D1PathGeometry* p = nullptr; | ID2D1PathGeometry* p = nullptr; | ||||
| Direct2DFactories::getInstance().d2dFactory->CreatePathGeometry (&p); | |||||
| factories->d2dFactory->CreatePathGeometry (&p); | |||||
| ComSmartPtr <ID2D1GeometrySink> sink; | ComSmartPtr <ID2D1GeometrySink> sink; | ||||
| HRESULT hr = p->Open (sink.resetAndGetPointerAddress()); | HRESULT hr = p->Open (sink.resetAndGetPointerAddress()); | ||||
| @@ -389,9 +389,9 @@ namespace DirectWriteTypeLayout | |||||
| bool TextLayout::createNativeLayout (const AttributedString& text) | bool TextLayout::createNativeLayout (const AttributedString& text) | ||||
| { | { | ||||
| #if JUCE_USE_DIRECTWRITE | #if JUCE_USE_DIRECTWRITE | ||||
| const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||||
| SharedResourcePointer<Direct2DFactories> factories; | |||||
| if (factories.d2dFactory != nullptr && factories.systemFonts != nullptr) | |||||
| if (factories->d2dFactory != nullptr && factories->systemFonts != nullptr) | |||||
| { | { | ||||
| #if JUCE_64BIT | #if JUCE_64BIT | ||||
| // There's a mysterious bug in 64-bit Windows that causes garbage floating-point | // There's a mysterious bug in 64-bit Windows that causes garbage floating-point | ||||
| @@ -402,13 +402,13 @@ bool TextLayout::createNativeLayout (const AttributedString& text) | |||||
| { | { | ||||
| hasBeenCalled = true; | hasBeenCalled = true; | ||||
| TextLayout dummy; | TextLayout dummy; | ||||
| DirectWriteTypeLayout::createLayout (dummy, text, factories.directWriteFactory, | |||||
| factories.d2dFactory, factories.systemFonts); | |||||
| DirectWriteTypeLayout::createLayout (dummy, text, factories->directWriteFactory, | |||||
| factories->d2dFactory, factories->systemFonts); | |||||
| } | } | ||||
| #endif | #endif | ||||
| DirectWriteTypeLayout::createLayout (*this, text, factories.directWriteFactory, | |||||
| factories.d2dFactory, factories.systemFonts); | |||||
| DirectWriteTypeLayout::createLayout (*this, text, factories->directWriteFactory, | |||||
| factories->d2dFactory, factories->systemFonts); | |||||
| return true; | return true; | ||||
| } | } | ||||
| #else | #else | ||||
| @@ -107,15 +107,9 @@ public: | |||||
| systemFonts = nullptr; | systemFonts = nullptr; | ||||
| } | } | ||||
| static const Direct2DFactories& getInstance() | |||||
| { | |||||
| static Direct2DFactories instance; | |||||
| return instance; | |||||
| } | |||||
| ComSmartPtr <ID2D1Factory> d2dFactory; | |||||
| ComSmartPtr <IDWriteFactory> directWriteFactory; | |||||
| ComSmartPtr <IDWriteFontCollection> systemFonts; | |||||
| ComSmartPtr<ID2D1Factory> d2dFactory; | |||||
| ComSmartPtr<IDWriteFactory> directWriteFactory; | |||||
| ComSmartPtr<IDWriteFontCollection> systemFonts; | |||||
| private: | private: | ||||
| DynamicLibrary direct2dDll, directWriteDll; | DynamicLibrary direct2dDll, directWriteDll; | ||||
| @@ -255,6 +249,7 @@ public: | |||||
| IDWriteFontFace* getIDWriteFontFace() const noexcept { return dwFontFace; } | IDWriteFontFace* getIDWriteFontFace() const noexcept { return dwFontFace; } | ||||
| private: | private: | ||||
| SharedResourcePointer<Direct2DFactories> factories; | |||||
| ComSmartPtr<IDWriteFontFace> dwFontFace; | ComSmartPtr<IDWriteFontFace> dwFontFace; | ||||
| float unitsToHeightScaleFactor, heightToPointsFactor, ascent; | float unitsToHeightScaleFactor, heightToPointsFactor, ascent; | ||||
| int designUnitsPerEm; | int designUnitsPerEm; | ||||
| @@ -176,17 +176,17 @@ StringArray Font::findAllTypefaceNames() | |||||
| StringArray results; | StringArray results; | ||||
| #if JUCE_USE_DIRECTWRITE | #if JUCE_USE_DIRECTWRITE | ||||
| const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||||
| SharedResourcePointer<Direct2DFactories> factories; | |||||
| if (factories.systemFonts != nullptr) | |||||
| if (factories->systemFonts != nullptr) | |||||
| { | { | ||||
| ComSmartPtr<IDWriteFontFamily> fontFamily; | ComSmartPtr<IDWriteFontFamily> fontFamily; | ||||
| uint32 fontFamilyCount = 0; | uint32 fontFamilyCount = 0; | ||||
| fontFamilyCount = factories.systemFonts->GetFontFamilyCount(); | |||||
| fontFamilyCount = factories->systemFonts->GetFontFamilyCount(); | |||||
| for (uint32 i = 0; i < fontFamilyCount; ++i) | for (uint32 i = 0; i < fontFamilyCount; ++i) | ||||
| { | { | ||||
| HRESULT hr = factories.systemFonts->GetFontFamily (i, fontFamily.resetAndGetPointerAddress()); | |||||
| HRESULT hr = factories->systemFonts->GetFontFamily (i, fontFamily.resetAndGetPointerAddress()); | |||||
| if (SUCCEEDED (hr)) | if (SUCCEEDED (hr)) | ||||
| results.addIfNotAlreadyThere (getFontFamilyName (fontFamily)); | results.addIfNotAlreadyThere (getFontFamilyName (fontFamily)); | ||||
| @@ -226,20 +226,20 @@ StringArray Font::findAllTypefaceStyles (const String& family) | |||||
| StringArray results; | StringArray results; | ||||
| #if JUCE_USE_DIRECTWRITE | #if JUCE_USE_DIRECTWRITE | ||||
| const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||||
| SharedResourcePointer<Direct2DFactories> factories; | |||||
| if (factories.systemFonts != nullptr) | |||||
| if (factories->systemFonts != nullptr) | |||||
| { | { | ||||
| BOOL fontFound = false; | BOOL fontFound = false; | ||||
| uint32 fontIndex = 0; | uint32 fontIndex = 0; | ||||
| HRESULT hr = factories.systemFonts->FindFamilyName (family.toWideCharPointer(), &fontIndex, &fontFound); | |||||
| HRESULT hr = factories->systemFonts->FindFamilyName (family.toWideCharPointer(), &fontIndex, &fontFound); | |||||
| if (! fontFound) | if (! fontFound) | ||||
| fontIndex = 0; | fontIndex = 0; | ||||
| // Get the font family using the search results | // Get the font family using the search results | ||||
| // Fonts like: Times New Roman, Times New Roman Bold, Times New Roman Italic are all in the same font family | // Fonts like: Times New Roman, Times New Roman Bold, Times New Roman Italic are all in the same font family | ||||
| ComSmartPtr<IDWriteFontFamily> fontFamily; | ComSmartPtr<IDWriteFontFamily> fontFamily; | ||||
| hr = factories.systemFonts->GetFontFamily (fontIndex, fontFamily.resetAndGetPointerAddress()); | |||||
| hr = factories->systemFonts->GetFontFamily (fontIndex, fontFamily.resetAndGetPointerAddress()); | |||||
| // Get the font faces | // Get the font faces | ||||
| ComSmartPtr<IDWriteFont> dwFont; | ComSmartPtr<IDWriteFont> dwFont; | ||||
| @@ -619,11 +619,11 @@ const MAT2 WindowsTypeface::identityMatrix = { { 0, 1 }, { 0, 0 }, { 0, 0 }, { 0 | |||||
| Typeface::Ptr Typeface::createSystemTypefaceFor (const Font& font) | Typeface::Ptr Typeface::createSystemTypefaceFor (const Font& font) | ||||
| { | { | ||||
| #if JUCE_USE_DIRECTWRITE | #if JUCE_USE_DIRECTWRITE | ||||
| const Direct2DFactories& factories = Direct2DFactories::getInstance(); | |||||
| SharedResourcePointer<Direct2DFactories> factories; | |||||
| if (factories.systemFonts != nullptr) | |||||
| if (factories->systemFonts != nullptr) | |||||
| { | { | ||||
| ScopedPointer<WindowsDirectWriteTypeface> wtf (new WindowsDirectWriteTypeface (font, factories.systemFonts)); | |||||
| ScopedPointer<WindowsDirectWriteTypeface> wtf (new WindowsDirectWriteTypeface (font, factories->systemFonts)); | |||||
| if (wtf->loadedOk()) | if (wtf->loadedOk()) | ||||
| return wtf.release(); | return wtf.release(); | ||||
| @@ -22,7 +22,6 @@ | |||||
| ============================================================================== | ============================================================================== | ||||
| */ | */ | ||||
| struct NSViewResizeWatcher | struct NSViewResizeWatcher | ||||
| { | { | ||||
| NSViewResizeWatcher() : callback (nil) {} | NSViewResizeWatcher() : callback (nil) {} | ||||