New upstream version 6.1.4~ds0
authorIOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org>
Mon, 10 Jan 2022 08:00:56 +0000 (09:00 +0100)
committerIOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org>
Mon, 10 Jan 2022 08:00:56 +0000 (09:00 +0100)
150 files changed:
CMakeLists.txt
ChangeList.txt
examples/DemoRunner/Builds/Android/app/CMakeLists.txt
examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml
examples/DemoRunner/Builds/LinuxMakefile/Makefile
examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj
examples/DemoRunner/Builds/MacOSX/Info-App.plist
examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj
examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters
examples/DemoRunner/Builds/VisualStudio2015/resources.rc
examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj
examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters
examples/DemoRunner/Builds/VisualStudio2017/resources.rc
examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj
examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters
examples/DemoRunner/Builds/VisualStudio2019/resources.rc
examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj
examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters
examples/DemoRunner/Builds/VisualStudio2022/resources.rc
examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj
examples/DemoRunner/Builds/iOS/Info-App.plist
examples/DemoRunner/DemoRunner.jucer
examples/DemoRunner/JuceLibraryCode/JuceHeader.h
examples/Utilities/InAppPurchasesDemo.h
extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile
extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj
extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj
extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters
extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj
extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt
extras/AudioPluginHost/Builds/LinuxMakefile/Makefile
extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj
extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj
extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters
extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj
extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters
extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj
extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters
extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj
extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters
extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj
extras/AudioPluginHost/Source/UI/PluginWindow.h
extras/BinaryBuilder/Builds/LinuxMakefile/Makefile
extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj
extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj
extras/Build/juce_build_tools/juce_build_tools.h
extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile
extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.pbxproj
extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj
extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters
extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj
extras/Projucer/Builds/LinuxMakefile/Makefile
extras/Projucer/Builds/MacOSX/Info-App.plist
extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj
extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj
extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters
extras/Projucer/Builds/VisualStudio2015/resources.rc
extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj
extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters
extras/Projucer/Builds/VisualStudio2017/resources.rc
extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj
extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters
extras/Projucer/Builds/VisualStudio2019/resources.rc
extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj
extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters
extras/Projucer/Builds/VisualStudio2022/resources.rc
extras/Projucer/JuceLibraryCode/JuceHeader.h
extras/Projucer/Projucer.jucer
extras/Projucer/Source/Application/StartPage/jucer_ContentComponents.h
extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h
extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h
extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h
extras/Projucer/Source/Project/UI/jucer_ModulesInformationComponent.h
extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp
extras/Projucer/Source/Project/jucer_Project.cpp
extras/Projucer/Source/Project/jucer_Project.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h
extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h
extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
extras/Projucer/Source/Settings/jucer_StoredSettings.h
extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h
extras/Projucer/Source/Utility/Helpers/jucer_ValueTreePropertyWithDefaultWrapper.h [new file with mode: 0644]
extras/Projucer/Source/Utility/Helpers/jucer_ValueWithDefaultWrapper.h [deleted file]
extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_FilePathPropertyComponent.h
extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h
extras/UnitTestRunner/Builds/LinuxMakefile/Makefile
extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj
extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj
extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters
extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj
extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters
extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj
extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters
extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj
extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters
modules/juce_analytics/juce_analytics.h
modules/juce_audio_basics/juce_audio_basics.h
modules/juce_audio_devices/juce_audio_devices.h
modules/juce_audio_devices/native/juce_android_OpenSL.cpp
modules/juce_audio_devices/native/juce_win32_ASIO.cpp
modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp
modules/juce_audio_formats/juce_audio_formats.h
modules/juce_audio_plugin_client/juce_audio_plugin_client.h
modules/juce_audio_processors/juce_audio_processors.h
modules/juce_audio_utils/juce_audio_utils.h
modules/juce_box2d/juce_box2d.h
modules/juce_core/juce_core.h
modules/juce_core/native/juce_posix_SharedCode.h
modules/juce_core/system/juce_StandardHeader.h
modules/juce_core/text/juce_CharPointer_UTF8.h
modules/juce_cryptography/juce_cryptography.h
modules/juce_data_structures/juce_data_structures.cpp
modules/juce_data_structures/juce_data_structures.h
modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h [new file with mode: 0644]
modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp [new file with mode: 0644]
modules/juce_data_structures/values/juce_ValueWithDefault.cpp [deleted file]
modules/juce_data_structures/values/juce_ValueWithDefault.h [deleted file]
modules/juce_dsp/frequency/juce_FFT.cpp
modules/juce_dsp/juce_dsp.h
modules/juce_events/juce_events.h
modules/juce_graphics/juce_graphics.h
modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm
modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h
modules/juce_gui_basics/juce_gui_basics.h
modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp
modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm
modules/juce_gui_basics/native/juce_win32_Windowing.cpp
modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp
modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h
modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp
modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h
modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp
modules/juce_gui_basics/properties/juce_TextPropertyComponent.h
modules/juce_gui_basics/widgets/juce_Slider.cpp
modules/juce_gui_extra/documents/juce_FileBasedDocument.h
modules/juce_gui_extra/juce_gui_extra.h
modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp
modules/juce_opengl/juce_opengl.h
modules/juce_opengl/opengl/juce_OpenGLContext.cpp
modules/juce_osc/juce_osc.h
modules/juce_product_unlocking/juce_product_unlocking.h
modules/juce_video/juce_video.h

index ad1d9598fc5a40d40e9ce53083029705071f0d4b..41954d48440118133b37356b9d947e76318aa95c 100644 (file)
@@ -23,7 +23,7 @@
 
 cmake_minimum_required(VERSION 3.15)
 
-project(JUCE VERSION 6.1.3 LANGUAGES C CXX)
+project(JUCE VERSION 6.1.4 LANGUAGES C CXX)
 
 include(CMakeDependentOption)
 
index 3544a50365f0ac3828b23c12969d76e46102d3c6..75c3db1faa4927c405a087db2ce726b33d38f921 100644 (file)
@@ -3,6 +3,11 @@
 This file just lists the more notable headline features. For more detailed info\r
 about changes and bugfixes please see the git log and BREAKING-CHANGES.txt.\r
 \r
+Version 6.1.4\r
+  - Restored Projucer project saving behavior\r
+  - Fixed a CGImage memory access violation on Monterey\r
+  - Improved macOS thread priority management\r
+\r
 Version 6.1.3\r
   - Added support for Visual Studio 2022 to the Projucer\r
   - Added support for creating OpenGL 3.2 contexts on Windows\r
index b7888425d472b624e06db894015548dc00b1c296..bbc07f192e3072eaa9a88588d9794f6e971cb304 100644 (file)
@@ -12,7 +12,7 @@ add_subdirectory (${OBOE_DIR} ./oboe)
 add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c")
 set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression")
 
-add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=23]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_CONTENT_SHARING=1]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.3]] [[-DJUCE_APP_VERSION_HEX=0x60103]])
+add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=23]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_CONTENT_SHARING=1]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.4]] [[-DJUCE_APP_VERSION_HEX=0x60104]])
 
 include_directories( AFTER
     "../../../JuceLibraryCode"
@@ -23,9 +23,9 @@ include_directories( AFTER
 enable_language(ASM)
 
 if(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_analytics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_box2d=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1]] [[-DJUCE_MODULE_AVAILABLE_juce_video=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_USE_MP3AUDIOFORMAT=1]] [[-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0]] [[-DJUCE_STRICT_REFCOUNTEDPOINTER=1]] [[-DJUCE_USE_CAMERA=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.3]] [[-DJUCE_APP_VERSION_HEX=0x60103]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_analytics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_box2d=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1]] [[-DJUCE_MODULE_AVAILABLE_juce_video=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_USE_MP3AUDIOFORMAT=1]] [[-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0]] [[-DJUCE_STRICT_REFCOUNTEDPOINTER=1]] [[-DJUCE_USE_CAMERA=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.4]] [[-DJUCE_APP_VERSION_HEX=0x60104]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
 elseif(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_analytics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_box2d=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1]] [[-DJUCE_MODULE_AVAILABLE_juce_video=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_USE_MP3AUDIOFORMAT=1]] [[-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0]] [[-DJUCE_STRICT_REFCOUNTEDPOINTER=1]] [[-DJUCE_USE_CAMERA=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.3]] [[-DJUCE_APP_VERSION_HEX=0x60103]] [[-DNDEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_analytics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_box2d=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1]] [[-DJUCE_MODULE_AVAILABLE_juce_video=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_USE_MP3AUDIOFORMAT=1]] [[-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0]] [[-DJUCE_STRICT_REFCOUNTEDPOINTER=1]] [[-DJUCE_USE_CAMERA=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.4]] [[-DJUCE_APP_VERSION_HEX=0x60104]] [[-DNDEBUG=1]])
 else()
     message( FATAL_ERROR "No matching build-configuration found." )
 endif()
@@ -1050,10 +1050,10 @@ add_library( ${BINARY_NAME}
     "../../../../../modules/juce_data_structures/values/juce_Value.h"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h"
     "../../../../../modules/juce_data_structures/juce_data_structures.cpp"
     "../../../../../modules/juce_data_structures/juce_data_structures.mm"
     "../../../../../modules/juce_data_structures/juce_data_structures.h"
@@ -2859,10 +2859,10 @@ set_source_files_properties("../../../../../modules/juce_data_structures/values/
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.h" PROPERTIES HEADER_FILE_ONLY TRUE)
index 37fb723d1253676f5308d9ad0546a47504ae56b9..b11c33e01c8b8ae929351331f147e93bc35bf51c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="6.1.3"
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="6.1.4"
           package="com.rmsl.jucedemorunner">
   <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"
                     android:xlargeScreens="true"/>
index 52d0f3a3d0abb9b7e92ba7f68e44699f546a1642..542711f4e46dcffe930bc6362bb773544522330f 100644 (file)
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.4" "-DJUCE_APP_VERSION_HEX=0x60104" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := DemoRunner
 
@@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.4" "-DJUCE_APP_VERSION_HEX=0x60104" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := DemoRunner
 
index 205f7e5439df023981c1d11316a2b6f73d29cab0..0212a13fcd70422078c90f1047aea26aed132599 100644 (file)
                AC6F0E9A0809A184B2C2B7DE = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        291E01DCBE746A376DBFA4D1 = {
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "NDEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_analytics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_DEMO_RUNNER=1",
                                        "JUCE_UNIT_TESTS=1",
                                        "JUCER_XCODE_MAC_F6D2F4CF=1",
-                                       "JUCE_APP_VERSION=6.1.3",
-                                       "JUCE_APP_VERSION_HEX=0x60103",
+                                       "JUCE_APP_VERSION=6.1.4",
+                                       "JUCE_APP_VERSION_HEX=0x60104",
                                        "JucePlugin_Build_VST=0",
                                        "JucePlugin_Build_VST3=0",
                                        "JucePlugin_Build_AU=0",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner;
                                PRODUCT_NAME = "DemoRunner";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "DEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_analytics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_DEMO_RUNNER=1",
                                        "JUCE_UNIT_TESTS=1",
                                        "JUCER_XCODE_MAC_F6D2F4CF=1",
-                                       "JUCE_APP_VERSION=6.1.3",
-                                       "JUCE_APP_VERSION_HEX=0x60103",
+                                       "JUCE_APP_VERSION=6.1.4",
+                                       "JUCE_APP_VERSION_HEX=0x60104",
                                        "JucePlugin_Build_VST=0",
                                        "JucePlugin_Build_VST3=0",
                                        "JucePlugin_Build_AU=0",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner;
                                PRODUCT_NAME = "DemoRunner";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
index 3376a7f93fb5f5deb34e87b696ae7d76532cbe7d..92255e020002580635f295362a00b44cc81c40f6 100644 (file)
@@ -24,9 +24,9 @@
     <key>CFBundleSignature</key>\r
     <string>????</string>\r
     <key>CFBundleShortVersionString</key>\r
-    <string>6.1.3</string>\r
+    <string>6.1.4</string>\r
     <key>CFBundleVersion</key>\r
-    <string>6.1.3</string>\r
+    <string>6.1.4</string>\r
     <key>NSHumanReadableCopyright</key>\r
     <string>Copyright (c) 2020 - Raw Material Software Limited</string>\r
     <key>NSHighResolutionCapable</key>\r
index e350c61bd6531e7b751165e7edb451081ccf9a47..a22108da53d21e4a1b37f1dc4f9db65ba93df2ad 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 9c7a09dca38b966897fda2f795ba5aed0285a01b..188c4e3a988f969d2bff7a1ab9a7d5a69a4b080d 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 592f24f49c6579e70b387e717e49b62c738df056..bcd8b443fc5fa2c2b37316e1d6eb449320c09e54 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Copyright (c) 2020 - Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "DemoRunner\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "DemoRunner\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index f85dfd73f997be66826ea6f1400dfdb576049b71..61a1ab0fdb0ca4286d34e672c87521f6180931a2 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 8b0abadd6b316daed62c23cedc559353c560ffae..b498ead7db1a23faf9aed72e62b3043897533097 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 592f24f49c6579e70b387e717e49b62c738df056..bcd8b443fc5fa2c2b37316e1d6eb449320c09e54 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Copyright (c) 2020 - Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "DemoRunner\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "DemoRunner\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index 023915212f34b1d34bb3ac89b74e8b45f3c21bb0..ae9de6eccb0aad051ad72008608f74832be974cd 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 33b29abe614a3c2b2c608270c06123f2b0431d29..2ab186d8f8ac75d85388795a6ae536eb5b6e639f 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 592f24f49c6579e70b387e717e49b62c738df056..bcd8b443fc5fa2c2b37316e1d6eb449320c09e54 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Copyright (c) 2020 - Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "DemoRunner\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "DemoRunner\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index 6aafa8ebb3171d5fc5b5c37ab05e502b5c2965f2..ab94e9458f8364302aafad23aae476d553e45512 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 0b6fc1ffcc7127feb9bd5c401b5c4a049ce5b25b..01bc0b965e49840a179eb9ffe4c434dc1106076e 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 592f24f49c6579e70b387e717e49b62c738df056..bcd8b443fc5fa2c2b37316e1d6eb449320c09e54 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Copyright (c) 2020 - Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "DemoRunner\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "DemoRunner\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index b9446361dfaf1578cee14163aedf0902f60a04a2..3e07daebaa68ccf78487b86db072558774cd9ac4 100644 (file)
                AC6F0E9A0809A184B2C2B7DE = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        291E01DCBE746A376DBFA4D1 = {
                07EA85D22270E8EA13CA0BBE /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                69330F27DD2C71609336C7D2 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
                                CODE_SIGN_ENTITLEMENTS = "App.entitlements";
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_analytics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_DEMO_RUNNER=1",
                                        "JUCE_UNIT_TESTS=1",
                                        "JUCER_XCODE_IPHONE_5BC26AE3=1",
-                                       "JUCE_APP_VERSION=6.1.3",
-                                       "JUCE_APP_VERSION_HEX=0x60103",
+                                       "JUCE_APP_VERSION=6.1.4",
+                                       "JUCE_APP_VERSION_HEX=0x60104",
                                        "JucePlugin_Build_VST=0",
                                        "JucePlugin_Build_VST3=0",
                                        "JucePlugin_Build_AU=0",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner;
                                PRODUCT_NAME = "DemoRunner";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES;
                        };
                B18D059E5616FA729F764229 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
                                CODE_SIGN_ENTITLEMENTS = "App.entitlements";
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_analytics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_DEMO_RUNNER=1",
                                        "JUCE_UNIT_TESTS=1",
                                        "JUCER_XCODE_IPHONE_5BC26AE3=1",
-                                       "JUCE_APP_VERSION=6.1.3",
-                                       "JUCE_APP_VERSION_HEX=0x60103",
+                                       "JUCE_APP_VERSION=6.1.4",
+                                       "JUCE_APP_VERSION_HEX=0x60104",
                                        "JucePlugin_Build_VST=0",
                                        "JucePlugin_Build_VST3=0",
                                        "JucePlugin_Build_AU=0",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner;
                                PRODUCT_NAME = "DemoRunner";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES;
                        };
                C01EC82F42B640CA1E54AD53 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index 4ccf8b017de752ed8ec5ea9858fcf9e14274014d..bf7b9a6fe0ecf0a320ee257c3676743f095e0fc9 100644 (file)
@@ -30,9 +30,9 @@
     <key>CFBundleSignature</key>\r
     <string>????</string>\r
     <key>CFBundleShortVersionString</key>\r
-    <string>6.1.3</string>\r
+    <string>6.1.4</string>\r
     <key>CFBundleVersion</key>\r
-    <string>6.1.3</string>\r
+    <string>6.1.4</string>\r
     <key>NSHumanReadableCopyright</key>\r
     <string>Copyright (c) 2020 - Raw Material Software Limited</string>\r
     <key>NSHighResolutionCapable</key>\r
index 772508074c4f505b99d5fa57f12d90abb91b98bb..a253884584c833de349501c6ab1325ddbefd2e61 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 \r
 <JUCERPROJECT name="DemoRunner" projectType="guiapp" defines="JUCE_DEMO_RUNNER=1&#10;JUCE_UNIT_TESTS=1"\r
-              bundleIdentifier="com.rmsl.jucedemorunner" version="6.1.3" companyName="Raw Material Software Limited"\r
+              bundleIdentifier="com.rmsl.jucedemorunner" version="6.1.4" companyName="Raw Material Software Limited"\r
               companyCopyright="Copyright (c) 2020 - Raw Material Software Limited"\r
               companyWebsite="https://www.juce.com/" companyEmail="info@juce.com"\r
               id="yj7xMM" reportAppUsage="0" useAppConfig="0" addUsingNamespaceToJuceHeader="1"\r
index 1f6169b59a828340e551ba4cfd9be7071d085295..2fe0ec4af4ea2c8ee4cdaa61388a6a9b0b031b94 100644 (file)
@@ -54,7 +54,7 @@ namespace ProjectInfo
 {\r
     const char* const  projectName    = "DemoRunner";\r
     const char* const  companyName    = "Raw Material Software Limited";\r
-    const char* const  versionString  = "6.1.3";\r
-    const int          versionNumber  = 0x60103;\r
+    const char* const  versionString  = "6.1.4";\r
+    const int          versionNumber  = 0x60104;\r
 }\r
 #endif\r
index af0491be2b57f4c6a1adc2c9841cf2bf000a6f14..b9157457fc6a8ae7fd580ee0c305d86f68836037 100644 (file)
@@ -480,6 +480,8 @@ class InAppPurchasesDemo : public Component,
 public:\r
     InAppPurchasesDemo()\r
     {\r
+        manager.registerBasicFormats();\r
+\r
         Desktop::getInstance().getDefaultLookAndFeel().setUsingNativeAlertWindows (true);\r
 \r
         dm.addAudioCallback (&player);\r
@@ -568,12 +570,8 @@ private:
             auto assetName = "Purchases/" + soundNames[idx] + String (phraseListBox.getSelectedRow()) + ".ogg";\r
 \r
             if (auto fileStream = createAssetInputStream (assetName.toRawUTF8()))\r
-            {\r
-                currentPhraseData.reset();\r
-                fileStream->readIntoMemoryBlock (currentPhraseData);\r
-\r
-                player.play (currentPhraseData.getData(), currentPhraseData.getSize());\r
-            }\r
+                if (auto* reader = manager.createReaderFor (std::move (fileStream)))\r
+                    player.play (reader, true);\r
         }\r
     }\r
 \r
@@ -593,7 +591,7 @@ private:
     ListBox voiceListBox                       { "voiceListBox" };\r
     std::unique_ptr<VoiceModel> voiceModel     { new VoiceModel (purchases) };\r
 \r
-    MemoryBlock currentPhraseData;\r
+    AudioFormatManager manager;\r
 \r
     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InAppPurchasesDemo)\r
 };\r
index 4ad4b4679c7cc620d04054a1c169a7eee19c9a87..ffbab9cbb0b854f684563df952ad6a0fdcb34266 100644 (file)
@@ -23,9 +23,9 @@ include_directories( AFTER
 enable_language(ASM)
 
 if(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
 elseif(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]])
 else()
     message( FATAL_ERROR "No matching build-configuration found." )
 endif()
@@ -920,10 +920,10 @@ add_library( ${BINARY_NAME}
     "../../../../../modules/juce_data_structures/values/juce_Value.h"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h"
     "../../../../../modules/juce_data_structures/juce_data_structures.cpp"
     "../../../../../modules/juce_data_structures/juce_data_structures.mm"
     "../../../../../modules/juce_data_structures/juce_data_structures.h"
@@ -2428,10 +2428,10 @@ set_source_files_properties("../../../../../modules/juce_data_structures/values/
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.h" PROPERTIES HEADER_FILE_ONLY TRUE)
index ea4b69fa161b02fda4690bf2e2bf60261e08c0e0..57ffa453c5a6f8f3c5c2c7348adc908d230ee693 100644 (file)
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := AudioPerformanceTest
 
@@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := AudioPerformanceTest
 
index 1cd5e00bd05b09f62089b52c69e42b5219d234d3..dcf8f1546cc0548d7274430e105c22efee32d8e9 100644 (file)
                9CE2A44801B5B4BE7A9667DA = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        E9FD2656EC625C9C8DE30219 = {
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "DEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest;
                                PRODUCT_NAME = "AudioPerformanceTest";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                        };
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "NDEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest;
                                PRODUCT_NAME = "AudioPerformanceTest";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                        };
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
index 578dac6ff4a67e9c918bf0ac12b55b2a1a75b1ab..a6a9236406584174a7a5c05e633d8f0fb59b8169 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
index bec4e8816a02b64dd644a8c68dd40d9d392675f0..806d4455afec98bd9c2d788aee62c1c04d188f5a 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 5ab0015f9f8e7863023d55984ca8d5e154c1b585..47a6dc8a511a3af41f739b944758b0777b406f20 100644 (file)
                9CE2A44801B5B4BE7A9667DA = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        E9FD2656EC625C9C8DE30219 = {
                19B7C16D592FB25D09022191 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest;
                                PRODUCT_NAME = "AudioPerformanceTest";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                        };
                        name = Debug;
                B7A6988E30C0A68B01EDC53B /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest;
                                PRODUCT_NAME = "AudioPerformanceTest";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                        };
                        name = Release;
                B907CDF95622107F20CD7617 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                BF82CBDF63CC37CADC61A511 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index f07f696103c9e462e755b73ad197c2f7d64abf88..aabb7efb9c014cde58b3cae4b11ba6727155e4a9 100644 (file)
@@ -24,9 +24,9 @@ include_directories( AFTER
 enable_language(ASM)
 
 if(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_WASAPI=1]] [[-DJUCE_DIRECTSOUND=1]] [[-DJUCE_ALSA=1]] [[-DJUCE_USE_FLAC=0]] [[-DJUCE_USE_OGGVORBIS=1]] [[-DJUCE_PLUGINHOST_VST3=1]] [[-DJUCE_PLUGINHOST_AU=1]] [[-DJUCE_PLUGINHOST_LADSPA=1]] [[-DJUCE_USE_CDREADER=0]] [[-DJUCE_USE_CDBURNER=0]] [[-DJUCE_WEB_BROWSER=0]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_WASAPI=1]] [[-DJUCE_DIRECTSOUND=1]] [[-DJUCE_ALSA=1]] [[-DJUCE_USE_FLAC=0]] [[-DJUCE_USE_OGGVORBIS=1]] [[-DJUCE_PLUGINHOST_VST3=1]] [[-DJUCE_PLUGINHOST_AU=1]] [[-DJUCE_PLUGINHOST_LADSPA=1]] [[-DJUCE_USE_CDREADER=0]] [[-DJUCE_USE_CDBURNER=0]] [[-DJUCE_WEB_BROWSER=0]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
 elseif(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_WASAPI=1]] [[-DJUCE_DIRECTSOUND=1]] [[-DJUCE_ALSA=1]] [[-DJUCE_USE_FLAC=0]] [[-DJUCE_USE_OGGVORBIS=1]] [[-DJUCE_PLUGINHOST_VST3=1]] [[-DJUCE_PLUGINHOST_AU=1]] [[-DJUCE_PLUGINHOST_LADSPA=1]] [[-DJUCE_USE_CDREADER=0]] [[-DJUCE_USE_CDBURNER=0]] [[-DJUCE_WEB_BROWSER=0]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_WASAPI=1]] [[-DJUCE_DIRECTSOUND=1]] [[-DJUCE_ALSA=1]] [[-DJUCE_USE_FLAC=0]] [[-DJUCE_USE_OGGVORBIS=1]] [[-DJUCE_PLUGINHOST_VST3=1]] [[-DJUCE_PLUGINHOST_AU=1]] [[-DJUCE_PLUGINHOST_LADSPA=1]] [[-DJUCE_USE_CDREADER=0]] [[-DJUCE_USE_CDBURNER=0]] [[-DJUCE_WEB_BROWSER=0]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]])
     if(NOT (ANDROID_ABI STREQUAL "mips" OR ANDROID_ABI STREQUAL "mips64"))
         set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -flto")
         set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -flto")
@@ -958,10 +958,10 @@ add_library( ${BINARY_NAME}
     "../../../../../modules/juce_data_structures/values/juce_Value.h"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h"
     "../../../../../modules/juce_data_structures/juce_data_structures.cpp"
     "../../../../../modules/juce_data_structures/juce_data_structures.mm"
     "../../../../../modules/juce_data_structures/juce_data_structures.h"
@@ -2620,10 +2620,10 @@ set_source_files_properties("../../../../../modules/juce_data_structures/values/
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.h" PROPERTIES HEADER_FILE_ONLY TRUE)
index 60e17b86b24f9aa06869a678a2c0eb7a1bb972fe..e1bc5944bb038d3eadebdacb0b23b78050d841d2 100644 (file)
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := AudioPluginHost
 
@@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := AudioPluginHost
 
index 7617ce89dd19d9ce83b437837a0eca8007b3b341..882383d2007c9192b6a70de4064cc250eb8c30cb 100644 (file)
                ADE6E539DB98A302483A82D0 = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        DE12B7643D374BFF7E4FEB1C = {
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "NDEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost;
                                PRODUCT_NAME = "AudioPluginHost";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "DEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost;
                                PRODUCT_NAME = "AudioPluginHost";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
index c3578cccb6a9de0c823cc6ac8952cb1cf1322f38..feb4083733deadf146311f46ceefc13df1df06f0 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 23621985deaa8d3f744c098af908cded246907ca..4dfb9f58ff0cc69e4ec7ef1d334ace980fd85f96 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 606193733dce344ba59aacfef087d854a7db646c..e4d47bc4503889d8472837a17d6d563a775953d8 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 4ffb844f3c34e03b2583bedb94eda76660ffebbb..2b551ef9c9fee66bd6724036acea91b0481927d8 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 07452e16eda3c689d91c5a26389fca3e4c5a7ea8..f55a6758da7f94480d8835fd6dacc9fe7bff872a 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 9e1fdb24895e961e5116740f13eb3e55268f8577..6e3ec824462f8ef2a6ccdf30742f8b9f6aeb07bb 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index fe26c46f3495c534bcba1b13ddcca35f5971666a..c9e77247297161ccec6e425af0837501dcacf4c0 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index aae8277f89b9700e913c134b36f53806c0f31e09..258219b65da30d66f320c2863f500b1a41668060 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 0382a13360dacf705a491fa4741f98bbce8d5535..ec70e9cbeb26220f3cf343408bc534851f3fa126 100644 (file)
                ADE6E539DB98A302483A82D0 = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        DE12B7643D374BFF7E4FEB1C = {
                49453CC5AD9F08D2738464AC /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost;
                                PRODUCT_NAME = "Plugin Host";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES;
                        };
                8D1CA827F1EFD443BDCF198A /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                C8B793AC1BEFBE7A99BE8352 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost;
                                PRODUCT_NAME = "Plugin Host";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES;
                        };
                C9295196717FABE454A210B7 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
index 13636d79858fd0f89c884a47a34f23d348949d9a..4eb95d6a189003d9b00859ec8a0bf20de88ba6c6 100644 (file)
@@ -63,6 +63,12 @@ public:
         log.add ("Parameter debug log started");\r
     }\r
 \r
+    ~PluginDebugWindow() override\r
+    {\r
+        for (auto* p : audioProc.getParameters())\r
+            p->removeListener (this);\r
+    }\r
+\r
     void parameterValueChanged (int parameterIndex, float newValue) override\r
     {\r
         auto* param = audioProc.getParameters()[parameterIndex];\r
index 20304ecc48eff236628fdcb5077a452d31a1adc4..10a92b7f03a43c348fcf185ce9990276029ea783 100644 (file)
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_CONSOLEAPP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_CONSOLEAPP := BinaryBuilder
 
@@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_CONSOLEAPP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_CONSOLEAPP := BinaryBuilder
 
index 847947424eb59885ae840a42c26ead8ffb7b395e..950cd2d20698a1de85d3c8eeff91f9155d854d3e 100644 (file)
                36B6F402BC83F21646259DEF = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                        };
                        buildConfigurationList = E4C85B0464A93027D035AA1F;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "DEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_core=1",
                                        "JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1",
                                        "JUCE_STANDALONE_APPLICATION=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.binarybuilder;
                                PRODUCT_NAME = "BinaryBuilder";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                        };
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "NDEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_core=1",
                                        "JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1",
                                        "JUCE_STANDALONE_APPLICATION=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.binarybuilder;
                                PRODUCT_NAME = "BinaryBuilder";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                        };
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
index 73a4a0ed3085b802396be7481ffc56473ccae831..811ca8baf52db3fb38d3cffefd277053364defa2 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
index 1fadffe216f0205a2326477f73e097d093556996..1d41d5d66e3d20454c4f2e1378b637e7460d60fe 100644 (file)
@@ -34,7 +34,7 @@
 \r
   ID:                 juce_build_tools\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE Build Tools\r
   description:        Classes for generating intermediate files for JUCE projects.\r
   website:            http://www.juce.com/juce\r
index 0a2036196b5559f68691b15471eeb849d255d9dc..b37e40f1656f9d6e88aef03e1750867708de5193 100644 (file)
@@ -23,9 +23,9 @@ include_directories( AFTER
 enable_language(ASM)
 
 if(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEBUG=0]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEBUG=0]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]])
 elseif(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE")
-    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]])
+    add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60104]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]])
 else()
     message( FATAL_ERROR "No matching build-configuration found." )
 endif()
@@ -939,10 +939,10 @@ add_library( ${BINARY_NAME}
     "../../../../../modules/juce_data_structures/values/juce_Value.h"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h"
+    "../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"
     "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp"
-    "../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h"
     "../../../../../modules/juce_data_structures/juce_data_structures.cpp"
     "../../../../../modules/juce_data_structures/juce_data_structures.mm"
     "../../../../../modules/juce_data_structures/juce_data_structures.h"
@@ -2527,10 +2527,10 @@ set_source_files_properties("../../../../../modules/juce_data_structures/values/
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTree.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
+set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
-set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_ValueWithDefault.h" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.cpp" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.mm" PROPERTIES HEADER_FILE_ONLY TRUE)
 set_source_files_properties("../../../../../modules/juce_data_structures/juce_data_structures.h" PROPERTIES HEADER_FILE_ONLY TRUE)
index 134b230d1ad3b9834e3174f870d30fea689eb30b..b3c5113ce50b1a0402faef8e0ab5080f0bb26c3f 100644 (file)
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := JUCE\ Network\ Graphics\ Demo
 
@@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := JUCE\ Network\ Graphics\ Demo
 
index 1ec9134e4c250575aeb947c8f4d85cc4c5803b71..fa862c683c5daaddc3166d7cc4c63f25edafe3f8 100644 (file)
                A5398ADB6F5B128C00EB935C = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        4311FBCBD02948A0ED96C7DD = {
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "NDEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo;
                                PRODUCT_NAME = "JUCE Network Graphics Demo";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "DEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo;
                                PRODUCT_NAME = "JUCE Network Graphics Demo";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
index 5bff99f677b2b5e40ac8ad65ac6d8cb5c8111ece..d596556d30b0043403b6f064a6a835572d1d2db2 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
index 908524f27c645f923c01626db36d589fb303404b..66241588936cbb08f74a8eb87c09d84836055a27 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index cb34b3f3f85186eaa2b5d1b0ec987e61414e1170..c32637f4a81cee80b0afca29dac8d67c53b2dbfb 100644 (file)
                A5398ADB6F5B128C00EB935C = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        4311FBCBD02948A0ED96C7DD = {
                2E06386CE7CCA5FF76819BFF /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo;
                                PRODUCT_NAME = "JUCE Network Graphics Demo";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES;
                        };
                3BF0365A560ACD4FD24D40CE /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                9C6D2FD441D79104734762A5 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                CLANG_ENABLE_OBJC_WEAK = YES;
                                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                EE7498599191DDC73ECB55B0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_STYLE = Manual;
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "JUCE_CONTENT_SHARING=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
                                MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo;
                                PRODUCT_NAME = "JUCE Network Graphics Demo";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES;
                        };
index 2893bd9446f031ddb25f4948e85628a9799879e8..7b331c51e6cf01e3a8029b95bc4aa2186494aaa1 100644 (file)
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.4" "-DJUCE_APP_VERSION_HEX=0x60104" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := Projucer
 
@@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.4" "-DJUCE_APP_VERSION_HEX=0x60104" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_APP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_APP := Projucer
 
index f6c9ea0ca4d8c60df6231e72f76c4d089265e5d5..784128401c0543c4f0ccca95c54410e7a10c9696 100644 (file)
@@ -22,9 +22,9 @@
     <key>CFBundleSignature</key>\r
     <string>????</string>\r
     <key>CFBundleShortVersionString</key>\r
-    <string>6.1.3</string>\r
+    <string>6.1.4</string>\r
     <key>CFBundleVersion</key>\r
-    <string>6.1.3</string>\r
+    <string>6.1.4</string>\r
     <key>NSHumanReadableCopyright</key>\r
     <string>Raw Material Software Limited</string>\r
     <key>NSHighResolutionCapable</key>\r
index a0a636fd2c400648528a39806602713f6a36eb96..8d4cea9136eac8df91411f7565a34ea02684b75e 100644 (file)
                74EA481348A24104E6ACE009 = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                                TargetAttributes = {
                                        0039FE1A254FE518518BF8B8 = {
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "NDEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_build_tools=1",
                                        "JUCE_MODULE_AVAILABLE_juce_core=1",
                                        "JUCE_MODULE_AVAILABLE_juce_cryptography=1",
                                        "JUCE_WEB_BROWSER=0",
                                        "JUCE_STANDALONE_APPLICATION=1",
                                        "JUCER_XCODE_MAC_F6D2F4CF=1",
-                                       "JUCE_APP_VERSION=6.1.3",
-                                       "JUCE_APP_VERSION_HEX=0x60103",
+                                       "JUCE_APP_VERSION=6.1.4",
+                                       "JUCE_APP_VERSION_HEX=0x60104",
                                        "JucePlugin_Build_VST=0",
                                        "JucePlugin_Build_VST3=0",
                                        "JucePlugin_Build_AU=0",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer;
                                PRODUCT_NAME = "Projucer";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "DEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_build_tools=1",
                                        "JUCE_MODULE_AVAILABLE_juce_core=1",
                                        "JUCE_MODULE_AVAILABLE_juce_cryptography=1",
                                        "JUCE_WEB_BROWSER=0",
                                        "JUCE_STANDALONE_APPLICATION=1",
                                        "JUCER_XCODE_MAC_F6D2F4CF=1",
-                                       "JUCE_APP_VERSION=6.1.3",
-                                       "JUCE_APP_VERSION_HEX=0x60103",
+                                       "JUCE_APP_VERSION=6.1.4",
+                                       "JUCE_APP_VERSION_HEX=0x60104",
                                        "JucePlugin_Build_VST=0",
                                        "JucePlugin_Build_VST3=0",
                                        "JucePlugin_Build_AU=0",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer;
                                PRODUCT_NAME = "Projucer";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
index 9c0e8101e8bcea2cf92e5995936ad75b7e2164f0..2f8c00b0230c7367bc5a1c29271b47c98ea09fe8 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
index e7c74bbe3ab0d17280d1e754156b4cb0f2f78bff..116dd3077f0dfdf1c393848e3dd425b8d3d6fb69 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index b9a0ab5dc34e0ee621c1bc0cfdcfe2160914fb90..39ed7bfbe4bf404e7408510e9dd180f7be526dd9 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "Projucer\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "Projucer\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index 543efbf5abc5e35beeb6437938a33e0cfc342a92..d864d3b5d0e4bc9502e1876b42837281e086bc62 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
index cde02d3f572686250601792f482206180df1b817..db97de55cb8b4b7d1fbe8ac73adbaddd1a35b45b 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index b9a0ab5dc34e0ee621c1bc0cfdcfe2160914fb90..39ed7bfbe4bf404e7408510e9dd180f7be526dd9 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "Projucer\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "Projucer\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index d25c153a4dec78db56fda17d854cf47f2d39b306..5d14959e4a535933d6f7f7c10e5192d0cc1ca3b1 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
index 65de2b36aca051277ff593cfba4c771f4e506d12..6493e5ef28e058efcd45c974a8c2eae2c9cc8f09 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index b9a0ab5dc34e0ee621c1bc0cfdcfe2160914fb90..39ed7bfbe4bf404e7408510e9dd180f7be526dd9 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "Projucer\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "Projucer\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index 96de4929118b3a3b1bb87ecd4ffbf7099d7b6db8..11ada9e0d95fec954c255628a4a882983ea5e068 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.4;JUCE_APP_VERSION_HEX=0x60104;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
index aff17bbd188a82f9db532a993089dbbfc3f09d50..ce59e42728c8514b322857b80595ade3fe0022d2 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index b9a0ab5dc34e0ee621c1bc0cfdcfe2160914fb90..39ed7bfbe4bf404e7408510e9dd180f7be526dd9 100644 (file)
@@ -9,7 +9,7 @@
 #include <windows.h>\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION  6,1,3,0\r
+FILEVERSION  6,1,4,0\r
 BEGIN\r
   BLOCK "StringFileInfo"\r
   BEGIN\r
@@ -18,9 +18,9 @@ BEGIN
       VALUE "CompanyName",  "Raw Material Software Limited\0"\r
       VALUE "LegalCopyright",  "Raw Material Software Limited\0"\r
       VALUE "FileDescription",  "Projucer\0"\r
-      VALUE "FileVersion",  "6.1.3\0"\r
+      VALUE "FileVersion",  "6.1.4\0"\r
       VALUE "ProductName",  "Projucer\0"\r
-      VALUE "ProductVersion",  "6.1.3\0"\r
+      VALUE "ProductVersion",  "6.1.4\0"\r
     END\r
   END\r
 \r
index 7af417fc6a509cbac6cfb9739bd8413b8f1c6d94..754ce22706fef76ec9d63a097b9f02451769afd3 100644 (file)
@@ -44,7 +44,7 @@ namespace ProjectInfo
 {\r
     const char* const  projectName    = "Projucer";\r
     const char* const  companyName    = "Raw Material Software Limited";\r
-    const char* const  versionString  = "6.1.3";\r
-    const int          versionNumber  = 0x60103;\r
+    const char* const  versionString  = "6.1.4";\r
+    const int          versionNumber  = 0x60104;\r
 }\r
 #endif\r
index fd82cf9e7691d95f3d4d437a1ac765c3ee691f68..db2f8db71e0785e9cad116a28c8c55848f8cfb6b 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 \r
 <JUCERPROJECT id="M70qfTRRk" name="Projucer" projectType="guiapp" juceFolder="../../juce"\r
-              version="6.1.3" bundleIdentifier="com.juce.theprojucer" splashScreenColour="Dark"\r
+              version="6.1.4" bundleIdentifier="com.juce.theprojucer" splashScreenColour="Dark"\r
               displaySplashScreen="0" reportAppUsage="0" companyName="Raw Material Software Limited"\r
               companyCopyright="Raw Material Software Limited" useAppConfig="0"\r
               addUsingNamespaceToJuceHeader="1" jucerFormatVersion="1">\r
index 3c2ccfca9a82ef744fe2776b23ed3c53c1694920..42134ba2222d970e54ec0b0ad5fa1753308764d9 100644 (file)
@@ -27,7 +27,7 @@
 \r
 #include "../../ProjectSaving/jucer_ProjectExporter.h"\r
 #include "../../Utility/UI/PropertyComponents/jucer_FilePathPropertyComponent.h"\r
-#include "../../Utility/Helpers/jucer_ValueWithDefaultWrapper.h"\r
+#include "../../Utility/Helpers/jucer_ValueTreePropertyWithDefaultWrapper.h"\r
 \r
 #include "jucer_NewProjectWizard.h"\r
 \r
@@ -117,7 +117,7 @@ public:
                                                     exportersValue.get(),\r
                                                     fileOptionsValue.get(),\r
                                                     modulePathValue.getCurrentValue(),\r
-                                                    modulePathValue.getWrappedValueWithDefault().isUsingDefault(),\r
+                                                    modulePathValue.getWrappedValueTreePropertyWithDefault().isUsingDefault(),\r
                                                     [safeThis, dir] (std::unique_ptr<Project> project)\r
                 {\r
                     if (safeThis == nullptr)\r
@@ -167,12 +167,12 @@ private:
 \r
     ValueTree settingsTree { "NewProjectSettings" };\r
 \r
-    ValueWithDefault projectNameValue { settingsTree, Ids::name,          nullptr, "NewProject" },\r
-                     modulesValue     { settingsTree, Ids::dependencies_, nullptr, projectTemplate.requiredModules, "," },\r
-                     exportersValue   { settingsTree, Ids::exporters,     nullptr, StringArray (ProjectExporter::getCurrentPlatformExporterTypeInfo().identifier.toString()), "," },\r
-                     fileOptionsValue { settingsTree, Ids::file,          nullptr, NewProjectTemplates::getVarForFileOption (projectTemplate.defaultFileOption) };\r
+    ValueTreePropertyWithDefault projectNameValue { settingsTree, Ids::name,          nullptr, "NewProject" },\r
+                                 modulesValue     { settingsTree, Ids::dependencies_, nullptr, projectTemplate.requiredModules, "," },\r
+                                 exportersValue   { settingsTree, Ids::exporters,     nullptr, StringArray (ProjectExporter::getCurrentPlatformExporterTypeInfo().identifier.toString()), "," },\r
+                                 fileOptionsValue { settingsTree, Ids::file,          nullptr, NewProjectTemplates::getVarForFileOption (projectTemplate.defaultFileOption) };\r
 \r
-    ValueWithDefaultWrapper modulePathValue;\r
+    ValueTreePropertyWithDefaultWrapper modulePathValue;\r
 \r
     PropertyPanel panel;\r
 \r
@@ -203,7 +203,7 @@ private:
 \r
     PropertyComponent* createModulePathPropertyComponent()\r
     {\r
-        return new FilePathPropertyComponent (modulePathValue.getWrappedValueWithDefault(), "Path to Modules", true);\r
+        return new FilePathPropertyComponent (modulePathValue.getWrappedValueTreePropertyWithDefault(), "Path to Modules", true);\r
     }\r
 \r
     PropertyComponent* createExportersPropertyValue()\r
index e38e010465c8e77088696dc6580a9c24bfda3eab..a9be3411e21445acab23cbe0625c7a77d4508bec 100644 (file)
@@ -296,8 +296,9 @@ private:
     //==============================================================================\r
     Value selectedOSValue;\r
 \r
-    ValueWithDefault jucePathValue, juceModulePathValue, userModulePathValue,\r
-                     vstPathValue, rtasPathValue, aaxPathValue, androidSDKPathValue, clionExePathValue, androidStudioExePathValue;\r
+    ValueTreePropertyWithDefault jucePathValue, juceModulePathValue, userModulePathValue,\r
+                                 vstPathValue, rtasPathValue, aaxPathValue, androidSDKPathValue,\r
+                                 clionExePathValue, androidStudioExePathValue;\r
 \r
     Viewport propertyViewport;\r
     PropertyGroupComponent propertyGroup  { "Global Paths", { getIcons().openFolder, Colours::transparentBlack } };\r
index 4ec2ff4989a27467164089eba316d227330bac7f..8bd09eb4f02913248d5edefd932d1fea9e012eff 100644 (file)
@@ -320,18 +320,18 @@ private:
 \r
     //==============================================================================\r
     ValueTree pipTree  { "PIPSettings" };\r
-    ValueWithDefault nameValue          { pipTree, Ids::name,          nullptr, "MyComponentPIP" },\r
-                     versionValue       { pipTree, Ids::version,       nullptr },\r
-                     vendorValue        { pipTree, Ids::vendor,        nullptr },\r
-                     websiteValue       { pipTree, Ids::website,       nullptr },\r
-                     descriptionValue   { pipTree, Ids::description,   nullptr },\r
-                     dependenciesValue  { pipTree, Ids::dependencies_, nullptr, getModulesRequiredForComponent(), "," },\r
-                     exportersValue     { pipTree, Ids::exporters,     nullptr, StringArray (ProjectExporter::getCurrentPlatformExporterTypeInfo().identifier.toString()), "," },\r
-                     moduleFlagsValue   { pipTree, Ids::moduleFlags,   nullptr, "JUCE_STRICT_REFCOUNTEDPOINTER=1" },\r
-                     definesValue       { pipTree, Ids::defines,       nullptr },\r
-                     typeValue          { pipTree, Ids::type,          nullptr, "Component" },\r
-                     mainClassValue     { pipTree, Ids::mainClass,     nullptr, "MyComponent" },\r
-                     useLocalCopyValue  { pipTree, Ids::useLocalCopy,  nullptr, false };\r
+    ValueTreePropertyWithDefault nameValue          { pipTree, Ids::name,          nullptr, "MyComponentPIP" },\r
+                                 versionValue       { pipTree, Ids::version,       nullptr },\r
+                                 vendorValue        { pipTree, Ids::vendor,        nullptr },\r
+                                 websiteValue       { pipTree, Ids::website,       nullptr },\r
+                                 descriptionValue   { pipTree, Ids::description,   nullptr },\r
+                                 dependenciesValue  { pipTree, Ids::dependencies_, nullptr, getModulesRequiredForComponent(), "," },\r
+                                 exportersValue     { pipTree, Ids::exporters,     nullptr, StringArray (ProjectExporter::getCurrentPlatformExporterTypeInfo().identifier.toString()), "," },\r
+                                 moduleFlagsValue   { pipTree, Ids::moduleFlags,   nullptr, "JUCE_STRICT_REFCOUNTEDPOINTER=1" },\r
+                                 definesValue       { pipTree, Ids::defines,       nullptr },\r
+                                 typeValue          { pipTree, Ids::type,          nullptr, "Component" },\r
+                                 mainClassValue     { pipTree, Ids::mainClass,     nullptr, "MyComponent" },\r
+                                 useLocalCopyValue  { pipTree, Ids::useLocalCopy,  nullptr, false };\r
 \r
     std::unique_ptr<PIPCreatorLookAndFeel> lf;\r
 \r
index bf046082df88576c5b42c855282a73fa4c73756d..b25027ff6b29a01671097bc4b1ce6d244dc1a776 100644 (file)
@@ -118,8 +118,8 @@ private:
 \r
     //==============================================================================\r
     class ModuleSettingsPanel  : public Component,\r
-                                 private Value::Listener,\r
-                                 private Timer\r
+                                 private ValueTree::Listener,\r
+                                 private Value::Listener\r
     {\r
     public:\r
         ModuleSettingsPanel (Project& p, const String& modID, TreeView* tree)\r
@@ -129,10 +129,21 @@ private:
               modulesTree (tree),\r
               moduleID (modID)\r
         {\r
+            auto& appSettings = getAppSettings();\r
+            appSettings.addProjectDefaultsListener (*this);\r
+            appSettings.addFallbackPathsListener (*this);\r
+\r
             addAndMakeVisible (group);\r
             refresh();\r
         }\r
 \r
+        ~ModuleSettingsPanel() override\r
+        {\r
+            auto& appSettings = getAppSettings();\r
+            appSettings.removeProjectDefaultsListener (*this);\r
+            appSettings.removeFallbackPathsListener (*this);\r
+        }\r
+\r
         void refresh()\r
         {\r
             auto& modules = project.getEnabledModules();\r
@@ -150,21 +161,23 @@ private:
                 props.add (new CppStandardWarningComponent());\r
 \r
             group.clearProperties();\r
-            exporterModulePathDefaultValues.clear();\r
             exporterModulePathValues.clear();\r
-            globalPathValues.clear();\r
 \r
             for (Project::ExporterIterator exporter (project); exporter.next();)\r
             {\r
                 if (exporter->isCLion())\r
                     continue;\r
 \r
-                exporterModulePathDefaultValues.add (exporter->getPathForModuleValue (moduleID));\r
-                auto& defaultValue = exporterModulePathDefaultValues.getReference (exporterModulePathDefaultValues.size() - 1);\r
+                auto modulePathValue = exporter->getPathForModuleValue (moduleID);\r
+                const auto fallbackPath = getAppSettings().getStoredPath (isJUCEModule (moduleID) ? Ids::defaultJuceModulePath\r
+                                                                                                  : Ids::defaultUserModulePath,\r
+                                                                          exporter->getTargetOSForExporter()).get().toString();\r
 \r
-                exporterModulePathValues.add (defaultValue.getPropertyAsValue());\r
+                modulePathValue.setDefault (fallbackPath);\r
+                exporterModulePathValues.add (modulePathValue.getPropertyAsValue());\r
+                exporterModulePathValues.getReference (exporterModulePathValues.size() - 1).addListener (this);\r
 \r
-                auto pathComponent = std::make_unique<FilePathPropertyComponent> (defaultValue,\r
+                auto pathComponent = std::make_unique<FilePathPropertyComponent> (modulePathValue,\r
                                                                                   "Path for " + exporter->getUniqueName().quoted(),\r
                                                                                   true,\r
                                                                                   exporter->getTargetOSForExporter() == TargetOS::getThisOS(),\r
@@ -179,21 +192,9 @@ private:
                            "This can be an absolute path, or relative to the jucer project folder, but it "\r
                            "must be valid on the filesystem of the target machine that will be performing this build. If this "\r
                            "is empty then the global path will be used.");\r
-\r
-                globalPathValues.add (getAppSettings().getStoredPath (isJUCEModule (moduleID) ? Ids::defaultJuceModulePath : Ids::defaultUserModulePath,\r
-                                                                      exporter->getTargetOSForExporter()).getPropertyAsValue());\r
-            }\r
-\r
-            for (int i = 0; i < exporterModulePathDefaultValues.size(); ++i)\r
-            {\r
-                exporterModulePathDefaultValues.getReference (i).onDefaultChange = [this] { startTimer (50); };\r
-\r
-                exporterModulePathValues.getReference (i).addListener (this);\r
-                globalPathValues.getReference (i).addListener (this);\r
             }\r
 \r
-            useGlobalPathValue.removeListener (this);\r
-            useGlobalPathValue.referTo (modules.shouldUseGlobalPathValue (moduleID));\r
+            useGlobalPathValue = modules.shouldUseGlobalPathValue (moduleID);\r
             useGlobalPathValue.addListener (this);\r
 \r
             auto menuItemString = (TargetOS::getThisOS() == TargetOS::osx ? "\"Projucer->Global Paths...\""\r
@@ -242,9 +243,15 @@ private:
         String getModuleID() const noexcept    { return moduleID; }\r
 \r
     private:\r
+        void valueTreePropertyChanged (ValueTree&, const Identifier& property) override\r
+        {\r
+            if (property == Ids::defaultJuceModulePath || property == Ids::defaultUserModulePath)\r
+                refresh();\r
+        }\r
+\r
         void valueChanged (Value& v) override\r
         {\r
-            auto isExporterPathValue = [&]\r
+            auto isExporterPathValue = [this, &v]\r
             {\r
                 for (auto& exporterValue : exporterModulePathValues)\r
                     if (exporterValue.refersToSameSourceAs (v))\r
@@ -256,18 +263,11 @@ private:
             if (isExporterPathValue)\r
                 project.rescanExporterPathModules();\r
 \r
-            startTimer (50);\r
-        }\r
-\r
-        void timerCallback() override\r
-        {\r
-            stopTimer();\r
             refresh();\r
         }\r
 \r
         //==============================================================================\r
-        Array<ValueWithDefault> exporterModulePathDefaultValues;\r
-        Array<Value> exporterModulePathValues, globalPathValues;\r
+        Array<Value> exporterModulePathValues;\r
         Value useGlobalPathValue;\r
 \r
         OwnedArray<Project::ConfigFlag> configFlags;\r
index 6cf4b9a8ccc0ad722ef2a65cebfde39104363472..490c2fcabf9e30662f3d358742ca743c1256effd 100644 (file)
@@ -152,6 +152,9 @@ public:
             for (Project::ExporterIterator exporter (project); exporter.next();)\r
                 paths.addIfNotAlreadyThere (exporter->getPathForModuleString (moduleID).trim());\r
 \r
+            paths.removeEmptyStrings();\r
+            paths.removeDuplicates (true);\r
+\r
             pathText = paths.joinIntoString (", ");\r
         }\r
 \r
index b5701e4b7c9cd4ebe767907446a10afca532330f..985486c940a5f2a0ac66899b626de2d130f31bb4 100644 (file)
@@ -504,9 +504,6 @@ void ProjectContentComponent::openInSelectedIDE (bool saveFirst)
 \r
     if (auto selectedExporter = headerComponent.getSelectedExporter())\r
     {\r
-        if (! selectedExporter->canLaunchProject())\r
-            return;\r
-\r
         if (saveFirst)\r
         {\r
             if (project->isTemporaryProject())\r
@@ -515,15 +512,13 @@ void ProjectContentComponent::openInSelectedIDE (bool saveFirst)
                 return;\r
             }\r
 \r
-            if (project->hasChangedSinceSaved() || ! selectedExporter->getIDEProjectFile().exists())\r
-            {\r
-                project->saveAsync (true, true, [safeThis = SafePointer<ProjectContentComponent> { this }] (Project::SaveResult r)\r
-                {\r
-                    if (safeThis != nullptr && r == Project::SaveResult::savedOk)\r
-                        safeThis->openInSelectedIDE (false);\r
-                });\r
-                return;\r
-            }\r
+            SafePointer<ProjectContentComponent> safeThis { this };\r
+            project->saveAsync (true, true, [safeThis] (Project::SaveResult r)\r
+                                {\r
+                                    if (safeThis != nullptr && r == Project::SaveResult::savedOk)\r
+                                        safeThis->openInSelectedIDE (false);\r
+                                });\r
+            return;\r
         }\r
 \r
         project->openProjectInIDE (*selectedExporter);\r
index a4ef7d2e72e9b646855fc730538b06f575346075..a31e68c8412d9ad497ab380c6b0e24edcff25212 100644 (file)
@@ -2000,7 +2000,7 @@ ValueTree Project::getConfigNode()
     return projectRoot.getOrCreateChildWithName (Ids::JUCEOPTIONS, nullptr);\r
 }\r
 \r
-ValueWithDefault Project::getConfigFlag (const String& name)\r
+ValueTreePropertyWithDefault Project::getConfigFlag (const String& name)\r
 {\r
     auto configNode = getConfigNode();\r
 \r
index 4db06627773b02f2548b8e6dd0549b7523deed5f..a02a01a45a026d451b5ceaf39352a92f0da14c65 100644 (file)
@@ -243,7 +243,7 @@ public:
     String getVSTNumMIDIInputsString() const          { return pluginVSTNumMidiInputsValue.get(); }\r
     String getVSTNumMIDIOutputsString() const         { return pluginVSTNumMidiOutputsValue.get(); }\r
 \r
-    static bool checkMultiChoiceVar (const ValueWithDefault& valueToCheck, Identifier idToCheck) noexcept\r
+    static bool checkMultiChoiceVar (const ValueTreePropertyWithDefault& valueToCheck, Identifier idToCheck) noexcept\r
     {\r
         if (! valueToCheck.get().isArray())\r
             return false;\r
@@ -462,10 +462,10 @@ public:
     struct ConfigFlag\r
     {\r
         String symbol, description, sourceModuleID;\r
-        ValueWithDefault value;\r
+        ValueTreePropertyWithDefault value;\r
     };\r
 \r
-    ValueWithDefault getConfigFlag (const String& name);\r
+    ValueTreePropertyWithDefault getConfigFlag (const String& name);\r
     bool isConfigFlagEnabled (const String& name, bool defaultIsEnabled = false) const;\r
 \r
     //==============================================================================\r
@@ -542,15 +542,15 @@ private:
     //==============================================================================\r
     ValueTree projectRoot  { Ids::JUCERPROJECT };\r
 \r
-    ValueWithDefault projectNameValue, projectUIDValue, projectLineFeedValue, projectTypeValue, versionValue, bundleIdentifierValue, companyNameValue,\r
-                     companyCopyrightValue, companyWebsiteValue, companyEmailValue, displaySplashScreenValue, splashScreenColourValue, cppStandardValue,\r
-                     headerSearchPathsValue, preprocessorDefsValue, userNotesValue, maxBinaryFileSizeValue, includeBinaryDataInJuceHeaderValue, binaryDataNamespaceValue,\r
-                     compilerFlagSchemesValue, postExportShellCommandPosixValue, postExportShellCommandWinValue, useAppConfigValue, addUsingNamespaceToJuceHeader;\r
+    ValueTreePropertyWithDefault projectNameValue, projectUIDValue, projectLineFeedValue, projectTypeValue, versionValue, bundleIdentifierValue, companyNameValue,\r
+                                 companyCopyrightValue, companyWebsiteValue, companyEmailValue, displaySplashScreenValue, splashScreenColourValue, cppStandardValue,\r
+                                 headerSearchPathsValue, preprocessorDefsValue, userNotesValue, maxBinaryFileSizeValue, includeBinaryDataInJuceHeaderValue, binaryDataNamespaceValue,\r
+                                 compilerFlagSchemesValue, postExportShellCommandPosixValue, postExportShellCommandWinValue, useAppConfigValue, addUsingNamespaceToJuceHeader;\r
 \r
-    ValueWithDefault pluginFormatsValue, pluginNameValue, pluginDescriptionValue, pluginManufacturerValue, pluginManufacturerCodeValue,\r
-                     pluginCodeValue, pluginChannelConfigsValue, pluginCharacteristicsValue, pluginAUExportPrefixValue, pluginAAXIdentifierValue,\r
-                     pluginAUMainTypeValue, pluginAUSandboxSafeValue, pluginRTASCategoryValue, pluginVSTCategoryValue, pluginVST3CategoryValue, pluginAAXCategoryValue,\r
-                     pluginVSTNumMidiInputsValue, pluginVSTNumMidiOutputsValue;\r
+    ValueTreePropertyWithDefault pluginFormatsValue, pluginNameValue, pluginDescriptionValue, pluginManufacturerValue, pluginManufacturerCodeValue,\r
+                                 pluginCodeValue, pluginChannelConfigsValue, pluginCharacteristicsValue, pluginAUExportPrefixValue, pluginAAXIdentifierValue,\r
+                                 pluginAUMainTypeValue, pluginAUSandboxSafeValue, pluginRTASCategoryValue, pluginVSTCategoryValue, pluginVST3CategoryValue, pluginAAXCategoryValue,\r
+                                 pluginVSTNumMidiInputsValue, pluginVSTNumMidiOutputsValue;\r
 \r
     //==============================================================================\r
     std::unique_ptr<EnabledModulesList> enabledModulesList;\r
index ee3b5fda7d6ad743a1f85e09914e7420c806c2d8..93bab3d59dd700d53004de469a41a78abb00b863 100644 (file)
@@ -90,15 +90,15 @@ public:
     }\r
 \r
     //==============================================================================\r
-    ValueWithDefault androidJavaLibs, androidAdditionalJavaFolders, androidAdditionalResourceFolders, androidProjectRepositories,\r
-                     androidRepositories, androidDependencies, androidCustomAppBuildGradleContent, androidScreenOrientation,\r
-                     androidCustomActivityClass, androidCustomApplicationClass, androidManifestCustomXmlElements,\r
-                     androidGradleSettingsContent, androidVersionCode, androidMinimumSDK, androidTargetSDK, androidTheme,\r
-                     androidExtraAssetsFolder, androidOboeRepositoryPath, androidInternetNeeded, androidMicNeeded, androidCameraNeeded,\r
-                     androidBluetoothNeeded, androidExternalReadPermission, androidExternalWritePermission,\r
-                     androidInAppBillingPermission, androidVibratePermission, androidOtherPermissions, androidPushNotifications,\r
-                     androidEnableRemoteNotifications, androidRemoteNotificationsConfigFile, androidEnableContentSharing, androidKeyStore,\r
-                     androidKeyStorePass, androidKeyAlias, androidKeyAliasPass, gradleVersion, gradleToolchain, androidPluginVersion;\r
+    ValueTreePropertyWithDefault androidJavaLibs, androidAdditionalJavaFolders, androidAdditionalResourceFolders, androidProjectRepositories,\r
+                                 androidRepositories, androidDependencies, androidCustomAppBuildGradleContent, androidScreenOrientation,\r
+                                 androidCustomActivityClass, androidCustomApplicationClass, androidManifestCustomXmlElements,\r
+                                 androidGradleSettingsContent, androidVersionCode, androidMinimumSDK, androidTargetSDK, androidTheme,\r
+                                 androidExtraAssetsFolder, androidOboeRepositoryPath, androidInternetNeeded, androidMicNeeded, androidCameraNeeded,\r
+                                 androidBluetoothNeeded, androidExternalReadPermission, androidExternalWritePermission,\r
+                                 androidInAppBillingPermission, androidVibratePermission, androidOtherPermissions, androidPushNotifications,\r
+                                 androidEnableRemoteNotifications, androidRemoteNotificationsConfigFile, androidEnableContentSharing, androidKeyStore,\r
+                                 androidKeyStorePass, androidKeyAlias, androidKeyAliasPass, gradleVersion, gradleToolchain, androidPluginVersion;\r
 \r
     //==============================================================================\r
     AndroidProjectExporter (Project& p, const ValueTree& t)\r
@@ -141,7 +141,7 @@ public:
           gradleVersion                        (settings, Ids::gradleVersion,                        getUndoManager(), "7.0.2"),\r
           gradleToolchain                      (settings, Ids::gradleToolchain,                      getUndoManager(), "clang"),\r
           androidPluginVersion                 (settings, Ids::androidPluginVersion,                 getUndoManager(), "7.0.0"),\r
-          androidExecutable                    (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString())\r
+          AndroidExecutable                    (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString())\r
     {\r
         name = getDisplayName();\r
         targetLocationValue.setDefault (getDefaultBuildsRootFolder() + getTargetFolderName());\r
@@ -165,25 +165,22 @@ public:
     //==============================================================================\r
     bool canLaunchProject() override\r
     {\r
-        return androidExecutable.exists();\r
+        return AndroidExecutable.exists();\r
     }\r
 \r
     bool launchProject() override\r
     {\r
-        if (! androidExecutable.exists())\r
+        if (! AndroidExecutable.exists())\r
         {\r
             jassertfalse;\r
             return false;\r
         }\r
 \r
+        auto targetFolder = getTargetFolder();\r
+\r
         // we have to surround the path with extra quotes, otherwise Android Studio\r
         // will choke if there are any space characters in the path.\r
-        return androidExecutable.startAsProcess (getIDEProjectFile().getFullPathName().quoted());\r
-    }\r
-\r
-    File getIDEProjectFile() const override\r
-    {\r
-        return getTargetFolder();\r
+        return AndroidExecutable.startAsProcess ("\"" + targetFolder.getFullPathName() + "\"");\r
     }\r
 \r
     //==============================================================================\r
@@ -335,9 +332,9 @@ protected:
             return "${ANDROID_ABI}";\r
         }\r
 \r
-        ValueWithDefault androidArchitectures, androidBuildConfigRemoteNotifsConfigFile,\r
-                         androidAdditionalXmlValueResources, androidAdditionalDrawableResources,\r
-                         androidAdditionalRawValueResources, androidCustomStringXmlElements;\r
+        ValueTreePropertyWithDefault androidArchitectures, androidBuildConfigRemoteNotifsConfigFile,\r
+                                     androidAdditionalXmlValueResources, androidAdditionalDrawableResources,\r
+                                     androidAdditionalRawValueResources, androidCustomStringXmlElements;\r
     };\r
 \r
     BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override\r
@@ -1877,7 +1874,7 @@ private:
     }\r
 \r
     //==============================================================================\r
-    const File androidExecutable;\r
+    const File AndroidExecutable;\r
 \r
     JUCE_DECLARE_NON_COPYABLE (AndroidProjectExporter)\r
 };\r
index e77fdf54e6585a304ad72c7dba3c9258e4bd79e8..1ad86918fe79cdc2a56144cddcae6a43c1c1c4aa 100644 (file)
@@ -126,12 +126,7 @@ public:
 \r
     bool launchProject() override\r
     {\r
-        return getCLionExecutableOrApp().startAsProcess (getIDEProjectFile().getFullPathName().quoted());\r
-    }\r
-\r
-    File getIDEProjectFile() const override\r
-    {\r
-        return getTargetFolder();\r
+        return getCLionExecutableOrApp().startAsProcess (getTargetFolder().getFullPathName().quoted());\r
     }\r
 \r
     String getDescription() override\r
index 5c47df04d7ffcfb46bd5e751005b3ebaa91c6119..8a0794c57dfdbd9cdfced7990af19e133e44c1c4 100644 (file)
@@ -188,7 +188,7 @@ public:
     }\r
 \r
 private:\r
-    ValueWithDefault targetPlatformValue;\r
+    ValueTreePropertyWithDefault targetPlatformValue;\r
 \r
     String getTargetPlatformString() const    { return targetPlatformValue.get(); }\r
 \r
@@ -235,7 +235,7 @@ private:
         String getArchitectureTypeString() const    { return architectureTypeValue.get(); }\r
 \r
         //==============================================================================\r
-        ValueWithDefault architectureTypeValue;\r
+        ValueTreePropertyWithDefault architectureTypeValue;\r
     };\r
 \r
     BuildConfiguration::Ptr createBuildConfig (const ValueTree& tree) const override\r
index 90319e499e01ef22f3072ae801d6e4d23f47321e..43bc3c15cf2109e49e4e6307516fcdb749d5e02a 100644 (file)
@@ -310,12 +310,12 @@ public:
         }\r
 \r
     private:\r
-        ValueWithDefault warningLevelValue, warningsAreErrorsValue, prebuildCommandValue, postbuildCommandValue, generateDebugSymbolsValue,\r
-                         generateManifestValue, enableIncrementalLinkingValue, useRuntimeLibDLLValue, multiProcessorCompilationValue,\r
-                         intermediatesPathValue, characterSetValue, architectureTypeValue, fastMathValue, debugInformationFormatValue,\r
-                         pluginBinaryCopyStepValue;\r
+        ValueTreePropertyWithDefault warningLevelValue, warningsAreErrorsValue, prebuildCommandValue, postbuildCommandValue, generateDebugSymbolsValue,\r
+                                     generateManifestValue, enableIncrementalLinkingValue, useRuntimeLibDLLValue, multiProcessorCompilationValue,\r
+                                     intermediatesPathValue, characterSetValue, architectureTypeValue, fastMathValue, debugInformationFormatValue,\r
+                                     pluginBinaryCopyStepValue;\r
 \r
-        ValueWithDefault vstBinaryLocation, vst3BinaryLocation, rtasBinaryLocation, aaxBinaryLocation, unityPluginBinaryLocation;\r
+        ValueTreePropertyWithDefault vstBinaryLocation, vst3BinaryLocation, rtasBinaryLocation, aaxBinaryLocation, unityPluginBinaryLocation;\r
 \r
         Value architectureValueToListenTo;\r
 \r
@@ -1476,7 +1476,7 @@ public:
     bool launchProject() override\r
     {\r
        #if JUCE_WINDOWS\r
-        return getIDEProjectFile().startAsProcess();\r
+        return getSLNFile().startAsProcess();\r
        #else\r
         return false;\r
        #endif\r
@@ -1491,11 +1491,6 @@ public:
        #endif\r
     }\r
 \r
-    File getIDEProjectFile() const override\r
-    {\r
-        return getSLNFile();\r
-    }\r
-\r
     void createExporterProperties (PropertyListBuilder& props) override\r
     {\r
         props.add (new TextPropertyComponent (manifestFileValue, "Manifest file", 8192, false),\r
@@ -1600,12 +1595,12 @@ protected:
     mutable File rcFile, iconFile, packagesConfigFile;\r
     OwnedArray<MSVCTargetBase> targets;\r
 \r
-    ValueWithDefault IPPLibraryValue,\r
-                     IPP1ALibraryValue,\r
-                     MKL1ALibraryValue,\r
-                     platformToolsetValue,\r
-                     targetPlatformVersion,\r
-                     manifestFileValue;\r
+    ValueTreePropertyWithDefault IPPLibraryValue,\r
+                                 IPP1ALibraryValue,\r
+                                 MKL1ALibraryValue,\r
+                                 platformToolsetValue,\r
+                                 targetPlatformVersion,\r
+                                 manifestFileValue;\r
 \r
     File getProjectFile (const String& extension, const String& target) const\r
     {\r
index 58dcdb7d676af650c811ab51a37d3959212a20e1..49f22ea5e277dd5c85eed58c8f8018c339ef4643 100644 (file)
@@ -107,7 +107,8 @@ protected:
 \r
     private:\r
         //==============================================================================\r
-        ValueWithDefault architectureTypeValue, pluginBinaryCopyStepValue, vstBinaryLocation, vst3BinaryLocation, unityPluginBinaryLocation;\r
+        ValueTreePropertyWithDefault architectureTypeValue, pluginBinaryCopyStepValue,\r
+                                     vstBinaryLocation, vst3BinaryLocation, unityPluginBinaryLocation;\r
     };\r
 \r
     BuildConfiguration::Ptr createBuildConfig (const ValueTree& tree) const override\r
@@ -508,7 +509,7 @@ public:
     }\r
 \r
 private:\r
-    ValueWithDefault extraPkgConfigValue;\r
+    ValueTreePropertyWithDefault extraPkgConfigValue;\r
 \r
     //==============================================================================\r
     StringPairArray getDefines (const BuildConfiguration& config) const\r
index 27c42ac56bb35260ef39de45c9133f141d3fb47e..eaa20f9f148a3b21a9ebb3078df687b45a4e47bd 100644 (file)
@@ -660,7 +660,7 @@ public:
     bool launchProject() override\r
     {\r
        #if JUCE_MAC\r
-        return getIDEProjectFile().startAsProcess();\r
+        return getProjectBundle().startAsProcess();\r
        #else\r
         return false;\r
        #endif\r
@@ -675,11 +675,6 @@ public:
        #endif\r
     }\r
 \r
-    File getIDEProjectFile() const override\r
-    {\r
-        return getProjectBundle();\r
-    }\r
-\r
     //==============================================================================\r
     void create (const OwnedArray<LibraryModule>&) const override\r
     {\r
@@ -887,11 +882,11 @@ protected:
         //==============================================================================\r
         bool iOS;\r
 \r
-        ValueWithDefault macOSBaseSDK, macOSDeploymentTarget, macOSArchitecture, iosBaseSDK, iosDeploymentTarget,\r
-                         customXcodeFlags, plistPreprocessorDefinitions, codeSignIdentity,\r
-                         fastMathEnabled, stripLocalSymbolsEnabled, pluginBinaryCopyStepEnabled,\r
-                         vstBinaryLocation, vst3BinaryLocation, auBinaryLocation, rtasBinaryLocation,\r
-                         aaxBinaryLocation, unityPluginBinaryLocation;\r
+        ValueTreePropertyWithDefault macOSBaseSDK, macOSDeploymentTarget, macOSArchitecture, iosBaseSDK, iosDeploymentTarget,\r
+                                     customXcodeFlags, plistPreprocessorDefinitions, codeSignIdentity,\r
+                                     fastMathEnabled, stripLocalSymbolsEnabled, pluginBinaryCopyStepEnabled,\r
+                                     vstBinaryLocation, vst3BinaryLocation, auBinaryLocation, rtasBinaryLocation,\r
+                                     aaxBinaryLocation, unityPluginBinaryLocation;\r
 \r
         //==============================================================================\r
         void valueTreePropertyChanged (ValueTree&, const Identifier& property) override\r
@@ -968,7 +963,9 @@ protected:
             if (macOSArchitecture.get() == "default")\r
                 macOSArchitecture.resetToDefault();\r
 \r
-            const auto updateSDKString = [this] (const Identifier& propertyName, ValueWithDefault& value, const String& suffix)\r
+            const auto updateSDKString = [this] (const Identifier& propertyName,\r
+                                                 ValueTreePropertyWithDefault& value,\r
+                                                 const String& suffix)\r
             {\r
                 auto sdkString = config[propertyName].toString();\r
 \r
@@ -2481,8 +2478,7 @@ private:
         if (isUsingDefaultSigningIdentity (config))\r
             return iOS ? "iPhone Developer" : "Mac Developer";\r
 \r
-        const auto identity = config.getCodeSignIdentityString();\r
-        return identity.isNotEmpty() ? identity : "-";\r
+        return config.getCodeSignIdentityString();\r
     }\r
 \r
     StringPairArray getProjectSettings (const XcodeBuildConfiguration& config) const\r
@@ -3375,7 +3371,7 @@ private:
     {\r
         std::map<String, String> attributes;\r
 \r
-        attributes["LastUpgradeCheck"] = "1310";\r
+        attributes["LastUpgradeCheck"] = "1320";\r
         attributes["ORGANIZATIONNAME"] = getProject().getCompanyNameString().quoted();\r
 \r
         if (projectType.isGUIApplication() || projectType.isAudioPlugin())\r
@@ -3561,24 +3557,24 @@ private:
 \r
     const bool iOS;\r
 \r
-    ValueWithDefault applicationCategoryValue,\r
-                     customPListValue, pListPrefixHeaderValue, pListPreprocessValue,\r
-                     subprojectsValue,\r
-                     validArchsValue,\r
-                     extraFrameworksValue, frameworkSearchPathsValue, extraCustomFrameworksValue, embeddedFrameworksValue,\r
-                     postbuildCommandValue, prebuildCommandValue,\r
-                     duplicateAppExResourcesFolderValue, iosDeviceFamilyValue, iPhoneScreenOrientationValue,\r
-                     iPadScreenOrientationValue, customXcodeResourceFoldersValue, customXcassetsFolderValue,\r
-                     appSandboxValue, appSandboxInheritanceValue, appSandboxOptionsValue,\r
-                     hardenedRuntimeValue, hardenedRuntimeOptionsValue,\r
-                     microphonePermissionNeededValue, microphonePermissionsTextValue,\r
-                     cameraPermissionNeededValue, cameraPermissionTextValue,\r
-                     bluetoothPermissionNeededValue, bluetoothPermissionTextValue,\r
-                     sendAppleEventsPermissionNeededValue, sendAppleEventsPermissionTextValue,\r
-                     uiFileSharingEnabledValue, uiSupportsDocumentBrowserValue, uiStatusBarHiddenValue, uiRequiresFullScreenValue, documentExtensionsValue, iosInAppPurchasesValue,\r
-                     iosContentSharingValue, iosBackgroundAudioValue, iosBackgroundBleValue, iosPushNotificationsValue, iosAppGroupsValue, iCloudPermissionsValue,\r
-                     networkingMulticastValue, iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue,\r
-                     exporterBundleIdentifierValue, suppressPlistResourceUsageValue, useLegacyBuildSystemValue, buildNumber;\r
+    ValueTreePropertyWithDefault applicationCategoryValue,\r
+                                 customPListValue, pListPrefixHeaderValue, pListPreprocessValue,\r
+                                 subprojectsValue,\r
+                                 validArchsValue,\r
+                                 extraFrameworksValue, frameworkSearchPathsValue, extraCustomFrameworksValue, embeddedFrameworksValue,\r
+                                 postbuildCommandValue, prebuildCommandValue,\r
+                                 duplicateAppExResourcesFolderValue, iosDeviceFamilyValue, iPhoneScreenOrientationValue,\r
+                                 iPadScreenOrientationValue, customXcodeResourceFoldersValue, customXcassetsFolderValue,\r
+                                 appSandboxValue, appSandboxInheritanceValue, appSandboxOptionsValue,\r
+                                 hardenedRuntimeValue, hardenedRuntimeOptionsValue,\r
+                                 microphonePermissionNeededValue, microphonePermissionsTextValue,\r
+                                 cameraPermissionNeededValue, cameraPermissionTextValue,\r
+                                 bluetoothPermissionNeededValue, bluetoothPermissionTextValue,\r
+                                 sendAppleEventsPermissionNeededValue, sendAppleEventsPermissionTextValue,\r
+                                 uiFileSharingEnabledValue, uiSupportsDocumentBrowserValue, uiStatusBarHiddenValue, uiRequiresFullScreenValue, documentExtensionsValue, iosInAppPurchasesValue,\r
+                                 iosContentSharingValue, iosBackgroundAudioValue, iosBackgroundBleValue, iosPushNotificationsValue, iosAppGroupsValue, iCloudPermissionsValue,\r
+                                 networkingMulticastValue, iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue,\r
+                                 exporterBundleIdentifierValue, suppressPlistResourceUsageValue, useLegacyBuildSystemValue, buildNumber;\r
 \r
     JUCE_DECLARE_NON_COPYABLE (XcodeProjectExporter)\r
 };\r
index e1ec4dc0f5c2a01cd66c5bfd9e92695217b55872..5f00efbeeb7317f3677b415d0b610fc24d936ad8 100644 (file)
@@ -267,7 +267,7 @@ void ProjectExporter::createPropertyEditors (PropertyListBuilder& props)
 \r
         if ((shouldBuildTargetType (build_tools::ProjectType::Target::VSTPlugIn) && project.shouldBuildVST()) || (project.isVSTPluginHost() && supportsTargetType (build_tools::ProjectType::Target::VSTPlugIn)))\r
         {\r
-            props.add (new FilePathPropertyComponent (vstLegacyPathValueWrapper.getWrappedValueWithDefault(), "VST (Legacy) SDK Folder", true,\r
+            props.add (new FilePathPropertyComponent (vstLegacyPathValueWrapper.getWrappedValueTreePropertyWithDefault(), "VST (Legacy) SDK Folder", true,\r
                                                       getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()),\r
                        "If you're building a VST plug-in or host, you can use this field to override the global VST (Legacy) SDK path with a project-specific path. "\r
                        "This can be an absolute path, or a path relative to the Projucer project file.");\r
@@ -275,14 +275,14 @@ void ProjectExporter::createPropertyEditors (PropertyListBuilder& props)
 \r
         if (shouldBuildTargetType (build_tools::ProjectType::Target::AAXPlugIn) && project.shouldBuildAAX())\r
         {\r
-            props.add (new FilePathPropertyComponent (aaxPathValueWrapper.getWrappedValueWithDefault(), "AAX SDK Folder", true,\r
+            props.add (new FilePathPropertyComponent (aaxPathValueWrapper.getWrappedValueTreePropertyWithDefault(), "AAX SDK Folder", true,\r
                                                       getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()),\r
                        "If you're building an AAX plug-in, this must be the folder containing the AAX SDK. This can be an absolute path, or a path relative to the Projucer project file.");\r
         }\r
 \r
         if (shouldBuildTargetType (build_tools::ProjectType::Target::RTASPlugIn) && project.shouldBuildRTAS())\r
         {\r
-            props.add (new FilePathPropertyComponent (rtasPathValueWrapper.getWrappedValueWithDefault(), "RTAS SDK Folder", true,\r
+            props.add (new FilePathPropertyComponent (rtasPathValueWrapper.getWrappedValueTreePropertyWithDefault(), "RTAS SDK Folder", true,\r
                                                       getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()),\r
                        "If you're building an RTAS plug-in, this must be the folder containing the RTAS SDK. This can be an absolute path, or a path relative to the Projucer project file.");\r
         }\r
@@ -295,7 +295,7 @@ void ProjectExporter::createPropertyEditors (PropertyListBuilder& props)
                    "Extra command-line flags to be passed to the compiler. This string can contain references to preprocessor definitions in the "\r
                    "form ${NAME_OF_DEFINITION}, which will be replaced with their values.");\r
 \r
-        for (HashMap<String, ValueWithDefault>::Iterator i (compilerFlagSchemesMap); i.next();)\r
+        for (HashMap<String, ValueTreePropertyWithDefault>::Iterator i (compilerFlagSchemesMap); i.next();)\r
             props.add (new TextPropertyComponent (compilerFlagSchemesMap.getReference (i.getKey()), "Compiler Flags for " + i.getKey().quoted(), 8192, false),\r
                        "The exporter-specific compiler flags that will be added to files using this scheme.");\r
 \r
@@ -560,7 +560,7 @@ static var getStoredPathForModule (const String& id, const ProjectExporter& exp)
                                            exp.getTargetOSForExporter()).get();\r
 }\r
 \r
-ValueWithDefault ProjectExporter::getPathForModuleValue (const String& moduleID)\r
+ValueTreePropertyWithDefault ProjectExporter::getPathForModuleValue (const String& moduleID)\r
 {\r
     auto* um = getUndoManager();\r
 \r
@@ -662,6 +662,11 @@ void ProjectExporter::updateOldModulePaths()
     }\r
 }\r
 \r
+static bool areSameExporters (const ProjectExporter& p1, const ProjectExporter& p2)\r
+{\r
+    return p1.getExporterIdentifier() == p2.getExporterIdentifier();\r
+}\r
+\r
 static bool areCompatibleExporters (const ProjectExporter& p1, const ProjectExporter& p2)\r
 {\r
     return (p1.isVisualStudio() && p2.isVisualStudio())\r
@@ -673,39 +678,33 @@ static bool areCompatibleExporters (const ProjectExporter& p1, const ProjectExpo
 \r
 void ProjectExporter::createDefaultModulePaths()\r
 {\r
-    for (Project::ExporterIterator exporter (project); exporter.next();)\r
+    auto exporterToCopy = [this]() -> std::unique_ptr<ProjectExporter>\r
     {\r
-        if (areCompatibleExporters (*this, *exporter))\r
-        {\r
-            for (int i = project.getEnabledModules().getNumModules(); --i >= 0;)\r
-            {\r
-                auto modID = project.getEnabledModules().getModuleID (i);\r
-                getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID);\r
-            }\r
+        std::vector<std::unique_ptr<ProjectExporter>> exporters;\r
 \r
-            return;\r
-        }\r
-    }\r
+        for (Project::ExporterIterator exporter (project); exporter.next();)\r
+            exporters.push_back (std::move (exporter.exporter));\r
 \r
-    for (Project::ExporterIterator exporter (project); exporter.next();)\r
-    {\r
-        if (exporter->canLaunchProject())\r
+        auto getIf = [&exporters] (auto predicate)\r
         {\r
-            for (int i = project.getEnabledModules().getNumModules(); --i >= 0;)\r
-            {\r
-                auto modID = project.getEnabledModules().getModuleID (i);\r
-                getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID);\r
-            }\r
+            auto iter = std::find_if (exporters.begin(), exporters.end(), predicate);\r
+            return iter != exporters.end() ? std::move (*iter) : nullptr;\r
+        };\r
 \r
-            return;\r
-        }\r
-    }\r
+        if (auto exporter = getIf ([this] (auto& x) { return areSameExporters (*this, *x); }))\r
+            return exporter;\r
 \r
-    for (int i = project.getEnabledModules().getNumModules(); --i >= 0;)\r
-    {\r
-        auto modID = project.getEnabledModules().getModuleID (i);\r
-        getPathForModuleValue (modID) = "../../juce";\r
-    }\r
+        if (auto exporter = getIf ([this] (auto& x) { return areCompatibleExporters (*this, *x); }))\r
+            return exporter;\r
+\r
+        if (auto exporter = getIf ([] (auto& x) { return x->canLaunchProject(); }))\r
+            return exporter;\r
+\r
+        return {};\r
+    }();\r
+\r
+    for (const auto& modID : project.getEnabledModules().getAllModules())\r
+        getPathForModuleValue (modID) = (exporterToCopy != nullptr ? exporterToCopy->getPathForModuleString (modID) : "../../juce");\r
 }\r
 \r
 //==============================================================================\r
@@ -909,20 +908,22 @@ void ProjectExporter::BuildConfiguration::addGCCOptimisationProperty (PropertyLi
 \r
 void ProjectExporter::BuildConfiguration::addRecommendedLinuxCompilerWarningsProperty (PropertyListBuilder& props)\r
 {\r
+    recommendedWarningsValue.setDefault ("");\r
+\r
     props.add (new ChoicePropertyComponent (recommendedWarningsValue, "Add Recommended Compiler Warning Flags",\r
                                             { CompilerNames::gcc, CompilerNames::llvm, "Disabled" },\r
                                             { CompilerNames::gcc, CompilerNames::llvm, "" }),\r
                "Enable this to add a set of recommended compiler warning flags.");\r
-    recommendedWarningsValue.setDefault ("");\r
 }\r
 \r
 void ProjectExporter::BuildConfiguration::addRecommendedLLVMCompilerWarningsProperty (PropertyListBuilder& props)\r
 {\r
+    recommendedWarningsValue.setDefault ("");\r
+\r
     props.add (new ChoicePropertyComponent (recommendedWarningsValue, "Add Recommended Compiler Warning Flags",\r
                                             { "Enabled",           "Disabled" },\r
                                             { CompilerNames::llvm, "" }),\r
                "Enable this to add a set of recommended compiler warning flags.");\r
-    recommendedWarningsValue.setDefault ("");\r
 }\r
 \r
 ProjectExporter::BuildConfiguration::CompilerWarningFlags ProjectExporter::BuildConfiguration::getRecommendedCompilerWarningFlags() const\r
index be0ad1e6aca79033636a8a011d10ab4ea7ebcf6d..04a2930f7449548d18851c48df0305e9b2ea7295 100644 (file)
@@ -27,7 +27,7 @@
 \r
 #include "../Project/jucer_Project.h"\r
 #include "../Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h"\r
-#include "../Utility/Helpers/jucer_ValueWithDefaultWrapper.h"\r
+#include "../Utility/Helpers/jucer_ValueTreePropertyWithDefaultWrapper.h"\r
 #include "../Project/Modules/jucer_Modules.h"\r
 \r
 class ProjectSaver;\r
@@ -89,8 +89,6 @@ public:
     virtual bool isOSX() const     = 0;\r
     virtual bool isiOS() const     = 0;\r
 \r
-    virtual File getIDEProjectFile() const  { return {}; }\r
-\r
     virtual String getNewLineString() const = 0;\r
     virtual String getDescription()  { return {}; }\r
 \r
@@ -157,7 +155,7 @@ public:
 \r
     // NB: this is the path to the parent "modules" folder that contains the named module, not the\r
     // module folder itself.\r
-    ValueWithDefault getPathForModuleValue (const String& moduleID);\r
+    ValueTreePropertyWithDefault getPathForModuleValue (const String& moduleID);\r
     String getPathForModuleString (const String& moduleID) const;\r
     void removePathForModule (const String& moduleID);\r
 \r
@@ -306,9 +304,9 @@ public:
         const ProjectExporter& exporter;\r
 \r
     protected:\r
-        ValueWithDefault isDebugValue, configNameValue, targetNameValue, targetBinaryPathValue, recommendedWarningsValue, optimisationLevelValue,\r
-                         linkTimeOptimisationValue, ppDefinesValue, headerSearchPathValue, librarySearchPathValue, userNotesValue,\r
-                         usePrecompiledHeaderFileValue, precompiledHeaderFileValue;\r
+        ValueTreePropertyWithDefault isDebugValue, configNameValue, targetNameValue, targetBinaryPathValue, recommendedWarningsValue, optimisationLevelValue,\r
+                                     linkTimeOptimisationValue, ppDefinesValue, headerSearchPathValue, librarySearchPathValue, userNotesValue,\r
+                                     usePrecompiledHeaderFileValue, precompiledHeaderFileValue;\r
 \r
     private:\r
         std::map<String, CompilerWarningFlags> recommendedCompilerWarningFlags;\r
@@ -409,13 +407,13 @@ protected:
     const File projectFolder;\r
 \r
     //==============================================================================\r
-    ValueWithDefaultWrapper vstLegacyPathValueWrapper, rtasPathValueWrapper, aaxPathValueWrapper;\r
+    ValueTreePropertyWithDefaultWrapper vstLegacyPathValueWrapper, rtasPathValueWrapper, aaxPathValueWrapper;\r
 \r
-    ValueWithDefault targetLocationValue, extraCompilerFlagsValue, extraLinkerFlagsValue, externalLibrariesValue,\r
-                     userNotesValue, gnuExtensionsValue, bigIconValue, smallIconValue, extraPPDefsValue;\r
+    ValueTreePropertyWithDefault targetLocationValue, extraCompilerFlagsValue, extraLinkerFlagsValue, externalLibrariesValue,\r
+                                 userNotesValue, gnuExtensionsValue, bigIconValue, smallIconValue, extraPPDefsValue;\r
 \r
     Value projectCompilerFlagSchemesValue;\r
-    HashMap<String, ValueWithDefault> compilerFlagSchemesMap;\r
+    HashMap<String, ValueTreePropertyWithDefault> compilerFlagSchemesMap;\r
 \r
     mutable Array<Project::Item> itemGroups;\r
     Project::Item* modulesGroup = nullptr;\r
index 9727c7757570dd2c9dc2772d1fd1d2b6fffe55ee..0230bec6c55fb51fe6c4eb70751669cca71f7861 100644 (file)
@@ -454,10 +454,16 @@ static Identifier identifierForOS (DependencyPathOS os) noexcept
     return {};\r
 }\r
 \r
-ValueWithDefault StoredSettings::getStoredPath (const Identifier& key, DependencyPathOS os)\r
+ValueTreePropertyWithDefault StoredSettings::getStoredPath (const Identifier& key, DependencyPathOS os)\r
 {\r
     auto tree = (os == TargetOS::getThisOS() ? projectDefaults\r
                                              : fallbackPaths.getOrCreateChildWithName (identifierForOS (os), nullptr));\r
 \r
     return { tree, key, nullptr, getFallbackPathForOS (key, os) };\r
 }\r
+\r
+void StoredSettings::addProjectDefaultsListener (ValueTree::Listener& l)     { projectDefaults.addListener (&l); }\r
+void StoredSettings::removeProjectDefaultsListener (ValueTree::Listener& l)  { projectDefaults.removeListener (&l); }\r
+\r
+void StoredSettings::addFallbackPathsListener (ValueTree::Listener& l)       { fallbackPaths.addListener (&l); }\r
+void StoredSettings::removeFallbackPathsListener (ValueTree::Listener& l)    { fallbackPaths.removeListener (&l); }\r
index 16f69c12e8d166d894bd28ddbd98acd5f318a1ea..b6413bbf614ea81aab41df15658fdad391e3cff0 100644 (file)
@@ -61,7 +61,13 @@ public:
     };\r
 \r
     //==============================================================================\r
-    ValueWithDefault getStoredPath (const Identifier& key, DependencyPathOS os);\r
+    void addProjectDefaultsListener (ValueTree::Listener&);\r
+    void removeProjectDefaultsListener (ValueTree::Listener&);\r
+\r
+    void addFallbackPathsListener (ValueTree::Listener&);\r
+    void removeFallbackPathsListener (ValueTree::Listener&);\r
+\r
+    ValueTreePropertyWithDefault getStoredPath (const Identifier& key, DependencyPathOS os);\r
     bool isJUCEPathIncorrect();\r
 \r
     //==============================================================================\r
index 40cb7fe2894019f512be68f95d8c9eafd6f9c986..e6e7a6c66ce09b64bc9f328987f950cf20f41ff5 100644 (file)
@@ -91,13 +91,17 @@ struct PropertyListBuilder
         add (propertyComp);\r
     }\r
 \r
-    void addSearchPathProperty (const Value& value, const String& name, const String& mainHelpText)\r
+    void addSearchPathProperty (const Value& value,\r
+                                const String& name,\r
+                                const String& mainHelpText)\r
     {\r
         add (new TextPropertyComponent (value, name, 16384, true),\r
              mainHelpText + " Use semi-colons or new-lines to separate multiple paths.");\r
     }\r
 \r
-    void addSearchPathProperty (ValueWithDefault& value, const String& name, const String& mainHelpText)\r
+    void addSearchPathProperty (const ValueTreePropertyWithDefault& value,\r
+                                const String& name,\r
+                                const String& mainHelpText)\r
     {\r
         add (new TextPropertyComponent (value, name, 16384, true),\r
              mainHelpText + " Use semi-colons or new-lines to separate multiple paths.");\r
diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_ValueTreePropertyWithDefaultWrapper.h b/extras/Projucer/Source/Utility/Helpers/jucer_ValueTreePropertyWithDefaultWrapper.h
new file mode 100644 (file)
index 0000000..fef47d8
--- /dev/null
@@ -0,0 +1,75 @@
+/*\r
+  ==============================================================================\r
+\r
+   This file is part of the JUCE library.\r
+   Copyright (c) 2020 - Raw Material Software Limited\r
+\r
+   JUCE is an open source library subject to commercial or open-source\r
+   licensing.\r
+\r
+   By using JUCE, you agree to the terms of both the JUCE 6 End-User License\r
+   Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).\r
+\r
+   End User License Agreement: www.juce.com/juce-6-licence\r
+   Privacy Policy: www.juce.com/juce-privacy-policy\r
+\r
+   Or: You may also use this code under the terms of the GPL v3 (see\r
+   www.gnu.org/licenses).\r
+\r
+   JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r
+   EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r
+   DISCLAIMED.\r
+\r
+  ==============================================================================\r
+*/\r
+\r
+#pragma once\r
+\r
+\r
+//==============================================================================\r
+/**\r
+    Wraps a ValueTreePropertyWithDefault object that has a default which depends on a global value.\r
+*/\r
+class ValueTreePropertyWithDefaultWrapper  : private Value::Listener\r
+{\r
+public:\r
+    ValueTreePropertyWithDefaultWrapper() = default;\r
+\r
+    void init (const ValueTreePropertyWithDefault& v,\r
+               ValueTreePropertyWithDefault global,\r
+               TargetOS::OS targetOS)\r
+    {\r
+        wrappedValue = v;\r
+        globalValue = global.getPropertyAsValue();\r
+        globalIdentifier = global.getPropertyID();\r
+        os = targetOS;\r
+\r
+        if (wrappedValue.get() == var())\r
+            wrappedValue.resetToDefault();\r
+\r
+        globalValue.addListener (this);\r
+        valueChanged (globalValue);\r
+    }\r
+\r
+    ValueTreePropertyWithDefault& getWrappedValueTreePropertyWithDefault()\r
+    {\r
+        return wrappedValue;\r
+    }\r
+\r
+    var getCurrentValue() const\r
+    {\r
+        return wrappedValue.get();\r
+    }\r
+\r
+private:\r
+    void valueChanged (Value&) override\r
+    {\r
+        wrappedValue.setDefault (getAppSettings().getStoredPath (globalIdentifier, os).get());\r
+    }\r
+\r
+    ValueTreePropertyWithDefault wrappedValue;\r
+    Value globalValue;\r
+\r
+    Identifier globalIdentifier;\r
+    TargetOS::OS os;\r
+};\r
diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_ValueWithDefaultWrapper.h b/extras/Projucer/Source/Utility/Helpers/jucer_ValueWithDefaultWrapper.h
deleted file mode 100644 (file)
index 2419787..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*\r
-  ==============================================================================\r
-\r
-   This file is part of the JUCE library.\r
-   Copyright (c) 2020 - Raw Material Software Limited\r
-\r
-   JUCE is an open source library subject to commercial or open-source\r
-   licensing.\r
-\r
-   By using JUCE, you agree to the terms of both the JUCE 6 End-User License\r
-   Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).\r
-\r
-   End User License Agreement: www.juce.com/juce-6-licence\r
-   Privacy Policy: www.juce.com/juce-privacy-policy\r
-\r
-   Or: You may also use this code under the terms of the GPL v3 (see\r
-   www.gnu.org/licenses).\r
-\r
-   JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r
-   EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r
-   DISCLAIMED.\r
-\r
-  ==============================================================================\r
-*/\r
-\r
-#pragma once\r
-\r
-\r
-//==============================================================================\r
-/**\r
-    Wraps a ValueWithDefault object that has a default which depends on a global value.\r
-*/\r
-class ValueWithDefaultWrapper  : private Value::Listener\r
-{\r
-public:\r
-    ValueWithDefaultWrapper() = default;\r
-\r
-    void init (const ValueWithDefault& vwd, ValueWithDefault global, TargetOS::OS targetOS)\r
-    {\r
-        wrappedValue = vwd;\r
-        globalValue = global.getPropertyAsValue();\r
-        globalIdentifier = global.getPropertyID();\r
-        os = targetOS;\r
-\r
-        if (wrappedValue.get() == var())\r
-            wrappedValue.resetToDefault();\r
-\r
-        globalValue.addListener (this);\r
-        valueChanged (globalValue);\r
-    }\r
-\r
-    ValueWithDefault& getWrappedValueWithDefault()\r
-    {\r
-        return wrappedValue;\r
-    }\r
-\r
-    var getCurrentValue() const\r
-    {\r
-        return wrappedValue.get();\r
-    }\r
-\r
-private:\r
-    void valueChanged (Value&) override\r
-    {\r
-        wrappedValue.setDefault (getAppSettings().getStoredPath (globalIdentifier, os).get());\r
-    }\r
-\r
-    ValueWithDefault wrappedValue;\r
-    Value globalValue;\r
-\r
-    Identifier globalIdentifier;\r
-    TargetOS::OS os;\r
-};\r
index b5fcf93c256db6930734c598cd9817c91a1661b3..d1711631589dccab713a2fce6305aa3704ad7775 100644 (file)
@@ -48,8 +48,12 @@ public:
     }\r
 \r
     /** Displays a default value when no value is specified by the user. */\r
-    FilePathPropertyComponent (ValueWithDefault& valueToControl, const String& propertyName, bool isDir, bool thisOS = true,\r
-                               const String& wildcardsToUse = "*", const File& relativeRoot = File())\r
+    FilePathPropertyComponent (ValueTreePropertyWithDefault valueToControl,\r
+                               const String& propertyName,\r
+                               bool isDir,\r
+                               bool thisOS = true,\r
+                               const String& wildcardsToUse = "*",\r
+                               const File& relativeRoot = File())\r
        : PropertyComponent (propertyName),\r
          text (valueToControl, propertyName, 1024, false),\r
          isDirectory (isDir), isThisOS (thisOS), wildcards (wildcardsToUse), root (relativeRoot)\r
@@ -211,8 +215,8 @@ private:
 class FilePathPropertyComponentWithEnablement  : public FilePathPropertyComponent\r
 {\r
 public:\r
-    FilePathPropertyComponentWithEnablement (ValueWithDefault& valueToControl,\r
-                                             ValueWithDefault valueToListenTo,\r
+    FilePathPropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,\r
+                                             ValueTreePropertyWithDefault valueToListenTo,\r
                                              const String& propertyName,\r
                                              bool isDir,\r
                                              bool thisOS = true,\r
@@ -224,7 +228,7 @@ public:
                                      thisOS,\r
                                      wildcardsToUse,\r
                                      relativeRoot),\r
-          valueWithDefault (valueToListenTo),\r
+          propertyWithDefault (valueToListenTo),\r
           value (valueToListenTo.getPropertyAsValue())\r
     {\r
         value.addListener (this);\r
@@ -237,9 +241,9 @@ private:
     void valueChanged (Value& v) override\r
     {\r
         FilePathPropertyComponent::valueChanged (v);\r
-        setEnabled (valueWithDefault.get());\r
+        setEnabled (propertyWithDefault.get());\r
     }\r
 \r
-    ValueWithDefault valueWithDefault;\r
+    ValueTreePropertyWithDefault propertyWithDefault;\r
     Value value;\r
 };\r
index 0dbe0ca2c33cd2dabca7ea53b2fed4be34bfdaf5..f66375b4176b07643ae6c03136b257fc2462802d 100644 (file)
@@ -31,26 +31,26 @@ class TextPropertyComponentWithEnablement    : public TextPropertyComponent,
                                                private Value::Listener\r
 {\r
 public:\r
-    TextPropertyComponentWithEnablement (ValueWithDefault& valueToControl,\r
-                                         ValueWithDefault valueToListenTo,\r
+    TextPropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,\r
+                                         ValueTreePropertyWithDefault valueToListenTo,\r
                                          const String& propertyName,\r
                                          int maxNumChars,\r
                                          bool multiLine)\r
         : TextPropertyComponent (valueToControl, propertyName, maxNumChars, multiLine),\r
-          valueWithDefault (valueToListenTo),\r
-          value (valueWithDefault.getPropertyAsValue())\r
+          propertyWithDefault (valueToListenTo),\r
+          value (propertyWithDefault.getPropertyAsValue())\r
     {\r
         value.addListener (this);\r
-        setEnabled (valueWithDefault.get());\r
+        setEnabled (propertyWithDefault.get());\r
     }\r
 \r
-    ~TextPropertyComponentWithEnablement() override    { value.removeListener (this); }\r
+    ~TextPropertyComponentWithEnablement() override  { value.removeListener (this); }\r
 \r
 private:\r
-    ValueWithDefault valueWithDefault;\r
+    ValueTreePropertyWithDefault propertyWithDefault;\r
     Value value;\r
 \r
-    void valueChanged (Value&) override       { setEnabled (valueWithDefault.get()); }\r
+    void valueChanged (Value&) override  { setEnabled (propertyWithDefault.get()); }\r
 };\r
 \r
 //==============================================================================\r
@@ -58,21 +58,21 @@ class ChoicePropertyComponentWithEnablement    : public ChoicePropertyComponent,
                                                  private Value::Listener\r
 {\r
 public:\r
-    ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,\r
-                                           ValueWithDefault valueToListenTo,\r
+    ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,\r
+                                           ValueTreePropertyWithDefault valueToListenTo,\r
                                            const String& propertyName,\r
                                            const StringArray& choiceToUse,\r
                                            const Array<var>& correspondingValues)\r
         : ChoicePropertyComponent (valueToControl, propertyName, choiceToUse, correspondingValues),\r
-          valueWithDefault (valueToListenTo),\r
+          propertyWithDefault (valueToListenTo),\r
           value (valueToListenTo.getPropertyAsValue())\r
     {\r
         value.addListener (this);\r
         valueChanged (value);\r
     }\r
 \r
-    ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,\r
-                                           ValueWithDefault valueToListenTo,\r
+    ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,\r
+                                           ValueTreePropertyWithDefault valueToListenTo,\r
                                            const Identifier& multiChoiceID,\r
                                            const String& propertyName,\r
                                            const StringArray& choicesToUse,\r
@@ -87,11 +87,11 @@ public:
         valueChanged (value);\r
     }\r
 \r
-    ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,\r
-                                           ValueWithDefault valueToListenTo,\r
+    ChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,\r
+                                           ValueTreePropertyWithDefault valueToListenTo,\r
                                            const String& propertyName)\r
         : ChoicePropertyComponent (valueToControl, propertyName),\r
-          valueWithDefault (valueToListenTo),\r
+          propertyWithDefault (valueToListenTo),\r
           value (valueToListenTo.getPropertyAsValue())\r
     {\r
         value.addListener (this);\r
@@ -101,7 +101,7 @@ public:
     ~ChoicePropertyComponentWithEnablement() override    { value.removeListener (this); }\r
 \r
 private:\r
-    ValueWithDefault valueWithDefault;\r
+    ValueTreePropertyWithDefault propertyWithDefault;\r
     Value value;\r
 \r
     bool isMultiChoice = false;\r
@@ -111,7 +111,7 @@ private:
     {\r
         jassert (isMultiChoice);\r
 \r
-        auto v = valueWithDefault.get();\r
+        auto v = propertyWithDefault.get();\r
 \r
         if (auto* varArray = v.getArray())\r
             return varArray->contains (idToCheck.toString());\r
@@ -125,7 +125,7 @@ private:
         if (isMultiChoice)\r
             setEnabled (checkMultiChoiceVar());\r
         else\r
-            setEnabled (valueWithDefault.get());\r
+            setEnabled (propertyWithDefault.get());\r
     }\r
 };\r
 \r
@@ -134,8 +134,8 @@ class MultiChoicePropertyComponentWithEnablement    : public MultiChoiceProperty
                                                       private Value::Listener\r
 {\r
 public:\r
-    MultiChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl,\r
-                                                ValueWithDefault valueToListenTo,\r
+    MultiChoicePropertyComponentWithEnablement (const ValueTreePropertyWithDefault& valueToControl,\r
+                                                ValueTreePropertyWithDefault valueToListenTo,\r
                                                 const String& propertyName,\r
                                                 const StringArray& choices,\r
                                                 const Array<var>& correspondingValues)\r
@@ -143,7 +143,7 @@ public:
                                         propertyName,\r
                                         choices,\r
                                         correspondingValues),\r
-          valueWithDefault (valueToListenTo),\r
+          propertyWithDefault (valueToListenTo),\r
           value (valueToListenTo.getPropertyAsValue())\r
     {\r
         value.addListener (this);\r
@@ -153,8 +153,8 @@ public:
     ~MultiChoicePropertyComponentWithEnablement() override    { value.removeListener (this); }\r
 \r
 private:\r
-    void valueChanged (Value&) override       { setEnabled (valueWithDefault.get()); }\r
+    void valueChanged (Value&) override       { setEnabled (propertyWithDefault.get()); }\r
 \r
-    ValueWithDefault valueWithDefault;\r
+    ValueTreePropertyWithDefault propertyWithDefault;\r
     Value value;\r
 };\r
index 3b278a122ccc0fa6d867b483fcfbb4ef6bc43811..6145fdf370841f13f00e2ef0062296b883d8abf5 100644 (file)
@@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_CONSOLEAPP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_CONSOLEAPP := UnitTestRunner
 
@@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release)
     TARGET_ARCH := 
   endif
 
-  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
+  JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60104" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
   JUCE_CPPFLAGS_CONSOLEAPP :=  "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0"
   JUCE_TARGET_CONSOLEAPP := UnitTestRunner
 
index beb195aab05af69a926cb5778f1c93cd66e7a21d..b0335cee8b7c24f258ca29a6dd471ca777d7fe22 100644 (file)
                E1E93F2B4B2D17E011395520 = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 1310;
+                               LastUpgradeCheck = 1320;
                                ORGANIZATIONNAME = "Raw Material Software Limited";
                        };
                        buildConfigurationList = 18FC121B1014F7999CD135D3;
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                DEAD_CODE_STRIPPING = YES;
                                        "NDEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_analytics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.UnitTestRunner;
                                PRODUCT_NAME = "UnitTestRunner";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
                                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                                CLANG_WARN_UNREACHABLE_CODE = YES;
                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                               CODE_SIGN_IDENTITY = "-";
+                               CODE_SIGN_IDENTITY = "";
                                DEBUG_INFORMATION_FORMAT = dwarf;
                                ENABLE_STRICT_OBJC_MSGSEND = YES;
                                ENABLE_TESTABILITY = NO;
                                CLANG_CXX_LANGUAGE_STANDARD = "c++14";
                                CLANG_CXX_LIBRARY = "libc++";
                                CLANG_LINK_OBJC_RUNTIME = NO;
-                               CODE_SIGN_IDENTITY = "-";
-                               CODE_SIGN_STYLE = Manual;
+                               CODE_SIGN_IDENTITY = "";
                                COMBINE_HIDPI_IMAGES = YES;
                                CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
                                COPY_PHASE_STRIP = NO;
                                        "DEBUG=1",
                                        "JUCE_DISPLAY_SPLASH_SCREEN=0",
                                        "JUCE_USE_DARK_SPLASH_SCREEN=1",
-                                       "JUCE_PROJUCER_VERSION=0x60103",
+                                       "JUCE_PROJUCER_VERSION=0x60104",
                                        "JUCE_MODULE_AVAILABLE_juce_analytics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
                                        "JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
                                OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion";
                                PRODUCT_BUNDLE_IDENTIFIER = com.juce.UnitTestRunner;
                                PRODUCT_NAME = "UnitTestRunner";
-                               PROVISIONING_PROFILE_SPECIFIER = "";
                                USE_HEADERMAP = NO;
                                VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL;
                                VALID_ARCHS = "i386 x86_64 arm64 arm64e";
index 1af384e6c08374387612866e8fc34893529f480e..49c4a0a03c29f991a44e50e3951c9ddf2e2597ab 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index ca98fe5a86c124b21e2f1c196305aaf80aaa1ffb..4cb2fc18287fd5b60b219ffa0bd0a6225aa66176 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index eb94e4d4444614542639b7ac5753f336074dd5f0..928843fb525b255cbefdb03a3814cfa1037adafa 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 69601d20d07ac19690d6df12d8df004b282cf2d7..7b72a17ab0b83d71ea086f41ef2ead47ad2969bb 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index a40790680065856fe688dfb96fc6e5a8bed5c50e..900b724fbca4995f45c6752d785740e561127514 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_AudioBlock.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_dsp\containers\juce_FixedSizeFunction.h"/>\r
index 56522397b768bd8e71d2fabfbaef624c6ef31aa7..67ebd34f98cc7f3eac86c695e3e41321ae733bb7 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 1d7f397ed447c943405d74fbdf605a90b0b8ba7d..10fe1396e86e7c872e7ce4f2128ce6089f0feb75 100644 (file)
@@ -64,7 +64,7 @@
       <Optimization>Disabled</Optimization>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile>\r
       <Optimization>Full</Optimization>\r
       <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60104;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <ExcludedFromBuild>true</ExcludedFromBuild>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
     <ClInclude Include="..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
index 08f9b97fea80489fc76256a5b7205bd9d60c5d1f..34eba2f5abbfb9a2ec0658a67d4f1fc4b883b243 100644 (file)
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault_test.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.cpp">\r
+    <ClCompile Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreePropertyWithDefault.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueWithDefault.h">\r
+    <ClInclude Include="..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
       <Filter>JUCE Modules\juce_data_structures\values</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
index 1bda225a7bdf2b3e37c389a12b4537bd4ced4ece..5a49273b43442ed0f9cde45f1e58ad253ab9ccde 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_analytics\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE analytics classes\r
   description:        Classes to collect analytics and send to destinations\r
   website:            http://www.juce.com/juce\r
index 25fbd4ec65516fb288c3ccf058647d7dc15d7407..5a85ed2ea68c810c3f955d59b227bb4d2ca17d70 100644 (file)
@@ -32,7 +32,7 @@
 \r
   ID:                 juce_audio_basics\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE audio and MIDI data classes\r
   description:        Classes for audio buffer manipulation, midi message handling, synthesis, etc.\r
   website:            http://www.juce.com/juce\r
index d640d898bab75b48f4e208ce566a666cad6729a8..86d32336788ba428fd2a47a783a8a61ab6a33652 100644 (file)
@@ -32,7 +32,7 @@
 \r
   ID:                 juce_audio_devices\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE audio and MIDI I/O device classes\r
   description:        Classes to play and record from audio and MIDI I/O devices\r
   website:            http://www.juce.com/juce\r
index 2f5683f43cef6347622c4b58a9ee89c7983d11e3..d8cf674d74d71c3f5c56874e33ae7fe7fe2562dc 100644 (file)
@@ -255,7 +255,7 @@ struct BufferHelpers<float>
         }\r
 \r
         AudioData::deinterleaveSamples (AudioData::InterleavedSource<LittleEndianFloat32> { srcInterleaved,                        numChannels },\r
-                                        AudioData::nonInterleavedDest<NativeFloat32>      { audioBuffer.getArrayOfWritePointers(), numChannels },\r
+                                        AudioData::NonInterleavedDest<NativeFloat32>      { audioBuffer.getArrayOfWritePointers(), numChannels },\r
                                         audioBuffer.getNumSamples());\r
     }\r
 \r
index e2a4b0720df45222b17b9f000b88e997a87c796c..6ac705e02132a348fc8e8c56605d691c73febc8a 100644 (file)
@@ -919,7 +919,7 @@ private:
         {\r
             granularity = jmax (16, (int) granularity);\r
 \r
-            for (int i = jmax ((int) (minSize + 15) & ~15, (int) granularity); i < jmin (6400, (int) maxSize); i += granularity)\r
+            for (int i = jmax ((int) (minSize + 15) & ~15, (int) granularity); i <= jmin (6400, (int) maxSize); i += granularity)\r
                 bufferSizes.addIfNotAlreadyThere (granularity * (i / granularity));\r
         }\r
         else if (granularity < 0)\r
index c50cf09384d1c2877013dc20d09016343af600d6..90478299a08966fe1d049d80b870f43347b60b8b 100644 (file)
@@ -276,6 +276,8 @@ public:
             bufferingReader.setReadTimeout (10);\r
 \r
             AudioBuffer<float> readBuffer { 2, 1024 };\r
+\r
+            readBuffer.clear();\r
             read (bufferingReader, readBuffer);\r
 \r
             expect (isSilent (readBuffer));\r
index 1062a4cd111ef94445fcea80704370b09efe195f..060ae739889264037677840fbbbcd2934f2bceae 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_audio_formats\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE audio file format codecs\r
   description:        Classes for reading and writing various audio file formats.\r
   website:            http://www.juce.com/juce\r
index 880012b9c07ed12db3ea38c8c532824d1acedde1..4157b5bb1628305d053c67b876fb90a88269b50c 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_audio_plugin_client\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE audio plugin wrapper classes\r
   description:        Classes for building VST, VST3, AudioUnit, AAX and RTAS plugins.\r
   website:            http://www.juce.com/juce\r
index 6b914c84a2129cbaa586cc7848b12e57359d633b..344e96d8657dee7bc671f378e43a8eebadde580a 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_audio_processors\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE audio processor classes\r
   description:        Classes for loading and playing VST, AU, LADSPA, or internally-generated audio processors.\r
   website:            http://www.juce.com/juce\r
index bcec0114997298aa38850b7d4b2859c9da200a28..9faa8360bc2aa54c5a7e56a4b780e1f7f7af8357 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_audio_utils\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE extra audio utility classes\r
   description:        Classes for audio-related GUI and miscellaneous tasks.\r
   website:            http://www.juce.com/juce\r
index e52ca4cb5bf2090640f480b0b1c1a9bc525de1eb..d1e249ef3debef22535b794751eaf4e3ef9e8944 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_box2d\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE wrapper for the Box2D physics engine\r
   description:        The Box2D physics engine and some utility classes.\r
   website:            http://www.juce.com/juce\r
index 84e7b678146243067e30d9129c862f40533b7a0c..1869a7236b2bb5ee1b9bd59c7f7b221063ca9bd8 100644 (file)
@@ -32,7 +32,7 @@
 \r
   ID:                 juce_core\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE core classes\r
   description:        The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.\r
   website:            http://www.juce.com/juce\r
index f77928898e9ab1049240c6d7e6ef07a78357f8cb..dbf06043a1467b119adefe2988e138bd4fab4196 100644 (file)
@@ -960,7 +960,12 @@ void JUCE_CALLTYPE Thread::setCurrentThreadName (const String& name)
 bool Thread::setThreadPriority (void* handle, int priority)\r
 {\r
     constexpr auto maxInputPriority = 10;\r
-    constexpr auto lowestRealtimePriority = 8;\r
+\r
+   #if JUCE_LINUX || JUCE_BSD\r
+    constexpr auto lowestRrPriority = 8;\r
+   #else\r
+    constexpr auto lowestRrPriority = 0;\r
+   #endif\r
 \r
     struct sched_param param;\r
     int policy;\r
@@ -971,7 +976,7 @@ bool Thread::setThreadPriority (void* handle, int priority)
     if (pthread_getschedparam ((pthread_t) handle, &policy, &param) != 0)\r
         return false;\r
 \r
-    policy = priority < lowestRealtimePriority ? SCHED_OTHER : SCHED_RR;\r
+    policy = priority < lowestRrPriority ? SCHED_OTHER : SCHED_RR;\r
 \r
     const auto minPriority = sched_get_priority_min (policy);\r
     const auto maxPriority = sched_get_priority_max (policy);\r
@@ -981,7 +986,7 @@ bool Thread::setThreadPriority (void* handle, int priority)
         if (policy == SCHED_OTHER)\r
             return 0;\r
 \r
-        return jmap (priority, lowestRealtimePriority, maxInputPriority, minPriority, maxPriority);\r
+        return jmap (priority, lowestRrPriority, maxInputPriority, minPriority, maxPriority);\r
     }();\r
 \r
     return pthread_setschedparam ((pthread_t) handle, policy, &param) == 0;\r
index 8279487441d8eb90d91905ad3fab28147d785474..8e536f3dc3d45e02fb6e35f2b9819fa1f09a54c9 100644 (file)
@@ -29,7 +29,7 @@
 */\r
 #define JUCE_MAJOR_VERSION      6\r
 #define JUCE_MINOR_VERSION      1\r
-#define JUCE_BUILDNUMBER        3\r
+#define JUCE_BUILDNUMBER        4\r
 \r
 /** Current JUCE version number.\r
 \r
index 475d84e4d5443adf76f065f3dd95c28347b2a910..6b65c245f84c753f2fe1b49133ec132a95453b18 100644 (file)
@@ -449,7 +449,7 @@ public:
     }\r
 \r
     /** Returns true if the first character of this string is whitespace. */\r
-    bool isWhitespace() const noexcept          { const CharType c = *data; return c == ' ' || (c <= 13 && c >= 9); }\r
+    bool isWhitespace() const noexcept          { return CharacterFunctions::isWhitespace ((juce_wchar) *(*this)); }\r
     /** Returns true if the first character of this string is a digit. */\r
     bool isDigit() const noexcept               { const CharType c = *data; return c >= '0' && c <= '9'; }\r
     /** Returns true if the first character of this string is a letter. */\r
index 816354422a1dbe42b70aff10d91e5fbb13910f75..2735d0dab46635a2e4c382cd82430c7a44039fc0 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_cryptography\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE cryptography classes\r
   description:        Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.\r
   website:            http://www.juce.com/juce\r
index 9ad4bbc61868aedad4dfc3b74b0d3166b12bf278..a93db46f0fb0dd5fde01a31edb336e35e255c89d 100644 (file)
 #include "values/juce_ValueTree.cpp"\r
 #include "values/juce_ValueTreeSynchroniser.cpp"\r
 #include "values/juce_CachedValue.cpp"\r
-#include "values/juce_ValueWithDefault.cpp"\r
 #include "undomanager/juce_UndoManager.cpp"\r
 #include "app_properties/juce_ApplicationProperties.cpp"\r
 #include "app_properties/juce_PropertiesFile.cpp"\r
+\r
+#if JUCE_UNIT_TESTS\r
+ #include "values/juce_ValueTreePropertyWithDefault_test.cpp"\r
+#endif\r
index 5f05f44f250265684b4495182bc2426b68c69b57..a8ca6d1c460bbb046c3fb6055244f47d4c201b99 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_data_structures\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE data model helper classes\r
   description:        Classes for undo/redo management, and smart data structures.\r
   website:            http://www.juce.com/juce\r
@@ -61,6 +61,6 @@
 #include "values/juce_ValueTree.h"\r
 #include "values/juce_ValueTreeSynchroniser.h"\r
 #include "values/juce_CachedValue.h"\r
-#include "values/juce_ValueWithDefault.h"\r
+#include "values/juce_ValueTreePropertyWithDefault.h"\r
 #include "app_properties/juce_PropertiesFile.h"\r
 #include "app_properties/juce_ApplicationProperties.h"\r
diff --git a/modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h b/modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault.h
new file mode 100644 (file)
index 0000000..d1636f8
--- /dev/null
@@ -0,0 +1,334 @@
+/*\r
+  ==============================================================================\r
+\r
+   This file is part of the JUCE library.\r
+   Copyright (c) 2020 - Raw Material Software Limited\r
+\r
+   JUCE is an open source library subject to commercial or open-source\r
+   licensing.\r
+\r
+   By using JUCE, you agree to the terms of both the JUCE 6 End-User License\r
+   Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).\r
+\r
+   End User License Agreement: www.juce.com/juce-6-licence\r
+   Privacy Policy: www.juce.com/juce-privacy-policy\r
+\r
+   Or: You may also use this code under the terms of the GPL v3 (see\r
+   www.gnu.org/licenses).\r
+\r
+   JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r
+   EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r
+   DISCLAIMED.\r
+\r
+  ==============================================================================\r
+*/\r
+\r
+namespace juce\r
+{\r
+\r
+//==============================================================================\r
+/**\r
+    This class acts as a wrapper around a property inside a ValueTree.\r
+\r
+    If the property inside the ValueTree is missing it will return a default value,\r
+    which can be specified in the constructor or by calling setDefault().\r
+\r
+    @tags{DataStructures}\r
+*/\r
+class JUCE_API  ValueTreePropertyWithDefault  : private Value::Listener\r
+{\r
+public:\r
+    //==============================================================================\r
+    /** Creates an uninitialised ValueTreePropertyWithDefault object.\r
+\r
+        Initialise it using one of the referTo() methods.\r
+    */\r
+    ValueTreePropertyWithDefault() = default;\r
+\r
+    /** Creates a ValueTreePropertyWithDefault object for the specified property.\r
+\r
+        The default value will be an empty var.\r
+    */\r
+    ValueTreePropertyWithDefault (ValueTree& tree,\r
+                                  const Identifier& propertyID,\r
+                                  UndoManager* um)\r
+    {\r
+        referTo (tree, propertyID, um);\r
+    }\r
+\r
+    /** Creates an ValueTreePropertyWithDefault object for the specified property.\r
+\r
+        The default value will be defaultToUse.\r
+    */\r
+    ValueTreePropertyWithDefault (ValueTree& tree,\r
+                                  const Identifier& propertyID,\r
+                                  UndoManager* um,\r
+                                  var defaultToUse)\r
+    {\r
+        referTo (tree, propertyID, um, defaultToUse);\r
+    }\r
+\r
+    /** Creates a ValueTreePropertyWithDefault object for the specified property.\r
+\r
+        The default value will be defaultToUse.\r
+\r
+        Use this constructor if the underlying var object being controlled is an array and\r
+        it will handle the conversion to/from a delimited String that can be written to\r
+        XML format.\r
+    */\r
+    ValueTreePropertyWithDefault (ValueTree& tree,\r
+                                  const Identifier& propertyID,\r
+                                  UndoManager* um,\r
+                                  var defaultToUse,\r
+                                  StringRef arrayDelimiter)\r
+    {\r
+        referTo (tree, propertyID, um, defaultToUse, arrayDelimiter);\r
+    }\r
+\r
+    /** Creates a ValueTreePropertyWithDefault object from another ValueTreePropertyWithDefault object. */\r
+    ValueTreePropertyWithDefault (const ValueTreePropertyWithDefault& other)\r
+    {\r
+        referToWithDefault (other.targetTree,\r
+                            other.targetProperty,\r
+                            other.undoManager,\r
+                            other.defaultValue,\r
+                            other.delimiter);\r
+    }\r
+\r
+    /** Destructor. */\r
+    ~ValueTreePropertyWithDefault() override\r
+    {\r
+        defaultValue.removeListener (this);\r
+    }\r
+\r
+    //==============================================================================\r
+    /** Returns the current value of the property.\r
+\r
+        If the property does not exist this returns the default value.\r
+    */\r
+    var get() const noexcept\r
+    {\r
+        if (isUsingDefault())\r
+            return defaultValue;\r
+\r
+        if (delimiter.isNotEmpty())\r
+            return delimitedStringToVarArray (targetTree[targetProperty].toString(), delimiter);\r
+\r
+        return targetTree[targetProperty];\r
+    }\r
+\r
+    /** Returns the current property as a Value object. */\r
+    Value getPropertyAsValue()               { return targetTree.getPropertyAsValue (targetProperty, undoManager); }\r
+\r
+    /** Returns the current default value. */\r
+    var getDefault() const                   { return defaultValue; }\r
+\r
+    /** Sets the default value to a new var. */\r
+    void setDefault (const var& newDefault)  { defaultValue = newDefault; }\r
+\r
+    /** Returns true if the property does not exist in the referenced ValueTree. */\r
+    bool isUsingDefault() const              { return ! targetTree.hasProperty (targetProperty); }\r
+\r
+    /** Removes the property from the referenced ValueTree. */\r
+    void resetToDefault() noexcept           { targetTree.removeProperty (targetProperty, nullptr); }\r
+\r
+    /** You can assign a lambda to this callback and it will called when the default\r
+        value is changed.\r
+\r
+        @see setDefault\r
+    */\r
+    std::function<void()> onDefaultChange;\r
+\r
+    //==============================================================================\r
+    /** Sets the property and returns the new ValueTreePropertyWithDefault.\r
+\r
+        This will modify the property in the referenced ValueTree.\r
+    */\r
+    ValueTreePropertyWithDefault& operator= (const var& newValue)\r
+    {\r
+        setValue (newValue, undoManager);\r
+        return *this;\r
+    }\r
+\r
+    /** Sets the property.\r
+\r
+        This will modify the property in the referenced ValueTree.\r
+    */\r
+    void setValue (const var& newValue, UndoManager* undoManagerToUse)\r
+    {\r
+        if (auto* array = newValue.getArray())\r
+            targetTree.setProperty (targetProperty, varArrayToDelimitedString (*array, delimiter), undoManagerToUse);\r
+        else\r
+            targetTree.setProperty (targetProperty, newValue, undoManagerToUse);\r
+    }\r
+\r
+    //==============================================================================\r
+    /** Makes the ValueTreePropertyWithDefault refer to the specified property inside\r
+        the given ValueTree.\r
+\r
+        The default value will be an empty var.\r
+    */\r
+    void referTo (ValueTree tree,\r
+                  const Identifier& property,\r
+                  UndoManager* um)\r
+    {\r
+        referToWithDefault (tree,\r
+                            property,\r
+                            um,\r
+                            Value (new SynchronousValueSource (var())),\r
+                            {});\r
+    }\r
+\r
+    /** Makes the ValueTreePropertyWithDefault refer to the specified property inside\r
+        the given ValueTree.\r
+\r
+        The default value will be defaultVal.\r
+    */\r
+    void referTo (ValueTree tree,\r
+                  const Identifier& property,\r
+                  UndoManager* um,\r
+                  var defaultVal)\r
+    {\r
+        referToWithDefault (tree,\r
+                            property,\r
+                            um,\r
+                            Value (new SynchronousValueSource (defaultVal)),\r
+                            {});\r
+    }\r
+\r
+    /** Makes the ValueTreePropertyWithDefault refer to the specified property inside\r
+        the given ValueTree.\r
+\r
+        The default value will be defaultVal.\r
+    */\r
+    void referTo (ValueTree tree,\r
+                  const Identifier& property,\r
+                  UndoManager* um,\r
+                  var defaultVal,\r
+                  StringRef arrayDelimiter)\r
+    {\r
+        referToWithDefault (tree,\r
+                            property,\r
+                            um,\r
+                            Value (new SynchronousValueSource (defaultVal)),\r
+                            arrayDelimiter);\r
+    }\r
+\r
+    //==============================================================================\r
+    /** Returns a reference to the ValueTree containing the referenced property. */\r
+    ValueTree& getValueTree() noexcept                      { return targetTree; }\r
+\r
+    /** Returns the property ID of the referenced property. */\r
+    Identifier& getPropertyID() noexcept                    { return targetProperty; }\r
+\r
+    /** Returns the UndoManager that is being used. */\r
+    UndoManager* getUndoManager() noexcept                  { return undoManager; }\r
+\r
+    //==============================================================================\r
+    ValueTreePropertyWithDefault& operator= (const ValueTreePropertyWithDefault& other)\r
+    {\r
+        referToWithDefault (other.targetTree,\r
+                            other.targetProperty,\r
+                            other.undoManager,\r
+                            other.defaultValue,\r
+                            other.delimiter);\r
+\r
+        return *this;\r
+    }\r
+\r
+private:\r
+    //==============================================================================\r
+    class SynchronousValueSource  : public Value::ValueSource\r
+    {\r
+    public:\r
+        explicit SynchronousValueSource (const var& initialValue)\r
+            : value (initialValue)\r
+        {\r
+        }\r
+\r
+        var getValue() const override\r
+        {\r
+            return value;\r
+        }\r
+\r
+        void setValue (const var& newValue) override\r
+        {\r
+            if (! newValue.equalsWithSameType (value))\r
+            {\r
+                value = newValue;\r
+                sendChangeMessage (true);\r
+            }\r
+        }\r
+\r
+    private:\r
+        var value;\r
+\r
+        JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SynchronousValueSource)\r
+    };\r
+\r
+    //==============================================================================\r
+    static String varArrayToDelimitedString (const Array<var>& input, StringRef delim)\r
+    {\r
+        // if you are trying to control a var that is an array then you need to\r
+        // set a delimiter string that will be used when writing to XML!\r
+        jassert (delim.isNotEmpty());\r
+\r
+        StringArray elements;\r
+\r
+        for (auto& v : input)\r
+            elements.add (v.toString());\r
+\r
+        return elements.joinIntoString (delim);\r
+    }\r
+\r
+    static Array<var> delimitedStringToVarArray (StringRef input, StringRef delim)\r
+    {\r
+        Array<var> arr;\r
+\r
+        for (auto t : StringArray::fromTokens (input, delim, {}))\r
+            arr.add (t);\r
+\r
+        return arr;\r
+    }\r
+\r
+    void valueChanged (Value&) override\r
+    {\r
+        if (onDefaultChange != nullptr)\r
+            onDefaultChange();\r
+    }\r
+\r
+    void referToWithDefault (ValueTree v,\r
+                             const Identifier& i,\r
+                             UndoManager* um,\r
+                             const Value& defaultVal,\r
+                             StringRef del)\r
+    {\r
+        targetTree = v;\r
+        targetProperty = i;\r
+        undoManager = um;\r
+        defaultValue.referTo (defaultVal);\r
+        delimiter = del;\r
+\r
+        defaultValue.addListener (this);\r
+    }\r
+\r
+    //==============================================================================\r
+    ValueTree targetTree;\r
+    Identifier targetProperty;\r
+    UndoManager* undoManager = nullptr;\r
+    Value defaultValue;\r
+    String delimiter;\r
+\r
+    //==============================================================================\r
+    JUCE_LEAK_DETECTOR (ValueTreePropertyWithDefault)\r
+};\r
+\r
+//==============================================================================\r
+#ifndef DOXYGEN\r
+using ValueWithDefault  [[deprecated ("This class has been renamed to better describe what is does. "\r
+                                      "This declaration is here for backwards compatibility and new "\r
+                                      "code should use the new class name.")]]\r
+    = ValueTreePropertyWithDefault;\r
+#endif\r
+\r
+} // namespace juce\r
diff --git a/modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp b/modules/juce_data_structures/values/juce_ValueTreePropertyWithDefault_test.cpp
new file mode 100644 (file)
index 0000000..08a4c5a
--- /dev/null
@@ -0,0 +1,97 @@
+/*\r
+  ==============================================================================\r
+\r
+   This file is part of the JUCE library.\r
+   Copyright (c) 2020 - Raw Material Software Limited\r
+\r
+   JUCE is an open source library subject to commercial or open-source\r
+   licensing.\r
+\r
+   By using JUCE, you agree to the terms of both the JUCE 6 End-User License\r
+   Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).\r
+\r
+   End User License Agreement: www.juce.com/juce-6-licence\r
+   Privacy Policy: www.juce.com/juce-privacy-policy\r
+\r
+   Or: You may also use this code under the terms of the GPL v3 (see\r
+   www.gnu.org/licenses).\r
+\r
+   JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r
+   EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r
+   DISCLAIMED.\r
+\r
+  ==============================================================================\r
+*/\r
+\r
+namespace juce\r
+{\r
+\r
+class ValueTreePropertyWithDefaultTests  : public UnitTest\r
+{\r
+public:\r
+    ValueTreePropertyWithDefaultTests()\r
+        : UnitTest ("ValueTreePropertyWithDefault", UnitTestCategories::values)\r
+    {}\r
+\r
+    void runTest() override\r
+    {\r
+        beginTest ("default constructor");\r
+        {\r
+            ValueTreePropertyWithDefault value;\r
+            expect (value.isUsingDefault());\r
+            expect (value.get() == var());\r
+        }\r
+\r
+        beginTest ("missing property");\r
+        {\r
+            ValueTree t ("root");\r
+            ValueTreePropertyWithDefault value (t, "testKey", nullptr, "default");\r
+\r
+            expect (value.isUsingDefault());\r
+            expectEquals (value.get().toString(), String ("default"));\r
+        }\r
+\r
+        beginTest ("non-empty property");\r
+        {\r
+            ValueTree t ("root");\r
+            t.setProperty ("testKey", "non-default", nullptr);\r
+\r
+            ValueTreePropertyWithDefault value (t, "testKey", nullptr, "default");\r
+\r
+            expect (! value.isUsingDefault());\r
+            expectEquals (value.get().toString(), String ("non-default"));\r
+        }\r
+\r
+        beginTest ("set default");\r
+        {\r
+            ValueTree t ("root");\r
+\r
+            ValueTreePropertyWithDefault value (t, "testkey", nullptr);\r
+            value.setDefault ("default");\r
+\r
+            expect (value.isUsingDefault());\r
+            expectEquals (value.get().toString(), String ("default"));\r
+        }\r
+\r
+        beginTest ("set value");\r
+        {\r
+            ValueTree t ("root");\r
+            t.setProperty ("testkey", "testvalue", nullptr);\r
+\r
+            ValueTreePropertyWithDefault value (t, "testkey", nullptr, "default");\r
+            value = "newvalue";\r
+\r
+            expect (! value.isUsingDefault());\r
+            expectEquals (t["testkey"].toString(), String ("newvalue"));\r
+\r
+            value.resetToDefault();\r
+\r
+            expect (value.isUsingDefault());\r
+            expect (t["testkey"] == var());\r
+        }\r
+    }\r
+};\r
+\r
+static ValueTreePropertyWithDefaultTests valueTreePropertyWithDefaultTests;\r
+\r
+} // namespace juce\r
diff --git a/modules/juce_data_structures/values/juce_ValueWithDefault.cpp b/modules/juce_data_structures/values/juce_ValueWithDefault.cpp
deleted file mode 100644 (file)
index 38a7539..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*\r
-  ==============================================================================\r
-\r
-   This file is part of the JUCE library.\r
-   Copyright (c) 2020 - Raw Material Software Limited\r
-\r
-   JUCE is an open source library subject to commercial or open-source\r
-   licensing.\r
-\r
-   By using JUCE, you agree to the terms of both the JUCE 6 End-User License\r
-   Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).\r
-\r
-   End User License Agreement: www.juce.com/juce-6-licence\r
-   Privacy Policy: www.juce.com/juce-privacy-policy\r
-\r
-   Or: You may also use this code under the terms of the GPL v3 (see\r
-   www.gnu.org/licenses).\r
-\r
-   JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r
-   EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r
-   DISCLAIMED.\r
-\r
-  ==============================================================================\r
-*/\r
-\r
-namespace juce\r
-{\r
-\r
-#if JUCE_UNIT_TESTS\r
-\r
-class ValueWithDefaultTests  : public UnitTest\r
-{\r
-public:\r
-    ValueWithDefaultTests()\r
-        : UnitTest ("ValueWithDefault", UnitTestCategories::values)\r
-    {}\r
-\r
-    void runTest() override\r
-    {\r
-        beginTest ("default constructor");\r
-        {\r
-            ValueWithDefault vwd;\r
-            expect (vwd.isUsingDefault());\r
-            expect (vwd.get() == var());\r
-        }\r
-\r
-        beginTest ("missing property");\r
-        {\r
-            ValueTree t ("root");\r
-            ValueWithDefault vwd (t, "testKey", nullptr, "default");\r
-\r
-            expect (vwd.isUsingDefault());\r
-            expectEquals (vwd.get().toString(), String ("default"));\r
-        }\r
-\r
-        beginTest ("non-empty property");\r
-        {\r
-            ValueTree t ("root");\r
-            t.setProperty ("testKey", "non-default", nullptr);\r
-\r
-            ValueWithDefault vwd (t, "testKey", nullptr, "default");\r
-\r
-            expect (! vwd.isUsingDefault());\r
-            expectEquals (vwd.get().toString(), String ("non-default"));\r
-        }\r
-\r
-        beginTest ("set default");\r
-        {\r
-            ValueTree t ("root");\r
-\r
-            ValueWithDefault vwd (t, "testkey", nullptr);\r
-            vwd.setDefault ("default");\r
-\r
-            expect (vwd.isUsingDefault());\r
-            expectEquals (vwd.get().toString(), String ("default"));\r
-        }\r
-\r
-        beginTest ("set value");\r
-        {\r
-            ValueTree t ("root");\r
-            t.setProperty ("testkey", "testvalue", nullptr);\r
-\r
-            ValueWithDefault vwd (t, "testkey", nullptr, "default");\r
-            vwd = "newvalue";\r
-\r
-            expect (! vwd.isUsingDefault());\r
-            expectEquals (t["testkey"].toString(), String ("newvalue"));\r
-\r
-            vwd.resetToDefault();\r
-\r
-            expect (vwd.isUsingDefault());\r
-            expect (t["testkey"] == var());\r
-        }\r
-    }\r
-};\r
-\r
-static ValueWithDefaultTests valueWithDefaultTests;\r
-\r
-#endif\r
-\r
-} // namespace juce\r
diff --git a/modules/juce_data_structures/values/juce_ValueWithDefault.h b/modules/juce_data_structures/values/juce_ValueWithDefault.h
deleted file mode 100644 (file)
index 8160cdd..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-/*\r
-  ==============================================================================\r
-\r
-   This file is part of the JUCE library.\r
-   Copyright (c) 2020 - Raw Material Software Limited\r
-\r
-   JUCE is an open source library subject to commercial or open-source\r
-   licensing.\r
-\r
-   By using JUCE, you agree to the terms of both the JUCE 6 End-User License\r
-   Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).\r
-\r
-   End User License Agreement: www.juce.com/juce-6-licence\r
-   Privacy Policy: www.juce.com/juce-privacy-policy\r
-\r
-   Or: You may also use this code under the terms of the GPL v3 (see\r
-   www.gnu.org/licenses).\r
-\r
-   JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER\r
-   EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE\r
-   DISCLAIMED.\r
-\r
-  ==============================================================================\r
-*/\r
-\r
-namespace juce\r
-{\r
-\r
-//==============================================================================\r
-/**\r
-    This class acts as a wrapper around a property inside a ValueTree.\r
-\r
-    If the property inside the ValueTree is missing the ValueWithDefault will automatically\r
-    return a default value, which can be specified when initialising the ValueWithDefault.\r
-\r
-    @tags{DataStructures}\r
-*/\r
-class ValueWithDefault\r
-{\r
-public:\r
-    //==============================================================================\r
-    /** Creates an unitialised ValueWithDefault. Initialise it using one of the referTo() methods. */\r
-    ValueWithDefault() = default;\r
-\r
-    /** Creates an ValueWithDefault object. The default value will be an empty var. */\r
-    ValueWithDefault (ValueTree& tree, const Identifier& propertyID, UndoManager* um)\r
-        : targetTree (tree),\r
-          targetProperty (propertyID),\r
-          undoManager (um),\r
-          defaultValue()\r
-    {\r
-    }\r
-\r
-    /** Creates an ValueWithDefault object. The default value will be defaultToUse. */\r
-    ValueWithDefault (ValueTree& tree, const Identifier& propertyID, UndoManager* um,\r
-                      const var& defaultToUse)\r
-        : targetTree (tree),\r
-          targetProperty (propertyID),\r
-          undoManager (um),\r
-          defaultValue (defaultToUse)\r
-    {\r
-    }\r
-\r
-    /** Creates an ValueWithDefault object. The default value will be defaultToUse.\r
-\r
-        Use this constructor if the underlying var object being controlled is an array and\r
-        it will handle the conversion to/from a delimited String that can be written to\r
-        XML format.\r
-    */\r
-    ValueWithDefault (ValueTree& tree, const Identifier& propertyID, UndoManager* um,\r
-                      const var& defaultToUse, StringRef arrayDelimiter)\r
-        : targetTree (tree),\r
-          targetProperty (propertyID),\r
-          undoManager (um),\r
-          defaultValue (defaultToUse),\r
-          delimiter (arrayDelimiter)\r
-    {\r
-    }\r
-\r
-    /** Creates a ValueWithDefault object from another ValueWithDefault object. */\r
-    ValueWithDefault (const ValueWithDefault& other)\r
-        : targetTree (other.targetTree),\r
-          targetProperty (other.targetProperty),\r
-          undoManager (other.undoManager),\r
-          defaultValue (other.defaultValue),\r
-          delimiter (other.delimiter)\r
-    {\r
-    }\r
-\r
-    //==============================================================================\r
-    /** Returns the current value of the property. If the property does not exist this\r
-        returns the default value.\r
-    */\r
-    var get() const noexcept\r
-    {\r
-        if (isUsingDefault())\r
-            return defaultValue;\r
-\r
-        if (delimiter.isNotEmpty())\r
-            return delimitedStringToVarArray (targetTree[targetProperty].toString());\r
-\r
-        return targetTree[targetProperty];\r
-    }\r
-\r
-    /** Returns the current property as a Value object. */\r
-    Value getPropertyAsValue()     { return targetTree.getPropertyAsValue (targetProperty, undoManager); }\r
-\r
-    /** Returns the current default value. */\r
-    var getDefault() const         { return defaultValue; }\r
-\r
-    /** Sets the default value to a new var. */\r
-    void setDefault (const var& newDefault)\r
-    {\r
-        if (defaultValue != newDefault)\r
-        {\r
-            defaultValue = newDefault;\r
-\r
-            if (onDefaultChange != nullptr)\r
-                onDefaultChange();\r
-        }\r
-    }\r
-\r
-    /** Returns true if the property does not exist in the referenced ValueTree. */\r
-    bool isUsingDefault() const\r
-    {\r
-        return ! targetTree.hasProperty (targetProperty);\r
-    }\r
-\r
-    /** Removes the property from the referenced ValueTree. */\r
-    void resetToDefault() noexcept\r
-    {\r
-        targetTree.removeProperty (targetProperty, nullptr);\r
-    }\r
-\r
-    /** You can assign a lambda to this callback object to have it called when the default value is changed. */\r
-    std::function<void()> onDefaultChange;\r
-\r
-    //==============================================================================\r
-    /** Sets the property and returns the new ValueWithDefault. This will modify the property in the referenced ValueTree. */\r
-    ValueWithDefault& operator= (const var& newValue)\r
-    {\r
-        setValue (newValue, undoManager);\r
-        return *this;\r
-    }\r
-\r
-    /** Sets the property. This will actually modify the property in the referenced ValueTree. */\r
-    void setValue (const var& newValue, UndoManager* undoManagerToUse)\r
-    {\r
-        if (auto* array = newValue.getArray())\r
-            targetTree.setProperty (targetProperty, varArrayToDelimitedString (*array), undoManagerToUse);\r
-        else\r
-            targetTree.setProperty (targetProperty, newValue, undoManagerToUse);\r
-    }\r
-\r
-    //==============================================================================\r
-    /** Makes the ValueWithDefault refer to the specified property inside the given ValueTree. */\r
-    void referTo (ValueTree& tree, const Identifier& property, UndoManager* um)\r
-    {\r
-        referToWithDefault (tree, property, um, var(), {});\r
-    }\r
-\r
-    /** Makes the ValueWithDefault refer to the specified property inside the given ValueTree,\r
-        and specifies a default value to use.\r
-     */\r
-    void referTo (ValueTree& tree, const Identifier& property, UndoManager* um, const var& defaultVal)\r
-    {\r
-        referToWithDefault (tree, property, um, defaultVal, {});\r
-    }\r
-\r
-    void referTo (ValueTree& tree, const Identifier& property, UndoManager* um,\r
-                  const var& defaultVal, StringRef arrayDelimiter)\r
-    {\r
-        referToWithDefault (tree, property, um, defaultVal, arrayDelimiter);\r
-    }\r
-\r
-    //==============================================================================\r
-    /** Returns a reference to the ValueTree containing the referenced property. */\r
-    ValueTree& getValueTree() noexcept                      { return targetTree; }\r
-\r
-    /** Returns the property ID of the referenced property. */\r
-    Identifier& getPropertyID() noexcept                    { return targetProperty; }\r
-\r
-    /** Returns the UndoManager that is being used. */\r
-    UndoManager* getUndoManager() noexcept                  { return undoManager; }\r
-\r
-    //==============================================================================\r
-    ValueWithDefault& operator= (const ValueWithDefault& other)\r
-    {\r
-        referToWithDefault (other.targetTree, other.targetProperty, other.undoManager,\r
-                            other.defaultValue, other.delimiter);\r
-\r
-        return *this;\r
-    }\r
-\r
-private:\r
-    //==============================================================================\r
-    ValueTree targetTree;\r
-    Identifier targetProperty;\r
-    UndoManager* undoManager = nullptr;\r
-    var defaultValue;\r
-\r
-    String delimiter;\r
-\r
-    //==============================================================================\r
-    void referToWithDefault (const ValueTree& v, const Identifier& i, UndoManager* um,\r
-                             const var& defaultVal, StringRef del)\r
-    {\r
-        targetTree = v;\r
-        targetProperty = i;\r
-        undoManager = um;\r
-        defaultValue = defaultVal;\r
-        delimiter = del;\r
-    }\r
-\r
-    //==============================================================================\r
-    String varArrayToDelimitedString (const Array<var>& input) const noexcept\r
-    {\r
-        // if you are trying to control a var that is an array then you need to\r
-        // set a delimiter string that will be used when writing to XML!\r
-        jassert (delimiter.isNotEmpty());\r
-\r
-        StringArray elements;\r
-\r
-        for (auto& v : input)\r
-            elements.add (v.toString());\r
-\r
-        return elements.joinIntoString (delimiter);\r
-    }\r
-\r
-    Array<var> delimitedStringToVarArray (StringRef input) const noexcept\r
-    {\r
-        Array<var> arr;\r
-\r
-        for (auto t : StringArray::fromTokens (input, delimiter, {}))\r
-            arr.add (t);\r
-\r
-        return arr;\r
-    }\r
-\r
-    //==============================================================================\r
-    JUCE_DECLARE_WEAK_REFERENCEABLE (ValueWithDefault)\r
-};\r
-\r
-} // namespace juce\r
index 9d344291328191a97aaadc16693f7a465c35d897..c6dd10d65793360800324595abf285fa0ef2060b 100644 (file)
@@ -772,7 +772,7 @@ struct IntelFFT  : public FFT::Instance
         : order (orderToUse), c2c (c2cToUse), c2r (cr2ToUse)\r
     {}\r
 \r
-    ~IntelFFT()\r
+    ~IntelFFT() override\r
     {\r
         DftiFreeDescriptor (&c2c);\r
         DftiFreeDescriptor (&c2r);\r
index 46357bfe8b56509c4ddcb72689abe6f67b2fbcaf..cde29675e7537cf39cc0d9184244814bc220c452 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_dsp\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE DSP classes\r
   description:        Classes for audio buffer manipulation, digital audio processing, filtering, oversampling, fast math functions etc.\r
   website:            http://www.juce.com/juce\r
index d081b18557589481f8111b2368e9e2991d08516b..edf191e752436254acf4edb087393b8d8f46c90f 100644 (file)
@@ -32,7 +32,7 @@
 \r
   ID:                 juce_events\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE message and event handling classes\r
   description:        Classes for running an application's main event loop and sending/receiving messages, timers, etc.\r
   website:            http://www.juce.com/juce\r
index ed545d57987c525725bbb6dc7671eaa620c7ae66..161f26e4f36ec814a5de65af85f8847ea303aeb2 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_graphics\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE graphics classes\r
   description:        Classes for 2D vector graphics, image loading/saving, font handling, etc.\r
   website:            http://www.juce.com/juce\r
index c81701be9e3b8a66dfcde52e5342057f359f82b0..941862203bc9f4a6ebf8e5aeb8d9260d8649a38e 100644 (file)
@@ -48,12 +48,12 @@ public:
         numComponents += (size_t) lineStride;\r
        #endif\r
 \r
-        imageDataHolder->data.allocate (numComponents, clearImage);\r
+        imageData->data.allocate (numComponents, clearImage);\r
 \r
         auto colourSpace = detail::ColorSpacePtr { CGColorSpaceCreateWithName ((format == Image::SingleChannel) ? kCGColorSpaceGenericGrayGamma2_2\r
                                                                                                                 : kCGColorSpaceSRGB) };\r
 \r
-        context = detail::ContextPtr { CGBitmapContextCreate (imageDataHolder->data, (size_t) width, (size_t) height, 8, (size_t) lineStride,\r
+        context = detail::ContextPtr { CGBitmapContextCreate (imageData->data, (size_t) width, (size_t) height, 8, (size_t) lineStride,\r
                                                               colourSpace.get(), getCGImageFlags (format)) };\r
     }\r
 \r
@@ -71,7 +71,7 @@ public:
 \r
     void initialiseBitmapData (Image::BitmapData& bitmap, int x, int y, Image::BitmapData::ReadWriteMode mode) override\r
     {\r
-        bitmap.data = imageDataHolder->data + x * pixelStride + y * lineStride;\r
+        bitmap.data = imageData->data + x * pixelStride + y * lineStride;\r
         bitmap.pixelFormat = pixelFormat;\r
         bitmap.lineStride = lineStride;\r
         bitmap.pixelStride = pixelStride;\r
@@ -86,7 +86,7 @@ public:
     ImagePixelData::Ptr clone() override\r
     {\r
         auto im = new CoreGraphicsPixelData (pixelFormat, width, height, false);\r
-        memcpy (im->imageDataHolder->data, imageDataHolder->data, (size_t) (lineStride * height));\r
+        memcpy (im->imageData->data, imageData->data, (size_t) (lineStride * height));\r
         return *im;\r
     }\r
 \r
@@ -98,12 +98,9 @@ public:
         auto cgim = dynamic_cast<CoreGraphicsPixelData*> (juceImage.getPixelData());\r
 \r
         if (cgim != nullptr && cgim->cachedImageRef != nullptr)\r
-        {\r
-            CGImageRetain (cgim->cachedImageRef.get());\r
-            return cgim->cachedImageRef.get();\r
-        }\r
+            return CGImageRetain (cgim->cachedImageRef.get());\r
 \r
-        CGImageRef ref = createImage (juceImage, colourSpace, false);\r
+        CGImageRef ref = createImage (juceImage, colourSpace);\r
 \r
         if (cgim != nullptr)\r
             cgim->cachedImageRef.reset (CGImageRetain (ref));\r
@@ -111,33 +108,25 @@ public:
         return ref;\r
     }\r
 \r
-    static CGImageRef createImage (const Image& juceImage, CGColorSpaceRef colourSpace, bool mustOutliveSource)\r
+    static CGImageRef createImage (const Image& juceImage, CGColorSpaceRef colourSpace)\r
     {\r
         const Image::BitmapData srcData (juceImage, Image::BitmapData::readOnly);\r
         detail::DataProviderPtr provider;\r
 \r
-        if (mustOutliveSource)\r
+        if (auto* cgim = dynamic_cast<CoreGraphicsPixelData*> (juceImage.getPixelData()))\r
+        {\r
+            provider = detail::DataProviderPtr { CGDataProviderCreateWithData (new ImageDataContainer::Ptr (cgim->imageData),\r
+                                                                               srcData.data,\r
+                                                                               (size_t) srcData.lineStride * (size_t) srcData.height,\r
+                                                                               [] (void * __nullable info, const void*, size_t) { delete (ImageDataContainer::Ptr*) info; }) };\r
+        }\r
+        else\r
         {\r
             CFUniquePtr<CFDataRef> data (CFDataCreate (nullptr,\r
                                                        (const UInt8*) srcData.data,\r
                                                        (CFIndex) ((size_t) srcData.lineStride * (size_t) srcData.height)));\r
             provider = detail::DataProviderPtr { CGDataProviderCreateWithCFData (data.get()) };\r
         }\r
-        else\r
-        {\r
-            auto* imageDataContainer = [] (const Image& img) -> HeapBlockContainer::Ptr*\r
-            {\r
-                if (auto* cgim = dynamic_cast<CoreGraphicsPixelData*> (img.getPixelData()))\r
-                    return new HeapBlockContainer::Ptr (cgim->imageDataHolder);\r
-\r
-                return nullptr;\r
-            } (juceImage);\r
-\r
-            provider = detail::DataProviderPtr { CGDataProviderCreateWithData (imageDataContainer,\r
-                                                                               srcData.data,\r
-                                                                               (size_t) srcData.lineStride * (size_t) srcData.height,\r
-                                                                               [] (void * __nullable info, const void*, size_t) { delete (HeapBlockContainer::Ptr*) info; }) };\r
-        }\r
 \r
         CGImageRef imageRef = CGImageCreate ((size_t) srcData.width,\r
                                              (size_t) srcData.height,\r
@@ -154,13 +143,15 @@ public:
     detail::ContextPtr context;\r
     detail::ImagePtr cachedImageRef;\r
 \r
-    struct HeapBlockContainer   : public ReferenceCountedObject\r
+    struct ImageDataContainer   : public ReferenceCountedObject\r
     {\r
-        using Ptr = ReferenceCountedObjectPtr<HeapBlockContainer>;\r
+        ImageDataContainer() = default;\r
+\r
+        using Ptr = ReferenceCountedObjectPtr<ImageDataContainer>;\r
         HeapBlock<uint8> data;\r
     };\r
 \r
-    HeapBlockContainer::Ptr imageDataHolder = new HeapBlockContainer();\r
+    ImageDataContainer::Ptr imageData = new ImageDataContainer();\r
     int pixelStride, lineStride;\r
 \r
 private:\r
@@ -329,7 +320,7 @@ void CoreGraphicsContext::clipToImageAlpha (const Image& sourceImage, const Affi
         if (sourceImage.getFormat() != Image::SingleChannel)\r
             singleChannelImage = sourceImage.convertedToFormat (Image::SingleChannel);\r
 \r
-        auto image = detail::ImagePtr { CoreGraphicsPixelData::createImage (singleChannelImage, greyColourSpace.get(), true) };\r
+        auto image = detail::ImagePtr { CoreGraphicsPixelData::createImage (singleChannelImage, greyColourSpace.get()) };\r
 \r
         flip();\r
         auto t = AffineTransform::verticalFlip (sourceImage.getHeight()).followedBy (transform);\r
@@ -899,10 +890,9 @@ Image juce_createImageFromCIImage (CIImage* im, int w, int h)
     return Image (*cgImage);\r
 }\r
 \r
-CGImageRef juce_createCoreGraphicsImage (const Image& juceImage, CGColorSpaceRef colourSpace,\r
-                                         const bool mustOutliveSource)\r
+CGImageRef juce_createCoreGraphicsImage (const Image& juceImage, CGColorSpaceRef colourSpace)\r
 {\r
-    return CoreGraphicsPixelData::createImage (juceImage, colourSpace, mustOutliveSource);\r
+    return CoreGraphicsPixelData::createImage (juceImage, colourSpace);\r
 }\r
 \r
 CGContextRef juce_getImageContext (const Image& image)\r
@@ -941,7 +931,7 @@ CGContextRef juce_getImageContext (const Image& image)
 \r
          [im setSize: requiredSize];\r
          detail::ColorSpacePtr colourSpace { CGColorSpaceCreateWithName (kCGColorSpaceSRGB) };\r
-         detail::ImagePtr imageRef { juce_createCoreGraphicsImage (image, colourSpace.get(), true) };\r
+         detail::ImagePtr imageRef { juce_createCoreGraphicsImage (image, colourSpace.get()) };\r
 \r
          NSBitmapImageRep* imageRep = [[NSBitmapImageRep alloc] initWithCGImage: imageRef.get()];\r
          [imageRep setSize: requiredSize];\r
index 89c9cf99fea498b410696be6576f8d3449eed413..424a608b4adf9d7b56f96c1a882ae3a360b9a727 100644 (file)
@@ -94,7 +94,7 @@ namespace
    #endif\r
 }\r
 \r
-CGImageRef juce_createCoreGraphicsImage (const Image&, CGColorSpaceRef, bool mustOutliveSource);\r
+CGImageRef juce_createCoreGraphicsImage (const Image&, CGColorSpaceRef);\r
 CGContextRef juce_getImageContext (const Image&);\r
 \r
 #if JUCE_IOS\r
index 445a41c133943a4a5f6a1bfc1ce6b4296dce8c84..09c618605a0c0c04c52734ea89bc9c3d03ca384a 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_gui_basics\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE GUI core classes\r
   description:        Basic user-interface components and related classes.\r
   website:            http://www.juce.com/juce\r
index ab2618a9898715a04a0dedb7ac8fd6900e920289..6295b0a51c210ccb04c3a88df9315fa815502e64 100644 (file)
@@ -1598,6 +1598,11 @@ public:
     SliderLabelComp() : Label ({}, {}) {}\r
 \r
     void mouseWheelMove (const MouseEvent&, const MouseWheelDetails&) override {}\r
+\r
+    std::unique_ptr<AccessibilityHandler> createAccessibilityHandler() override\r
+    {\r
+        return createIgnoredAccessibilityHandler (*this);\r
+    }\r
 };\r
 \r
 Label* LookAndFeel_V2::createSliderTextBox (Slider& slider)\r
index 6598f1a6dcb29e61ee44155cc7222bfecee1059f..d351642fda95a39dcd3d02ea121d629b4d06e2e7 100644 (file)
@@ -535,9 +535,10 @@ public:
         {\r
             // need to set a dummy represented file here to show the file icon (which we then set to the new icon)\r
             if (! windowRepresentsFile)\r
-                [window setRepresentedFilename:juceStringToNS (" ")]; // can't just use an empty string for some reason...\r
+                [window setRepresentedFilename: juceStringToNS (" ")]; // can't just use an empty string for some reason...\r
 \r
-            [[window standardWindowButton:NSWindowDocumentIconButton] setImage:imageToNSImage (ScaledImage (newIcon))];\r
+            auto img = NSUniquePtr<NSImage> { imageToNSImage (ScaledImage (newIcon)) };\r
+            [[window standardWindowButton: NSWindowDocumentIconButton] setImage: img.get()];\r
         }\r
     }\r
 \r
@@ -925,7 +926,7 @@ public:
                 }\r
 \r
                 detail::ColorSpacePtr colourSpace { CGColorSpaceCreateWithName (kCGColorSpaceSRGB) };\r
-                CGImageRef image = juce_createCoreGraphicsImage (temp, colourSpace.get(), false);\r
+                CGImageRef image = juce_createCoreGraphicsImage (temp, colourSpace.get());\r
                 CGContextConcatCTM (cg, CGAffineTransformMake (1, 0, 0, -1, r.origin.x, r.origin.y + clipH));\r
                 CGContextDrawImage (cg, CGRectMake (0.0f, 0.0f, clipW, clipH), image);\r
                 CGImageRelease (image);\r
index 3b0c6dd3ff6b28b51fe71200f3e633352e9dac5b..ea0c256b209564f1945a15d718a6cd74344b57b6 100644 (file)
@@ -4033,7 +4033,9 @@ private:
             return false;\r
 \r
         if (auto* current = Component::getCurrentlyModalComponent())\r
-            current->inputAttemptWhenModal();\r
+            if (auto* owner = getOwnerOfWindow ((HWND) current->getWindowHandle()))\r
+                if (! owner->shouldIgnoreModalDismiss)\r
+                    current->inputAttemptWhenModal();\r
 \r
         return true;\r
     }\r
index d5d03ce29a1c8be002657afd8fb9d8e89ae3358e..efe17046a3aaeaad8c16c90826cca5fac404d507 100644 (file)
@@ -27,11 +27,11 @@ namespace juce
 {\r
 \r
 //==============================================================================\r
-class ChoicePropertyComponent::RemapperValueSource    : public Value::ValueSource,\r
-                                                        private Value::Listener\r
+class ChoiceRemapperValueSource  : public Value::ValueSource,\r
+                                   private Value::Listener\r
 {\r
 public:\r
-    RemapperValueSource (const Value& source, const Array<var>& map)\r
+    ChoiceRemapperValueSource (const Value& source, const Array<var>& map)\r
        : sourceValue (source),\r
          mappings (map)\r
     {\r
@@ -64,17 +64,17 @@ protected:
     void valueChanged (Value&) override    { sendChangeMessage (true); }\r
 \r
     //==============================================================================\r
-    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (RemapperValueSource)\r
+    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChoiceRemapperValueSource)\r
 };\r
 \r
 //==============================================================================\r
-class ChoicePropertyComponent::RemapperValueSourceWithDefault    : public Value::ValueSource,\r
-                                                                   private Value::Listener\r
+class ChoiceRemapperValueSourceWithDefault  : public Value::ValueSource,\r
+                                              private Value::Listener\r
 {\r
 public:\r
-    RemapperValueSourceWithDefault (ValueWithDefault* vwd, const Array<var>& map)\r
-        : valueWithDefault (vwd),\r
-          sourceValue (valueWithDefault->getPropertyAsValue()),\r
+    ChoiceRemapperValueSourceWithDefault (const ValueTreePropertyWithDefault& v, const Array<var>& map)\r
+        : value (v),\r
+          sourceValue (value.getPropertyAsValue()),\r
           mappings (map)\r
     {\r
         sourceValue.addListener (this);\r
@@ -82,7 +82,7 @@ public:
 \r
     var getValue() const override\r
     {\r
-        if (valueWithDefault != nullptr && ! valueWithDefault->isUsingDefault())\r
+        if (! value.isUsingDefault())\r
         {\r
             const auto target = sourceValue.getValue();\r
             const auto equalsWithSameType = [&target] (const var& map) { return map.equalsWithSameType (target); };\r
@@ -101,33 +101,30 @@ public:
 \r
     void setValue (const var& newValue) override\r
     {\r
-        if (valueWithDefault == nullptr)\r
-            return;\r
-\r
         auto newValueInt = static_cast<int> (newValue);\r
 \r
         if (newValueInt == -1)\r
         {\r
-            valueWithDefault->resetToDefault();\r
+            value.resetToDefault();\r
         }\r
         else\r
         {\r
             auto remappedVal = mappings [newValueInt - 1];\r
 \r
             if (! remappedVal.equalsWithSameType (sourceValue))\r
-                *valueWithDefault = remappedVal;\r
+                value = remappedVal;\r
         }\r
     }\r
 \r
 private:\r
     void valueChanged (Value&) override { sendChangeMessage (true); }\r
 \r
-    WeakReference<ValueWithDefault> valueWithDefault;\r
+    ValueTreePropertyWithDefault value;\r
     Value sourceValue;\r
     Array<var> mappings;\r
 \r
     //==============================================================================\r
-    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (RemapperValueSourceWithDefault)\r
+    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChoiceRemapperValueSourceWithDefault)\r
 };\r
 \r
 //==============================================================================\r
@@ -155,23 +152,23 @@ ChoicePropertyComponent::ChoicePropertyComponent (const Value& valueToControl,
     : ChoicePropertyComponent (name, choiceList, correspondingValues)\r
 {\r
     refreshChoices();\r
-    initialiseComboBox (Value (new RemapperValueSource (valueToControl, correspondingValues)));\r
+    initialiseComboBox (Value (new ChoiceRemapperValueSource (valueToControl, correspondingValues)));\r
 }\r
 \r
-ChoicePropertyComponent::ChoicePropertyComponent (ValueWithDefault& valueToControl,\r
+ChoicePropertyComponent::ChoicePropertyComponent (const ValueTreePropertyWithDefault& valueToControl,\r
                                                   const String& name,\r
                                                   const StringArray& choiceList,\r
                                                   const Array<var>& correspondingValues)\r
     : ChoicePropertyComponent (name, choiceList, correspondingValues)\r
 {\r
-    valueWithDefault = &valueToControl;\r
+    value = valueToControl;\r
 \r
-    auto getDefaultString = [this, correspondingValues] { return choices [correspondingValues.indexOf (valueWithDefault->getDefault())]; };\r
+    auto getDefaultString = [this, correspondingValues] { return choices [correspondingValues.indexOf (value.getDefault())]; };\r
 \r
     refreshChoices (getDefaultString());\r
-    initialiseComboBox (Value (new RemapperValueSourceWithDefault (valueWithDefault, correspondingValues)));\r
+    initialiseComboBox (Value (new ChoiceRemapperValueSourceWithDefault (value, correspondingValues)));\r
 \r
-    valueWithDefault->onDefaultChange = [this, getDefaultString]\r
+    value.onDefaultChange = [this, getDefaultString]\r
     {\r
         auto selectedId = comboBox.getSelectedId();\r
         refreshChoices (getDefaultString());\r
@@ -179,19 +176,19 @@ ChoicePropertyComponent::ChoicePropertyComponent (ValueWithDefault& valueToContr
     };\r
 }\r
 \r
-ChoicePropertyComponent::ChoicePropertyComponent (ValueWithDefault& valueToControl,\r
+ChoicePropertyComponent::ChoicePropertyComponent (const ValueTreePropertyWithDefault& valueToControl,\r
                                                   const String& name)\r
     : PropertyComponent (name),\r
       choices ({ "Enabled", "Disabled" })\r
 {\r
-    valueWithDefault = &valueToControl;\r
+    value = valueToControl;\r
 \r
-    auto getDefaultString = [this] { return valueWithDefault->getDefault() ? "Enabled" : "Disabled"; };\r
+    auto getDefaultString = [this] { return value.getDefault() ? "Enabled" : "Disabled"; };\r
 \r
     refreshChoices (getDefaultString());\r
-    initialiseComboBox (Value (new RemapperValueSourceWithDefault (valueWithDefault, { true, false })));\r
+    initialiseComboBox (Value (new ChoiceRemapperValueSourceWithDefault (value, { true, false })));\r
 \r
-    valueWithDefault->onDefaultChange = [this, getDefaultString]\r
+    value.onDefaultChange = [this, getDefaultString]\r
     {\r
         auto selectedId = comboBox.getSelectedId();\r
         refreshChoices (getDefaultString());\r
@@ -199,12 +196,6 @@ ChoicePropertyComponent::ChoicePropertyComponent (ValueWithDefault& valueToContr
     };\r
 }\r
 \r
-ChoicePropertyComponent::~ChoicePropertyComponent()\r
-{\r
-    if (valueWithDefault != nullptr)\r
-        valueWithDefault->onDefaultChange = nullptr;\r
-}\r
-\r
 //==============================================================================\r
 void ChoicePropertyComponent::initialiseComboBox (const Value& v)\r
 {\r
index 4b1ee39ef159db0bb154bdbc46cf67f7222a083b..d616ce15166cffcf16a52312bc91ba5c8d4e49f1 100644 (file)
@@ -79,34 +79,30 @@ public:
                              const StringArray& choices,\r
                              const Array<var>& correspondingValues);\r
 \r
-    /** Creates the component using a ValueWithDefault object. This will add an item to the ComboBox for the\r
+    /** Creates the component using a ValueTreePropertyWithDefault object. This will add an item to the ComboBox for the\r
         default value with an ID of -1.\r
 \r
-        @param valueToControl       the ValueWithDefault object that contains the Value object that the combo box will read and control.\r
+        @param valueToControl       the ValueTreePropertyWithDefault object that contains the Value object that the combo box will read and control.\r
         @param propertyName         the name of the property\r
         @param choices              the list of possible values that the drop-down list will contain\r
         @param correspondingValues  a list of values corresponding to each item in the 'choices' StringArray.\r
                                     These are the values that will be read and written to the\r
                                     valueToControl value. This array must contain the same number of items\r
                                     as the choices array\r
-\r
     */\r
-    ChoicePropertyComponent (ValueWithDefault& valueToControl,\r
+    ChoicePropertyComponent (const ValueTreePropertyWithDefault& valueToControl,\r
                              const String& propertyName,\r
                              const StringArray& choices,\r
                              const Array<var>& correspondingValues);\r
 \r
-    /** Creates the component using a ValueWithDefault object, adding an item to the ComboBox for the\r
+    /** Creates the component using a ValueTreePropertyWithDefault object, adding an item to the ComboBox for the\r
         default value with an ID of -1 as well as adding separate "Enabled" and "Disabled" options.\r
 \r
         This is useful for simple on/off choices that also need a default value.\r
     */\r
-    ChoicePropertyComponent (ValueWithDefault& valueToControl,\r
+    ChoicePropertyComponent (const ValueTreePropertyWithDefault& valueToControl,\r
                              const String& propertyName);\r
 \r
-    /** Destructor. */\r
-    ~ChoicePropertyComponent() override;\r
-\r
     //==============================================================================\r
     /** Called when the user selects an item from the combo box.\r
 \r
@@ -138,10 +134,6 @@ protected:
     StringArray choices;\r
 \r
 private:\r
-    //==============================================================================\r
-    class RemapperValueSource;\r
-    class RemapperValueSourceWithDefault;\r
-\r
     //==============================================================================\r
     void initialiseComboBox (const Value&);\r
     void refreshChoices();\r
@@ -150,11 +142,10 @@ private:
     void changeIndex();\r
 \r
     //==============================================================================\r
+    ValueTreePropertyWithDefault value;\r
     ComboBox comboBox;\r
     bool isCustomClass = false;\r
 \r
-    WeakReference<ValueWithDefault> valueWithDefault;\r
-\r
     //==============================================================================\r
     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChoicePropertyComponent)\r
 };\r
index 2fe93e39ea33703c746a967faad160b0771de7db..e8a872a5a058dc36c224615f86a8e4bb040e8aa9 100644 (file)
@@ -111,10 +111,11 @@ class MultiChoicePropertyComponent::MultiChoiceRemapperSourceWithDefault    : pu
                                                                               private Value::Listener\r
 {\r
 public:\r
-    MultiChoiceRemapperSourceWithDefault (ValueWithDefault* vwd, var v, int c, ToggleButton* b)\r
-        : valueWithDefault (vwd),\r
+    MultiChoiceRemapperSourceWithDefault (const ValueTreePropertyWithDefault& val,\r
+                                          var v, int c, ToggleButton* b)\r
+        : value (val),\r
           varToControl (v),\r
-          sourceValue (valueWithDefault->getPropertyAsValue()),\r
+          sourceValue (value.getPropertyAsValue()),\r
           maxChoices (c),\r
           buttonToControl (b)\r
     {\r
@@ -123,16 +124,13 @@ public:
 \r
     var getValue() const override\r
     {\r
-        if (valueWithDefault == nullptr)\r
-            return {};\r
-\r
-        auto v = valueWithDefault->get();\r
+        auto v = value.get();\r
 \r
         if (auto* arr = v.getArray())\r
         {\r
             if (arr->contains (varToControl))\r
             {\r
-                updateButtonTickColour (buttonToControl, valueWithDefault->isUsingDefault());\r
+                updateButtonTickColour (buttonToControl, value.isUsingDefault());\r
                 return true;\r
             }\r
         }\r
@@ -142,14 +140,11 @@ public:
 \r
     void setValue (const var& newValue) override\r
     {\r
-        if (valueWithDefault == nullptr)\r
-            return;\r
-\r
-        auto v = valueWithDefault->get();\r
+        auto v = value.get();\r
 \r
         OptionalScopedPointer<Array<var>> arrayToControl;\r
 \r
-        if (valueWithDefault->isUsingDefault())\r
+        if (value.isUsingDefault())\r
             arrayToControl.set (new Array<var>(), true); // use an empty array so the default values are overwritten\r
         else\r
             arrayToControl.set (v.getArray(), false);\r
@@ -160,7 +155,7 @@ public:
 \r
             bool newState = newValue;\r
 \r
-            if (valueWithDefault->isUsingDefault())\r
+            if (value.isUsingDefault())\r
             {\r
                 if (auto* defaultArray = v.getArray())\r
                 {\r
@@ -182,10 +177,10 @@ public:
             StringComparator c;\r
             temp.sort (c);\r
 \r
-            *valueWithDefault = temp;\r
+            value = temp;\r
 \r
             if (temp.size() == 0)\r
-                valueWithDefault->resetToDefault();\r
+                value.resetToDefault();\r
         }\r
     }\r
 \r
@@ -194,7 +189,7 @@ private:
     void valueChanged (Value&) override { sendChangeMessage (true); }\r
 \r
     //==============================================================================\r
-    WeakReference<ValueWithDefault> valueWithDefault;\r
+    ValueTreePropertyWithDefault value;\r
     var varToControl;\r
     Value sourceValue;\r
 \r
@@ -215,7 +210,7 @@ int MultiChoicePropertyComponent::getTotalButtonsHeight (int numButtons)
 MultiChoicePropertyComponent::MultiChoicePropertyComponent (const String& propertyName,\r
                                                             const StringArray& choices,\r
                                                             const Array<var>& correspondingValues)\r
-: PropertyComponent (propertyName, jmin (getTotalButtonsHeight (choices.size()), collapsedHeight))\r
+    : PropertyComponent (propertyName, jmin (getTotalButtonsHeight (choices.size()), collapsedHeight))\r
 {\r
     // The array of corresponding values must contain one value for each of the items in\r
     // the choices array!\r
@@ -261,31 +256,25 @@ MultiChoicePropertyComponent::MultiChoicePropertyComponent (const Value& valueTo
                                                                                                maxChoices)));\r
 }\r
 \r
-MultiChoicePropertyComponent::MultiChoicePropertyComponent (ValueWithDefault& valueToControl,\r
+MultiChoicePropertyComponent::MultiChoicePropertyComponent (const ValueTreePropertyWithDefault& valueToControl,\r
                                                             const String& propertyName,\r
                                                             const StringArray& choices,\r
                                                             const Array<var>& correspondingValues,\r
                                                             int maxChoices)\r
     : MultiChoicePropertyComponent (propertyName, choices, correspondingValues)\r
 {\r
-    valueWithDefault = &valueToControl;\r
+    value = valueToControl;\r
 \r
     // The value to control must be an array!\r
-    jassert (valueWithDefault->get().isArray());\r
+    jassert (value.get().isArray());\r
 \r
     for (int i = 0; i < choiceButtons.size(); ++i)\r
-        choiceButtons[i]->getToggleStateValue().referTo (Value (new MultiChoiceRemapperSourceWithDefault (valueWithDefault,\r
+        choiceButtons[i]->getToggleStateValue().referTo (Value (new MultiChoiceRemapperSourceWithDefault (value,\r
                                                                                                           correspondingValues[i],\r
                                                                                                           maxChoices,\r
                                                                                                           choiceButtons[i])));\r
 \r
-    valueWithDefault->onDefaultChange = [this] { repaint(); };\r
-}\r
-\r
-MultiChoicePropertyComponent::~MultiChoicePropertyComponent()\r
-{\r
-    if (valueWithDefault != nullptr)\r
-        valueWithDefault->onDefaultChange = nullptr;\r
+    value.onDefaultChange = [this] { repaint(); };\r
 }\r
 \r
 void MultiChoicePropertyComponent::paint (Graphics& g)\r
@@ -361,13 +350,10 @@ void MultiChoicePropertyComponent::lookAndFeelChanged()
     auto iconColour = findColour (TextEditor::backgroundColourId).contrasting();\r
     expandButton.setColours (iconColour, iconColour.darker(), iconColour.darker());\r
 \r
-    if (valueWithDefault != nullptr)\r
-    {\r
-        auto usingDefault = valueWithDefault->isUsingDefault();\r
+    const auto usingDefault = value.isUsingDefault();\r
 \r
-        for (auto* button : choiceButtons)\r
-            updateButtonTickColour (button, usingDefault);\r
-    }\r
+    for (auto* button : choiceButtons)\r
+        updateButtonTickColour (button, usingDefault);\r
 }\r
 \r
 } // namespace juce\r
index 168ad9b6bd70fed75aa987dc03816fb538ff46bc..a26d31740d7a255ea805e364a99b645b5d5a2091 100644 (file)
@@ -63,9 +63,9 @@ public:
                                   const Array<var>& correspondingValues,\r
                                   int maxChoices = -1);\r
 \r
-    /** Creates the component using a ValueWithDefault object. This will select the default options.\r
+    /** Creates the component using a ValueTreePropertyWithDefault object. This will select the default options.\r
 \r
-        @param valueToControl       the ValueWithDefault object that contains the Value object that the ToggleButtons will read and control.\r
+        @param valueToControl       the ValueTreePropertyWithDefault object that contains the Value object that the ToggleButtons will read and control.\r
         @param propertyName         the name of the property\r
         @param choices              the list of possible values that will be represented\r
         @param correspondingValues  a list of values corresponding to each item in the 'choices' StringArray.\r
@@ -75,14 +75,12 @@ public:
         @param maxChoices           the maximum number of values which can be selected at once. The default of\r
                                     -1 will not limit the number that can be selected\r
     */\r
-    MultiChoicePropertyComponent (ValueWithDefault& valueToControl,\r
+    MultiChoicePropertyComponent (const ValueTreePropertyWithDefault& valueToControl,\r
                                   const String& propertyName,\r
                                   const StringArray& choices,\r
                                   const Array<var>& correspondingValues,\r
                                   int maxChoices = -1);\r
 \r
-    ~MultiChoicePropertyComponent() override;\r
-\r
     //==============================================================================\r
     /** Returns true if the list of options is expanded. */\r
     bool isExpanded() const noexcept    { return expanded; }\r
@@ -100,7 +98,11 @@ public:
     */\r
     void setExpanded (bool expanded) noexcept;\r
 \r
-    /** You can assign a lambda to this callback object to have it called when the MultiChoicePropertyComponent height changes. */\r
+    /** You can assign a lambda to this callback object to have it called when the\r
+        height of this component changes in response to being expanded/collapsed.\r
+\r
+        @see setExpanded\r
+    */\r
     std::function<void()> onHeightChange;\r
 \r
     //==============================================================================\r
@@ -121,8 +123,6 @@ private:
     void lookAndFeelChanged() override;\r
 \r
     //==============================================================================\r
-    WeakReference<ValueWithDefault> valueWithDefault;\r
-\r
     static constexpr int collapsedHeight = 125;\r
     static constexpr int buttonHeight = 25;\r
     static constexpr int expandAreaHeight = 20;\r
@@ -130,6 +130,7 @@ private:
     int maxHeight = 0, numHidden = 0;\r
     bool expandable = false, expanded = false;\r
 \r
+    ValueTreePropertyWithDefault value;\r
     OwnedArray<ToggleButton> choiceButtons;\r
     ShapeButton expandButton { "Expand", Colours::transparentBlack, Colours::transparentBlack, Colours::transparentBlack };\r
 \r
index fdc99d91387c3d181768f4a34ce139aeb7b257da..08c8ad93db9491ddb3b621f4d4941da9ddee8f3f 100644 (file)
@@ -120,38 +120,38 @@ private:
 };\r
 \r
 //==============================================================================\r
-class TextPropertyComponent::RemapperValueSourceWithDefault    : public Value::ValueSource\r
+class TextRemapperValueSourceWithDefault  : public Value::ValueSource\r
 {\r
 public:\r
-    RemapperValueSourceWithDefault (ValueWithDefault* vwd)\r
-        : valueWithDefault (vwd)\r
+    TextRemapperValueSourceWithDefault (const ValueTreePropertyWithDefault& v)\r
+        : value (v)\r
     {\r
     }\r
 \r
     var getValue() const override\r
     {\r
-        if (valueWithDefault == nullptr || valueWithDefault->isUsingDefault())\r
+        if (value.isUsingDefault())\r
             return {};\r
 \r
-        return valueWithDefault->get();\r
+        return value.get();\r
     }\r
 \r
     void setValue (const var& newValue) override\r
     {\r
-        if (valueWithDefault == nullptr)\r
+        if (newValue.toString().isEmpty())\r
+        {\r
+            value.resetToDefault();\r
             return;\r
+        }\r
 \r
-        if (newValue.toString().isEmpty())\r
-            valueWithDefault->resetToDefault();\r
-        else\r
-            *valueWithDefault = newValue;\r
+        value = newValue;\r
     }\r
 \r
 private:\r
-    WeakReference<ValueWithDefault> valueWithDefault;\r
+    ValueTreePropertyWithDefault value;\r
 \r
     //==============================================================================\r
-    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (RemapperValueSourceWithDefault)\r
+    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TextRemapperValueSourceWithDefault)\r
 };\r
 \r
 //==============================================================================\r
@@ -172,27 +172,23 @@ TextPropertyComponent::TextPropertyComponent (const Value& valueToControl, const
     textEditor->getTextValue().referTo (valueToControl);\r
 }\r
 \r
-TextPropertyComponent::TextPropertyComponent (ValueWithDefault& valueToControl, const String& name,\r
+TextPropertyComponent::TextPropertyComponent (const ValueTreePropertyWithDefault& valueToControl, const String& name,\r
                                               int maxNumChars, bool multiLine, bool isEditable)\r
     : TextPropertyComponent (name, maxNumChars, multiLine, isEditable)\r
 {\r
-    valueWithDefault = &valueToControl;\r
+    value = valueToControl;\r
 \r
-    textEditor->getTextValue().referTo (Value (new RemapperValueSourceWithDefault (valueWithDefault)));\r
-    textEditor->setTextToDisplayWhenEmpty (valueWithDefault->getDefault(), 0.5f);\r
+    textEditor->getTextValue().referTo (Value (new TextRemapperValueSourceWithDefault (value)));\r
+    textEditor->setTextToDisplayWhenEmpty (value.getDefault(), 0.5f);\r
 \r
-    valueWithDefault->onDefaultChange = [this]\r
+    value.onDefaultChange = [this]\r
     {\r
-        textEditor->setTextToDisplayWhenEmpty (valueWithDefault->getDefault(), 0.5f);\r
+        textEditor->setTextToDisplayWhenEmpty (value.getDefault(), 0.5f);\r
         repaint();\r
     };\r
 }\r
 \r
-TextPropertyComponent::~TextPropertyComponent()\r
-{\r
-    if (valueWithDefault != nullptr)\r
-        valueWithDefault->onDefaultChange = nullptr;\r
-}\r
+TextPropertyComponent::~TextPropertyComponent()  {}\r
 \r
 void TextPropertyComponent::setText (const String& newText)\r
 {\r
index e0b0292f962bf7325995b367f46b054ffd57b4de..5f3fe448a00db2becdab5a62a7e5a113b18d1ccc 100644 (file)
@@ -73,7 +73,7 @@ public:
 \r
     /** Creates a text property component with a default value.\r
 \r
-        @param valueToControl The ValueWithDefault that is controlled by the TextPropertyComponent.\r
+        @param valueToControl The ValueTreePropertyWithDefault that is controlled by the TextPropertyComponent.\r
         @param propertyName   The name of the property\r
         @param maxNumChars    If not zero, then this specifies the maximum allowable length of\r
                               the string. If zero, then the string will have no length limit.\r
@@ -82,13 +82,12 @@ public:
 \r
         @see TextEditor, setEditable\r
     */\r
-    TextPropertyComponent (ValueWithDefault& valueToControl,\r
+    TextPropertyComponent (const ValueTreePropertyWithDefault& valueToControl,\r
                            const String& propertyName,\r
                            int maxNumChars,\r
                            bool isMultiLine,\r
                            bool isEditable = true);\r
 \r
-    /** Destructor. */\r
     ~TextPropertyComponent() override;\r
 \r
     //==============================================================================\r
@@ -167,22 +166,19 @@ public:
     virtual void textWasEdited();\r
 \r
 private:\r
-    class RemapperValueSourceWithDefault;\r
-    class LabelComp;\r
-    friend class LabelComp;\r
-\r
     //==============================================================================\r
     void callListeners();\r
     void createEditor (int maxNumChars, bool isEditable);\r
 \r
     //==============================================================================\r
-    bool isMultiLine;\r
+    class LabelComp;\r
 \r
+    const bool isMultiLine;\r
+\r
+    ValueTreePropertyWithDefault value;\r
     std::unique_ptr<LabelComp> textEditor;\r
     ListenerList<Listener> listenerList;\r
 \r
-    WeakReference<ValueWithDefault> valueWithDefault;\r
-\r
     //==============================================================================\r
     JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TextPropertyComponent)\r
 };\r
index 6bf81244e451bec50a36633466253e293d2e5d6d..18c41641b6b152ff07066a28c2983699fdc165b3 100644 (file)
@@ -567,7 +567,6 @@ public:
             owner.addAndMakeVisible (valueBox.get());\r
 \r
             valueBox->setWantsKeyboardFocus (false);\r
-            valueBox->setAccessible (false);\r
             valueBox->setText (previousTextBoxContent, dontSendNotification);\r
             valueBox->setTooltip (owner.getTooltip());\r
             updateTextBoxEnablement();\r
index 2a8e77e340c2d1fca72cca87cc7eb4b198f0d3b6..3f633aee59c748603c605176436f7c08e1cd70a6 100644 (file)
@@ -232,7 +232,7 @@ public:
         If it does need saving it'll prompt the user, and if they say "discard changes" the\r
         callback will be called with savedOk, so again, you can safely delete the document.\r
 \r
-        If the user clicks "cancel", the callback will be aclled with userCancelledSave, so\r
+        If the user clicks "cancel", the callback will be called with userCancelledSave, so\r
         you can abort the close-document operation.\r
 \r
         And if they click "save changes", it'll try to save and the callback will be called\r
index 2c61fdc382a4fdf2ee6ced449c46dabf8f12fa9e..f3d89931c61707f60d125c2a9e246dcb9f281455 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_gui_extra\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE extended GUI classes\r
   description:        Miscellaneous GUI classes for specialised tasks.\r
   website:            http://www.juce.com/juce\r
index af34082a573b2e6e37869bd32a5e3d47e0f728d6..dc33b0c0cf91acd88f0b6d227f16dfe642232f21 100644 (file)
@@ -112,6 +112,11 @@ struct ButtonBasedStatusItem   : public StatusItemContainer
        #endif\r
     }\r
 \r
+    ~ButtonBasedStatusItem() override\r
+    {\r
+        [statusItem.get() button].image = nullptr;\r
+    }\r
+\r
     void configureIcon() override\r
     {\r
         [statusIcon.get() setTemplate: true];\r
index 754efb105ee372c6ed7473e57dcbf4fc201091ef..65782b849f9af4b427549b0798aa0fe50f1bf55d 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_opengl\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE OpenGL classes\r
   description:        Classes for rendering OpenGL in a JUCE window.\r
   website:            http://www.juce.com/juce\r
index d4129a0abc9cc917faa618793930479c49014698..fce1b7634210ebd2cf955414d98a53d6714ee4af 100644 (file)
@@ -117,8 +117,12 @@ public:
     {\r
         if (nativeContext != nullptr)\r
         {\r
+           #if JUCE_MAC\r
+            cvDisplayLinkWrapper = std::make_unique<CVDisplayLinkWrapper> (*this);\r
+            cvDisplayLinkWrapper->updateActiveDisplay();\r
+           #endif\r
+\r
             renderThread = std::make_unique<ThreadPool> (1);\r
-            renderThread->setThreadPriorities (9);\r
             resume();\r
         }\r
     }\r
@@ -143,6 +147,10 @@ public:
             renderThread.reset();\r
         }\r
 \r
+       #if JUCE_MAC\r
+        cvDisplayLinkWrapper = nullptr;\r
+       #endif\r
+\r
         hasInitialised = false;\r
     }\r
 \r
@@ -588,8 +596,7 @@ public:
             context.renderer->newOpenGLContextCreated();\r
 \r
        #if JUCE_MAC\r
-        cvDisplayLinkWrapper = std::make_unique<CVDisplayLinkWrapper> (*this);\r
-        cvDisplayLinkWrapper->updateActiveDisplay();\r
+        jassert (cvDisplayLinkWrapper != nullptr);\r
         nativeContext->setNominalVideoRefreshPeriodS (cvDisplayLinkWrapper->getNominalVideoRefreshPeriodS());\r
        #endif\r
 \r
@@ -598,10 +605,6 @@ public:
 \r
     void shutdownOnThread()\r
     {\r
-       #if JUCE_MAC\r
-        cvDisplayLinkWrapper = nullptr;\r
-       #endif\r
-\r
         if (context.renderer != nullptr)\r
             context.renderer->openGLContextClosing();\r
 \r
@@ -736,6 +739,8 @@ public:
 \r
     NSScreen* getCurrentScreen() const\r
     {\r
+        JUCE_ASSERT_MESSAGE_THREAD;\r
+\r
         if (auto* view = getCurrentView())\r
             if (auto* window = [view window])\r
                 return [window screen];\r
index 81c0e8c58445fa88801093f88bc4810a21a350d8..715e105d0c7cb4be3e3e64672acbd4cbb42721d1 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_osc\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE OSC classes\r
   description:        Open Sound Control implementation.\r
   website:            http://www.juce.com/juce\r
index 72bfd3a1cec6c6f061a43a9aa911d47fbf9b837b..fca551309ff3c1ed9e2b144cdaedfd35cbe6b0f9 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_product_unlocking\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE Online marketplace support\r
   description:        Classes for online product authentication\r
   website:            http://www.juce.com/juce\r
index 70247d0757708ea5b759430230a897dd732429b5..9ad6611065986548f6d4d3db0e0a993c04a74945 100644 (file)
@@ -35,7 +35,7 @@
 \r
   ID:                 juce_video\r
   vendor:             juce\r
-  version:            6.1.3\r
+  version:            6.1.4\r
   name:               JUCE video playback and capture classes\r
   description:        Classes for playing video and capturing camera input.\r
   website:            http://www.juce.com/juce\r