diff --git a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt index 5b9e964543..58164f49c7 100644 --- a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt +++ b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt @@ -954,6 +954,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" @@ -2936,6 +2937,7 @@ set_source_files_properties( "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj index 187c40f266..282330dbb5 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj @@ -3203,6 +3203,7 @@ + diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters index 57a30d71d1..a903cacb0b 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters @@ -4965,6 +4965,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj index 08a4d4c8a0..3eea056723 100644 --- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj @@ -3203,6 +3203,7 @@ + diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters index c91a76b8c8..e51dab45fb 100644 --- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters @@ -4965,6 +4965,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj index 678c53488c..8b546eed2f 100644 --- a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj @@ -3203,6 +3203,7 @@ + diff --git a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters index c430519c95..c9cf69611a 100644 --- a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters @@ -4965,6 +4965,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt index be3f6cd76d..6830b5e5eb 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt +++ b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt @@ -830,6 +830,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" @@ -2510,6 +2511,7 @@ set_source_files_properties( "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj index 5ef37cc67b..e8fb5d4d0f 100644 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj @@ -2756,6 +2756,7 @@ + diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters index 81bc0c6d38..f6eef51c9a 100644 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters @@ -4242,6 +4242,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt index 4e41480c5e..297c823b1c 100644 --- a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt +++ b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt @@ -863,6 +863,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" @@ -2698,6 +2699,7 @@ set_source_files_properties( "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj index dd2de8a967..df9d4d3708 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj @@ -2939,6 +2939,7 @@ + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters index 644f19ed72..ef8871efbd 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters @@ -4521,6 +4521,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj index 6e7a859c57..17a9a1b318 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj @@ -2939,6 +2939,7 @@ + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters index 4cc5b50e3a..9e19f2420c 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters @@ -4521,6 +4521,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj index 75283ced33..e48bc3dbea 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj @@ -2939,6 +2939,7 @@ + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters index 1e37071622..f03714a51a 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters @@ -4521,6 +4521,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj index c8eed50323..95ca24991c 100644 --- a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj +++ b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj @@ -486,6 +486,7 @@ + diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters index b821c96bfe..700b5c4776 100644 --- a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters +++ b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters @@ -477,6 +477,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt index 1635dd7f4e..69aaf46c9d 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt @@ -834,6 +834,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" @@ -2594,6 +2595,7 @@ set_source_files_properties( "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_Span.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" "../../../../../modules/juce_core/containers/juce_Variant.cpp" diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj index d4df0a265b..3efed10535 100644 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj @@ -2847,6 +2847,7 @@ + diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters index 0dc2f237dc..7e184d362d 100644 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters @@ -4383,6 +4383,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj index fe6398e49f..8dd560c757 100644 --- a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj +++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj @@ -149,6 +149,7 @@ 35CFCC15CBA46F4513940A2A /* jucer_TextButtonHandler.h */ /* jucer_TextButtonHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_TextButtonHandler.h; path = ../../Source/ComponentEditor/Components/jucer_TextButtonHandler.h; sourceTree = SOURCE_ROOT; }; 364D1A9B113320407A7E57B9 /* JuceHeader.h */ /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; }; 36E5FBF64A89D5F2A266A5A7 /* jucer_PaintElementUndoableAction.h */ /* jucer_PaintElementUndoableAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_PaintElementUndoableAction.h; path = ../../Source/ComponentEditor/PaintElements/jucer_PaintElementUndoableAction.h; sourceTree = SOURCE_ROOT; }; + 37C52FDE069922DFD4A938C8 /* juce_LinuxSubprocessHelper.cpp */ /* juce_LinuxSubprocessHelper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LinuxSubprocessHelper.cpp; path = ../../../Build/CMake/juce_LinuxSubprocessHelper.cpp; sourceTree = SOURCE_ROOT; }; 39597BD78897CB711AFA945A /* jucer_EditingPanelBase.h */ /* jucer_EditingPanelBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_EditingPanelBase.h; path = ../../Source/ComponentEditor/UI/jucer_EditingPanelBase.h; sourceTree = SOURCE_ROOT; }; 3D36F0CEB84B27BD02FC461A /* jucer_LabelPropertyComponent.h */ /* jucer_LabelPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_LabelPropertyComponent.h; path = ../../Source/Utility/UI/PropertyComponents/jucer_LabelPropertyComponent.h; sourceTree = SOURCE_ROOT; }; 3D6FD9C0065BF16568EC0AB7 /* jucer_SlidingPanelComponent.h */ /* jucer_SlidingPanelComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_SlidingPanelComponent.h; path = ../../Source/Utility/UI/jucer_SlidingPanelComponent.h; sourceTree = SOURCE_ROOT; }; @@ -376,6 +377,7 @@ FA790C59A304579F660F112F /* jucer_ProjectExport_CodeBlocks.h */ /* jucer_ProjectExport_CodeBlocks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_ProjectExport_CodeBlocks.h; path = ../../Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h; sourceTree = SOURCE_ROOT; }; FB80347407261BF6CCEFDE91 /* jucer_ComponentTemplate.cpp */ /* jucer_ComponentTemplate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jucer_ComponentTemplate.cpp; path = ../../Source/BinaryData/Templates/jucer_ComponentTemplate.cpp; sourceTree = SOURCE_ROOT; }; FCEBE24EA79A13713D7CBF26 /* jucer_ComponentColourProperty.h */ /* jucer_ComponentColourProperty.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_ComponentColourProperty.h; path = ../../Source/ComponentEditor/Properties/jucer_ComponentColourProperty.h; sourceTree = SOURCE_ROOT; }; + FD6A6FA8BDBDDD441BCD33F9 /* juce_SimpleBinaryBuilder.cpp */ /* juce_SimpleBinaryBuilder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SimpleBinaryBuilder.cpp; path = ../../Source/BinaryData/juce_SimpleBinaryBuilder.cpp; sourceTree = SOURCE_ROOT; }; FD7885911A317D73E98D49B3 /* jucer_NewProjectWizard.h */ /* jucer_NewProjectWizard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_NewProjectWizard.h; path = ../../Source/Application/StartPage/jucer_NewProjectWizard.h; sourceTree = SOURCE_ROOT; }; FDABEE6B64546586368A4729 /* jucer_AvailableModulesList.h */ /* jucer_AvailableModulesList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_AvailableModulesList.h; path = ../../Source/Project/Modules/jucer_AvailableModulesList.h; sourceTree = SOURCE_ROOT; }; FE20FE5805A02A4843048200 /* jucer_ProjucerLookAndFeel.h */ /* jucer_ProjucerLookAndFeel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jucer_ProjucerLookAndFeel.h; path = ../../Source/Utility/UI/jucer_ProjucerLookAndFeel.h; sourceTree = SOURCE_ROOT; }; @@ -866,6 +868,8 @@ 41105E536155E394E54BDD35, 5F6584B675E30761521A9F42, C5A1549AD0C20CF42C1FE630, + 37C52FDE069922DFD4A938C8, + FD6A6FA8BDBDDD441BCD33F9, ); name = BinaryData; sourceTree = ""; diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj index eaab8066a7..ac0637309c 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj @@ -196,6 +196,12 @@ true + + true + + + true + @@ -1728,6 +1734,7 @@ + diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters index c01b770924..730a63f9b6 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters @@ -388,6 +388,12 @@ Projucer\BinaryData + + Projucer\BinaryData + + + Projucer\BinaryData + Projucer\CodeEditor @@ -2487,6 +2493,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj index 5563032f1c..7dd8436525 100644 --- a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj @@ -196,6 +196,12 @@ true + + true + + + true + @@ -1728,6 +1734,7 @@ + diff --git a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters index bf82efb3dc..82904a1b34 100644 --- a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters @@ -388,6 +388,12 @@ Projucer\BinaryData + + Projucer\BinaryData + + + Projucer\BinaryData + Projucer\CodeEditor @@ -2487,6 +2493,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj index a6b64ae192..59eea54a1f 100644 --- a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj @@ -196,6 +196,12 @@ true + + true + + + true + @@ -1728,6 +1734,7 @@ + diff --git a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters index 3e3eb44572..8d124814f1 100644 --- a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters @@ -388,6 +388,12 @@ Projucer\BinaryData + + Projucer\BinaryData + + + Projucer\BinaryData + Projucer\CodeEditor @@ -2487,6 +2493,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.cpp b/extras/Projucer/JuceLibraryCode/BinaryData.cpp index 17e72df1ee..76feaf88ac 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.cpp +++ b/extras/Projucer/JuceLibraryCode/BinaryData.cpp @@ -8513,6 +8513,271 @@ static const unsigned char temp_binary_data_65[] = const char* juce_runtime_arch_detection_cpp = (const char*) temp_binary_data_65; +//================== juce_LinuxSubprocessHelper.cpp ================== +static const unsigned char temp_binary_data_66[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file is part of the JUCE library.\r\n" +" Copyright (c) 2022 - Raw Material Software Limited\r\n" +"\r\n" +" JUCE is an open source library subject to commercial or open-source\r\n" +" licensing.\r\n" +"\r\n" +" By using JUCE, you agree to the terms of both the JUCE 7 End-User License\r\n" +" Agreement and JUCE Privacy Policy.\r\n" +"\r\n" +" End User License Agreement: www.juce.com/juce-7-licence\r\n" +" Privacy Policy: www.juce.com/juce-privacy-policy\r\n" +"\r\n" +" Or: You may also use this code under the terms of the GPL v3 (see\r\n" +" www.gnu.org/licenses).\r\n" +"\r\n" +" JUCE IS PROVIDED \"AS IS\" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r\n" +" EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r\n" +" DISCLAIMED.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#include \r\n" +"\r\n" +"int main (int argc, const char** argv)\r\n" +"{\r\n" +" if (argc >= 3)\r\n" +" if (auto* handle = dlopen (argv[1], RTLD_LAZY))\r\n" +" if (auto* function = reinterpret_cast (dlsym (handle, argv[2])))\r\n" +" return function (argc - 3, argv + 3);\r\n" +"\r\n" +" return 1;\r\n" +"}\r\n"; + +const char* juce_LinuxSubprocessHelper_cpp = (const char*) temp_binary_data_66; + +//================== juce_SimpleBinaryBuilder.cpp ================== +static const unsigned char temp_binary_data_67[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file is part of the JUCE library.\r\n" +" Copyright (c) 2022 - Raw Material Software Limited\r\n" +"\r\n" +" JUCE is an open source library subject to commercial or open-source\r\n" +" licensing.\r\n" +"\r\n" +" By using JUCE, you agree to the terms of both the JUCE 7 End-User License\r\n" +" Agreement and JUCE Privacy Policy.\r\n" +"\r\n" +" End User License Agreement: www.juce.com/juce-7-licence\r\n" +" Privacy Policy: www.juce.com/juce-privacy-policy\r\n" +"\r\n" +" Or: You may also use this code under the terms of the GPL v3 (see\r\n" +" www.gnu.org/licenses).\r\n" +"\r\n" +" JUCE IS PROVIDED \"AS IS\" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r\n" +" EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r\n" +" DISCLAIMED.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#include \r\n" +"#include \r\n" +"#include \r\n" +"#include \r\n" +"#include \r\n" +"#include \r\n" +"\r\n" +"namespace fs = std::filesystem;\r\n" +"\r\n" +"//==============================================================================\r\n" +"namespace StringHelpers\r\n" +"{\r\n" +"\r\n" +"static bool isQuoteCharacter (char c)\r\n" +"{\r\n" +" return c == '\"' || c == '\\'';\r\n" +"}\r\n" +"\r\n" +"static std::string unquoted (const std::string& str)\r\n" +"{\r\n" +" if (str.length() == 0 || (! isQuoteCharacter (str[0])))\r\n" +" return str;\r\n" +"\r\n" +" return str.substr (1, str.length() - (isQuoteCharacter (str[str.length() - 1]) ? 1 : 0));\r\n" +"}\r\n" +"\r\n" +"static void ltrim (std::string& s)\r\n" +"{\r\n" +" s.erase (s.begin(), std::find_if (s.begin(), s.end(), [] (int c) { return ! std::isspace (c); }));\r\n" +"}\r\n" +"\r\n" +"static void rtrim (std::string& s)\r\n" +"{\r\n" +" s.erase (std::find_if (s.rbegin(), s.rend(), [] (int c) { return ! std::isspace (c); }).base(), s.end());\r\n" +"}\r\n" +"\r\n" +"static std::string trimmed (const std::string& str)\r\n" +"{\r\n" +" auto result = str;\r\n" +" ltrim (result);\r\n" +" rtrim (result);\r\n" +" return result;\r\n" +"}\r\n" +"\r\n" +"static std::string replaced (const std::string& str, char charToReplace, char replaceWith)\r\n" +"{\r\n" +" auto result = str;\r\n" +" std::replace( result.begin(), result.end(), charToReplace, replaceWith);\r\n" +" return result;\r\n" +"}\r\n" +"\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"static bool addFile (const fs::path& filePath,\r\n" +" const std::string& binaryNamespace,\r\n" +" std::ofstream& headerStream,\r\n" +" std::ofstream& cppStream)\r\n" +"{\r\n" +" std::ifstream fileStream (filePath, std::ios::in | std::ios::binary | std::ios::ate);\r\n" +"\r\n" +" if (! fileStream.is_open())\r\n" +" {\r\n" +" std::cerr << \"Failed to open input file \" << filePath << std::endl;\r\n" +" return false;\r\n" +" }\r\n" +"\r\n" +" std::vector buffer ((size_t) fileStream.tellg());\r\n" +" fileStream.seekg (0);\r\n" +" fileStream.read (buffer.data(), static_cast (buffer.size()));\r\n" +"\r\n" +" const auto variableName = StringHelpers::replaced (StringHelpers::replaced (filePath.filename().string(),\r\n" +" ' ',\r\n" +" '_'),\r\n" +" '.',\r\n" +" '_');\r\n" +"\r\n" +" std::cout << \"Adding \" << variableName << \": \"\r\n" +" << buffer.size() << \" bytes\" << std::endl;\r\n" +"\r\n" +" headerStream << \" extern const char* \" << variableName << \";\\r\\n\"\r\n" +" \" const int \" << variableName << \"Size = \"\r\n" +" << buffer.size() << \";\" << std::endl;\r\n" +"\r\n" +" cppStream << \"static const unsigned char temp0[] = {\";\r\n" +"\r\n" +" auto* data = (const uint8_t*) buffer.data();\r\n" +"\r\n" +" for (size_t i = 0; i < buffer.size() - 1; ++i)\r\n" +" {\r\n" +" if ((i % 40) != 39)\r\n" +" cppStream << (int) data[i] << \",\";\r\n" +" else\r\n" +" cppStream << (int) data[i] << \",\" << std::endl << \" \";\r\n" +" }\r\n" +"\r\n" +" cppStream << (int) data[buffer.size() - 1] << \",0,0};\" << std::endl;\r\n" +" cppStream << \"const char* \" << binaryNamespace << \"::\" << variableName\r\n" +" << \" = (const char*) temp0\" << \";\" << std::endl << std::endl;\r\n" +"\r\n" +" return true;\r\n" +"}\r\n" +"\r\n" +"//==============================================================================\r\n" +"int main (int argc, char* argv[])\r\n" +"{\r\n" +" if (argc != 5)\r\n" +" {\r\n" +" std::cout << \" Usage: SimpleBinaryBuilder sourcefile targetdirectory targetfilename namespace\\n\\n\"\r\n" +" \" SimpleBinaryBuilder will encode the provided source file into\\n\"\r\n" +" \" two files called (targetfilename).cpp and (targetfilename).h,\\n\"\r\n" +" \" which it will write into the specified target directory.\\n\"\r\n" +" \" The target directory will be automatically created if necessary. The binary\"\r\n" +" \" resource will be available in the given namespace.\\n\\n\";\r\n" +"\r\n" +" return 0;\r\n" +" }\r\n" +"\r\n" +" const auto sourceFile = fs::current_path() / StringHelpers::unquoted (std::string (argv[1]));\r\n" +"\r\n" +" if (! fs::exists (sourceFile))\r\n" +" {\r\n" +" std::cerr << \"Source file doesn't exist: \"\r\n" +" << sourceFile\r\n" +" << std::endl << std::endl;\r\n" +"\r\n" +" return 1;\r\n" +" }\r\n" +"\r\n" +" const auto targetDirectory = fs::current_path() / StringHelpers::unquoted (std::string (argv[2]));\r\n" +"\r\n" +" if (! fs::exists (targetDirectory))\r\n" +" {\r\n" +" try\r\n" +" {\r\n" +" fs::create_directories (targetDirectory);\r\n" +" }\r\n" +" catch (const fs::filesystem_error&)\r\n" +" {\r\n" +" std::cerr << \"Failed to create target directory: \"\r\n" +" << targetDirectory\r\n" +" << std::endl << std::endl;\r\n" +"\r\n" +" return 1;\r\n" +" }\r\n" +" }\r\n" +"\r\n" +" const auto className = StringHelpers::trimmed (argv[3]);\r\n" +" const auto binaryNamespace = StringHelpers::trimmed (argv[4]);\r\n" +"\r\n" +" const auto headerFilePath = targetDirectory / (className + \".h\");\r\n" +" const auto cppFilePath = targetDirectory / (className + \".cpp\");\r\n" +"\r\n" +" std::cout << \"Creating \" << headerFilePath\r\n" +" << \" and \" << cppFilePath\r\n" +" << \" from file \" << sourceFile\r\n" +" << \"...\" << std::endl << std::endl;\r\n" +"\r\n" +" fs::remove (headerFilePath);\r\n" +" fs::remove (cppFilePath);\r\n" +"\r\n" +" std::ofstream header (headerFilePath);\r\n" +"\r\n" +" if (! header.is_open())\r\n" +" {\r\n" +" std::cerr << \"Failed to open \" << headerFilePath << std::endl;\r\n" +"\r\n" +" return 1;\r\n" +" }\r\n" +"\r\n" +" std::ofstream cpp (cppFilePath);\r\n" +"\r\n" +" if (! cpp.is_open())\r\n" +" {\r\n" +" std::cerr << \"Failed to open \" << headerFilePath << std::endl;\r\n" +"\r\n" +" return 1;\r\n" +" }\r\n" +"\r\n" +" header << \"/* (Auto-generated binary data file). */\" << std::endl << std::endl\r\n" +" << \"#pragma once\" << std::endl << std::endl\r\n" +" << \"namespace \" << binaryNamespace << std::endl\r\n" +" << \"{\" << std::endl;\r\n" +"\r\n" +" cpp << \"/* (Auto-generated binary data file). */\" << std::endl << std::endl\r\n" +" << \"#include \" << std::quoted (className + \".h\") << std::endl << std::endl;\r\n" +"\r\n" +" if (! addFile (sourceFile, binaryNamespace, header, cpp))\r\n" +" return 1;\r\n" +"\r\n" +" header << \"}\" << std::endl << std::endl;\r\n" +"\r\n" +" return 0;\r\n" +"}\r\n"; + +const char* juce_SimpleBinaryBuilder_cpp = (const char*) temp_binary_data_67; + const char* getNamedResource (const char* resourceNameUTF8, int& numBytes); const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) @@ -8591,6 +8856,8 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml; case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml; case 0x7c03d519: numBytes = 3005; return juce_runtime_arch_detection_cpp; + case 0x295b6f43: numBytes = 1200; return juce_LinuxSubprocessHelper_cpp; + case 0xef269d3a: numBytes = 7162; return juce_SimpleBinaryBuilder_cpp; default: break; } @@ -8665,7 +8932,9 @@ const char* namedResourceList[] = "jucer_PIPTemplate_h", "colourscheme_dark_xml", "colourscheme_light_xml", - "juce_runtime_arch_detection_cpp" + "juce_runtime_arch_detection_cpp", + "juce_LinuxSubprocessHelper_cpp", + "juce_SimpleBinaryBuilder_cpp" }; const char* originalFilenames[] = @@ -8735,7 +9004,9 @@ const char* originalFilenames[] = "jucer_PIPTemplate.h", "colourscheme_dark.xml", "colourscheme_light.xml", - "juce_runtime_arch_detection.cpp" + "juce_runtime_arch_detection.cpp", + "juce_LinuxSubprocessHelper.cpp", + "juce_SimpleBinaryBuilder.cpp" }; const char* getNamedResourceOriginalFilename (const char* resourceNameUTF8); diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.h b/extras/Projucer/JuceLibraryCode/BinaryData.h index a76767f238..b7fd0edf58 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.h +++ b/extras/Projucer/JuceLibraryCode/BinaryData.h @@ -206,8 +206,14 @@ namespace BinaryData extern const char* juce_runtime_arch_detection_cpp; const int juce_runtime_arch_detection_cppSize = 3005; + extern const char* juce_LinuxSubprocessHelper_cpp; + const int juce_LinuxSubprocessHelper_cppSize = 1200; + + extern const char* juce_SimpleBinaryBuilder_cpp; + const int juce_SimpleBinaryBuilder_cppSize = 7162; + // Number of elements in the namedResourceList and originalFileNames arrays. - const int namedResourceListSize = 66; + const int namedResourceListSize = 68; // Points to the start of a list of resource names. extern const char* namedResourceList[]; diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj index beb5b01d27..7e6a3c2d23 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj @@ -3005,6 +3005,7 @@ + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters index e0a95f8886..517e5b7fcf 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters @@ -4611,6 +4611,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj index 3f268eba69..cdbda5e7ac 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj @@ -3005,6 +3005,7 @@ + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters index 2d93b6b183..a203a010b7 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters @@ -4611,6 +4611,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj index 5cde0f75a1..11d62f8c3e 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj @@ -3005,6 +3005,7 @@ + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters index d785e613fb..d01be6ad30 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters @@ -4611,6 +4611,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers diff --git a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj index b08545b456..885b80d122 100644 --- a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj +++ b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj @@ -2823,6 +2823,7 @@ + diff --git a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters index 33d4edb9ef..2f90234f67 100644 --- a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters +++ b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters @@ -4350,6 +4350,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers