From 5f3287764b55cf48ece8e44c9dbedad7a27c2fab Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Wed, 11 Apr 2018 20:40:38 +0200 Subject: [PATCH] New upstream version 5.3.1~repack --- ChangeList.txt | 21 +- examples/Assets/DemoUtilities.h | 6 +- examples/Audio/AudioAppDemo.h | 2 +- examples/Audio/AudioLatencyDemo.h | 2 +- examples/Audio/AudioPlaybackDemo.h | 2 +- examples/Audio/AudioRecordingDemo.h | 2 +- examples/Audio/AudioSettingsDemo.h | 2 +- examples/Audio/AudioSynthesiserDemo.h | 2 +- examples/Audio/MPEDemo.h | 2 +- examples/Audio/MidiDemo.h | 8 +- examples/Audio/PluckedStringsDemo.h | 10 +- examples/Audio/SimpleFFTDemo.h | 10 +- examples/BLOCKS/BlocksDrawingDemo.h | 14 +- examples/BLOCKS/BlocksMonitorDemo.h | 23 +- examples/BLOCKS/BlocksSynthDemo.h | 12 +- examples/DSP/ConvolutionDemo.h | 2 +- examples/DSP/FIRFilterDemo.h | 2 +- examples/DSP/GainDemo.h | 2 +- examples/DSP/IIRFilterDemo.h | 2 +- examples/DSP/OscillatorDemo.h | 2 +- examples/DSP/OverdriveDemo.h | 2 +- examples/DSP/SIMDRegisterDemo.h | 2 +- examples/DSP/StateVariableFilterDemo.h | 2 +- examples/DSP/WaveShaperTanhDemo.h | 2 +- .../Builds/Android/app/CMakeLists.txt | 10 +- .../Builds/Android/app/build.gradle | 2 +- .../Android/app/src/main/AndroidManifest.xml | 2 +- .../app/src/main/assets/DemoUtilities.h | 6 +- .../com/roli/juce/demorunner/DemoRunner.java | 29 +- .../DemoRunner/Builds/Android/build.gradle | 5 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../DemoRunner/Builds/LinuxMakefile/Makefile | 4 +- .../DemoRunner.xcodeproj/project.pbxproj | 546 ++-- .../DemoRunner/Builds/MacOSX/Info-App.plist | 4 +- .../Builds/VisualStudio2013/DemoRunner.sln | 10 +- .../VisualStudio2013/DemoRunner_App.vcxproj | 16 +- .../DemoRunner_App.vcxproj.filters | 12 + .../Builds/VisualStudio2013/resources.rc | 6 +- .../Builds/VisualStudio2015/DemoRunner.sln | 10 +- .../VisualStudio2015/DemoRunner_App.vcxproj | 16 +- .../DemoRunner_App.vcxproj.filters | 12 + .../Builds/VisualStudio2015/resources.rc | 6 +- .../Builds/VisualStudio2017/DemoRunner.sln | 10 +- .../VisualStudio2017/DemoRunner_App.vcxproj | 16 +- .../DemoRunner_App.vcxproj.filters | 12 + .../Builds/VisualStudio2017/resources.rc | 6 +- .../iOS/DemoRunner.xcodeproj/project.pbxproj | 572 ++-- examples/DemoRunner/Builds/iOS/Info-App.plist | 4 +- examples/DemoRunner/DemoRunner.jucer | 7 +- .../DemoRunner/JuceLibraryCode/AppConfig.h | 4 + .../DemoRunner/JuceLibraryCode/JuceHeader.h | 4 +- .../DemoRunner/Source/Demos/DemoPIPs1.cpp | 2 +- .../DemoRunner/Source/Demos/JUCEDemos.cpp | 8 +- .../Source/UI/DemoContentComponent.cpp | 6 +- .../DemoRunner/Source/UI/MainComponent.cpp | 20 +- examples/DemoRunner/Source/UI/MainComponent.h | 4 - examples/GUI/AnimationAppDemo.h | 2 +- examples/GUI/AnimationDemo.h | 2 +- examples/GUI/BouncingBallWavetableDemo.h | 2 +- examples/GUI/CameraDemo.h | 2 +- examples/GUI/CodeEditorDemo.h | 2 +- examples/GUI/ComponentDemo.h | 2 +- examples/GUI/ComponentTransformsDemo.h | 2 +- examples/GUI/DialogsDemo.h | 2 +- examples/GUI/FlexBoxDemo.h | 2 +- examples/GUI/FontsDemo.h | 2 +- examples/GUI/GraphicsDemo.h | 2 +- examples/GUI/GridDemo.h | 2 +- examples/GUI/HelloWorldDemo.h | 2 +- examples/GUI/ImagesDemo.h | 2 +- examples/GUI/KeyMappingsDemo.h | 2 +- examples/GUI/LookAndFeelDemo.h | 2 +- examples/GUI/MDIDemo.h | 2 +- examples/GUI/MenusDemo.h | 2 +- examples/GUI/MultiTouchDemo.h | 2 +- examples/GUI/OpenGLAppDemo.h | 24 +- examples/GUI/OpenGLDemo.h | 2 +- examples/GUI/OpenGLDemo2D.h | 2 +- examples/GUI/PropertiesDemo.h | 53 +- examples/GUI/VideoDemo.h | 2 +- examples/GUI/WebBrowserDemo.h | 2 +- examples/GUI/WidgetsDemo.h | 2 +- examples/GUI/WindowsDemo.h | 2 +- examples/Plugins/AUv3SynthPluginDemo.h | 29 +- examples/Plugins/ArpeggiatorPluginDemo.h | 2 +- examples/Plugins/AudioPluginDemo.h | 2 +- examples/Plugins/DSPModulePluginDemo.h | 19 +- examples/Plugins/GainPluginDemo.h | 2 +- .../Plugins/InterAppAudioEffectPluginDemo.h | 4 +- examples/Plugins/MultiOutSynthPluginDemo.h | 9 +- examples/Plugins/NoiseGatePluginDemo.h | 2 +- examples/Plugins/SamplerPluginDemo.h | 219 +- examples/Plugins/SurroundPluginDemo.h | 2 +- examples/Utilities/AnalyticsCollectionDemo.h | 2 +- examples/Utilities/Box2DDemo.h | 2 +- examples/Utilities/ChildProcessDemo.h | 2 +- examples/Utilities/CryptographyDemo.h | 2 +- examples/Utilities/InAppPurchasesDemo.h | 31 +- examples/Utilities/JavaScriptDemo.h | 2 +- examples/Utilities/LiveConstantDemo.h | 2 +- examples/Utilities/MultithreadingDemo.h | 2 +- examples/Utilities/NetworkingDemo.h | 2 +- examples/Utilities/OSCDemo.h | 2 +- examples/Utilities/PushNotificationsDemo.h | 29 +- examples/Utilities/SimpleFFTDemo.h | 171 - examples/Utilities/SystemInfoDemo.h | 2 +- examples/Utilities/TimersAndEventsDemo.h | 2 +- examples/Utilities/UnitTestsDemo.h | 2 +- examples/Utilities/ValueTreesDemo.h | 2 +- examples/Utilities/XMLandJSONDemo.h | 2 +- .../AudioPerformanceTest.jucer | 2 +- .../Builds/Android/app/CMakeLists.txt | 8 + .../Builds/Android/app/build.gradle | 2 +- .../AudioPerformanceTest.java | 29 +- .../Builds/Android/build.gradle | 5 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../AudioPerformanceTest_App.vcxproj | 10 + .../AudioPerformanceTest_App.vcxproj.filters | 12 + .../JuceLibraryCode/AppConfig.h | 4 + extras/AudioPluginHost/AudioPluginHost.jucer | 131 +- .../Builds/Android/app/CMakeLists.txt | 2516 +++++++++++++++ .../Builds/Android/app/build.gradle | 94 + .../app/src/debug/res/values/string.xml | 5 + .../Android/app/src/main/AndroidManifest.xml | 24 + .../vending/billing/IInAppBillingService.java | 971 ++++++ .../roli/juce/pluginhost/AudioPluginHost.java | 2782 +++++++++++++++++ .../pluginhost/SharingContentProvider.java | 138 + .../app/src/main/res/drawable-hdpi/icon.png | Bin 0 -> 34761 bytes .../app/src/main/res/drawable-ldpi/icon.png | Bin 0 -> 15111 bytes .../app/src/main/res/drawable-mdpi/icon.png | Bin 0 -> 18428 bytes .../app/src/main/res/drawable-xhdpi/icon.png | Bin 0 -> 44823 bytes .../app/src/release/res/values/string.xml | 5 + .../Builds/Android/build.gradle | 16 + .../wrapper/LICENSE-for-gradlewrapper.txt | 202 ++ .../Android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes .../gradle/wrapper/gradle-wrapper.properties | 1 + extras/AudioPluginHost/Builds/Android/gradlew | 160 + .../Builds/Android/gradlew.bat | 90 + .../Builds/Android/settings.gradle | 1 + .../Builds/LinuxMakefile/Makefile | 38 +- .../AudioPluginHost.xcodeproj/project.pbxproj | 92 +- .../AudioPluginHost/Builds/MacOSX/Icon.icns | Bin 0 -> 89670 bytes .../Builds/MacOSX/Info-App.plist | 4 +- .../AudioPluginHost_App.vcxproj | 36 +- .../AudioPluginHost_App.vcxproj.filters | 81 +- .../Builds/VisualStudio2013/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2013/resources.rc | 3 + .../AudioPluginHost_App.vcxproj | 36 +- .../AudioPluginHost_App.vcxproj.filters | 81 +- .../Builds/VisualStudio2015/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2015/resources.rc | 3 + .../AudioPluginHost_App.vcxproj | 36 +- .../AudioPluginHost_App.vcxproj.filters | 81 +- .../Builds/VisualStudio2017/icon.ico | Bin 0 -> 33530 bytes .../Builds/VisualStudio2017/resources.rc | 3 + .../AudioPluginHost.xcodeproj/project.pbxproj | 398 +++ .../AppIcon.appiconset/Contents.json | 158 + .../AppIcon.appiconset/Icon-29.png | Bin 0 -> 1650 bytes .../AppIcon.appiconset/Icon-29@2x.png | Bin 0 -> 4395 bytes .../AppIcon.appiconset/Icon-29@3x.png | Bin 0 -> 6732 bytes .../AppIcon.appiconset/Icon-60@2x.png | Bin 0 -> 10478 bytes .../AppIcon.appiconset/Icon-72.png | Bin 0 -> 4708 bytes .../AppIcon.appiconset/Icon-72@2x.png | Bin 0 -> 9823 bytes .../AppIcon.appiconset/Icon-76.png | Bin 0 -> 5368 bytes .../AppIcon.appiconset/Icon-76@2x.png | Bin 0 -> 10888 bytes .../AppIcon.appiconset/Icon-83.5@2x.png | Bin 0 -> 12870 bytes .../AppIcon.appiconset/Icon-@3x.png | Bin 0 -> 14731 bytes .../AppIcon.appiconset/Icon-AppStore-1024.png | Bin 0 -> 49618 bytes .../Icon-Notification-20@2x.png | Bin 0 -> 2303 bytes .../Icon-Notification-20@3x.png | Bin 0 -> 4687 bytes .../Icon-Notifications-20.png | Bin 0 -> 912 bytes .../Icon-Notifications-20@2x.png | Bin 0 -> 2303 bytes .../AppIcon.appiconset/Icon-Small-1.png | Bin 0 -> 1650 bytes .../AppIcon.appiconset/Icon-Small-50.png | Bin 0 -> 3433 bytes .../AppIcon.appiconset/Icon-Small-50@2x.png | Bin 0 -> 8292 bytes .../AppIcon.appiconset/Icon-Small@2x-1.png | Bin 0 -> 4395 bytes .../AppIcon.appiconset/Icon-Spotlight-40.png | Bin 0 -> 2303 bytes .../Icon-Spotlight-40@2x-1.png | Bin 0 -> 5235 bytes .../Icon-Spotlight-40@2x.png | Bin 0 -> 5235 bytes .../Icon-Spotlight-40@3x.png | Bin 0 -> 10478 bytes .../AppIcon.appiconset/Icon.png | Bin 0 -> 4180 bytes .../AppIcon.appiconset/Icon@2x.png | Bin 0 -> 9928 bytes .../LaunchImage.launchimage/Contents.json | 57 + .../LaunchImage-ipad-landscape-1x.png | Bin 0 -> 4904 bytes .../LaunchImage-ipad-landscape-2x.png | Bin 0 -> 15969 bytes .../LaunchImage-ipad-portrait-1x.png | Bin 0 -> 5350 bytes .../LaunchImage-ipad-portrait-2x.png | Bin 0 -> 16897 bytes .../LaunchImage-iphone-2x.png | Bin 0 -> 4542 bytes .../LaunchImage-iphone-retina4.png | Bin 0 -> 5356 bytes extras/AudioPluginHost/Builds/iOS/Icon.icns | Bin 0 -> 89670 bytes .../AudioPluginHost/Builds/iOS/Info-App.plist | 48 + .../JuceLibraryCode/AppConfig.h | 8 +- .../JuceLibraryCode/BinaryData.cpp | 698 +++++ .../JuceLibraryCode/BinaryData.h | 30 + .../JuceLibraryCode/JuceHeader.h | 1 + .../Source/{ => Filters}/FilterGraph.cpp | 22 +- .../Source/{ => Filters}/FilterGraph.h | 4 +- .../{ => Filters}/FilterIOConfiguration.cpp | 4 +- .../{ => Filters}/FilterIOConfiguration.h | 0 .../Source/Filters/InternalFilters.cpp | 399 +++ .../Source/{ => Filters}/InternalFilters.h | 0 extras/AudioPluginHost/Source/HostStartup.cpp | 31 +- .../Source/InternalFilters.cpp | 81 - extras/AudioPluginHost/Source/JUCEAppIcon.png | Bin 0 -> 45854 bytes .../Source/{ => UI}/GraphEditorPanel.cpp | 512 ++- .../Source/{ => UI}/GraphEditorPanel.h | 64 +- .../Source/{ => UI}/MainHostWindow.cpp | 84 +- .../Source/{ => UI}/MainHostWindow.h | 5 +- .../Source/{ => UI}/PluginWindow.h | 13 +- extras/BLOCKS/doxygen/Doxyfile | 20 - extras/BLOCKS/doxygen/DoxygenLayout.xml | 88 - extras/BLOCKS/doxygen/Makefile | 24 - extras/BLOCKS/doxygen/footer.html | 4 - extras/BLOCKS/doxygen/header.html | 67 - .../doxygen/images/BlocksDrawing_canvas.JPG | Bin 101043 -> 0 bytes .../doxygen/images/BlocksDrawing_palette.JPG | Bin 123477 -> 0 bytes .../BLOCKS/doxygen/images/BlocksMonitor.png | Bin 253684 -> 0 bytes .../doxygen/images/BlocksSynth_grid.JPG | Bin 134862 -> 0 bytes .../doxygen/images/BlocksSynth_waveshape.gif | Bin 481011 -> 0 bytes .../doxygen/pages/juce_connecting_blocks.dox | 32 - .../juce_controlling_control_buttons.dox | 17 - .../pages/juce_controlling_led_grids.dox | 36 - .../pages/juce_controlling_led_strips.dox | 17 - .../doxygen/pages/juce_discovering_blocks.dox | 55 - .../pages/juce_downloading_the_sdk.dox | 12 - .../pages/juce_example_applications.dox | 29 - .../pages/juce_example_blocks_drawing.dox | 35 - .../pages/juce_example_blocks_monitor.dox | 40 - .../pages/juce_example_blocks_synth.dox | 37 - .../juce_getting_control_button_events.dox | 39 - .../pages/juce_getting_touch_events.dox | 35 - extras/BLOCKS/doxygen/pages/juce_main.dox | 65 - .../pages/juce_the_littlefoot_language.dox | 23 - .../pages/juce_the_standalone_blocks_sdk.dox | 68 - extras/BLOCKS/doxygen/stylesheet.css | 2178 ------------- extras/BLOCKS/standalone_sdk/README.md | 16 +- .../BLOCKS/standalone_sdk/SDK/BlocksHeader.h | 4 +- .../examples/BlockFinder/BlockFinder.cpp | 24 +- .../examples/BlockFinder/BlockFinder.h | 11 +- .../examples/BlockFinder/Linux/main.cpp | 27 +- .../examples/BlockFinder/MacOS/Makefile | 2 +- .../examples/BlockFinder/MacOS/main.mm | 11 +- .../examples/BlockFinder/Windows/main.cpp | 27 +- extras/BinaryBuilder/BinaryBuilder.jucer | 2 +- .../Builds/Android/app/CMakeLists.txt | 8 + .../Builds/Android/app/build.gradle | 2 +- .../JUCENetworkGraphicsDemo.java | 29 +- .../Builds/Android/build.gradle | 5 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../NetworkGraphicsDemo_App.vcxproj | 10 + .../NetworkGraphicsDemo_App.vcxproj.filters | 12 + .../NetworkGraphicsDemo_App.vcxproj | 10 + .../NetworkGraphicsDemo_App.vcxproj.filters | 12 + .../JuceLibraryCode/AppConfig.h | 4 + .../JuceLibraryCode/BinaryData.cpp | 21 +- .../JuceLibraryCode/BinaryData.h | 13 +- .../NetworkGraphicsDemo.jucer | 2 +- extras/Projucer/Builds/LinuxMakefile/Makefile | 4 +- extras/Projucer/Builds/MacOSX/Info-App.plist | 4 +- .../MacOSX/Projucer.xcodeproj/project.pbxproj | 18 +- .../VisualStudio2013/Projucer_App.vcxproj | 12 +- .../Projucer_App.vcxproj.filters | 18 + .../Builds/VisualStudio2013/resources.rc | 6 +- .../VisualStudio2015/Projucer_App.vcxproj | 12 +- .../Projucer_App.vcxproj.filters | 18 + .../Builds/VisualStudio2015/resources.rc | 6 +- .../VisualStudio2017/Projucer_App.vcxproj | 12 +- .../Projucer_App.vcxproj.filters | 18 + .../Builds/VisualStudio2017/resources.rc | 6 +- .../Projucer/JuceLibraryCode/BinaryData.cpp | 263 +- extras/Projucer/JuceLibraryCode/BinaryData.h | 21 +- extras/Projucer/JuceLibraryCode/JuceHeader.h | 4 +- extras/Projucer/Projucer.jucer | 10 +- ...ucer_ApplicationUsageDataWindowComponent.h | 2 +- .../Windows/jucer_PIPCreatorWindowComponent.h | 333 ++ .../Source/Application/jucer_Application.cpp | 93 +- .../Source/Application/jucer_Application.h | 18 +- .../Source/Application/jucer_CommandIDs.h | 11 +- .../Source/Application/jucer_CommandLine.cpp | 108 +- .../Source/Application/jucer_Main.cpp | 1 + .../Source/Application/jucer_MainWindow.cpp | 14 +- .../Source/Application/jucer_MainWindow.h | 2 +- .../Application/jucer_ProjucerAnalytics.cpp | 8 + .../Application/jucer_ProjucerAnalytics.h | 3 +- .../jucer_PIPAudioProcessorTemplate.h | 107 + .../BinaryData/Templates/jucer_PIPMain.cpp | 14 +- .../BinaryData/Templates/jucer_PIPTemplate.h | 17 + .../Properties/jucer_FontPropertyComponent.h | 16 +- .../jucer_CompileEngineClient.cpp | 164 +- .../jucer_CompileEngineClient.h | 23 +- .../LiveBuildEngine/jucer_CompileEngineDLL.h | 6 +- .../jucer_CompileEngineSettings.h | 110 + .../Project/UI/Sidebar/jucer_LiveBuildTab.h | 2 +- .../UI/Sidebar/jucer_ModuleTreeItems.h | 19 +- .../Project/UI/jucer_ContentViewComponents.h | 58 +- .../UI/jucer_ProjectContentComponent.cpp | 21 +- .../Projucer/Source/Project/jucer_Module.cpp | 22 +- extras/Projucer/Source/Project/jucer_Module.h | 2 +- .../Projucer/Source/Project/jucer_Project.cpp | 530 +++- .../Projucer/Source/Project/jucer_Project.h | 126 +- .../jucer_ProjectExport_Android.h | 13 +- .../ProjectSaving/jucer_ProjectExport_CLion.h | 2 +- .../jucer_ProjectExport_CodeBlocks.h | 35 +- .../ProjectSaving/jucer_ProjectExport_MSVC.h | 21 +- .../ProjectSaving/jucer_ProjectExport_Make.h | 10 +- .../ProjectSaving/jucer_ProjectExport_Xcode.h | 44 +- .../ProjectSaving/jucer_ProjectExporter.cpp | 26 + .../ProjectSaving/jucer_ProjectExporter.h | 2 + .../ProjectSaving/jucer_ProjectSaver.cpp | 11 +- .../Source/ProjectSaving/jucer_ProjectSaver.h | 2 +- .../ProjectSaving/jucer_ResourceFile.cpp | 61 +- .../Source/Settings/jucer_StoredSettings.cpp | 4 +- .../Utility/Helpers/jucer_MiscUtilities.cpp | 54 +- .../Utility/Helpers/jucer_MiscUtilities.h | 8 +- .../Source/Utility/Helpers/jucer_PresetIDs.h | 9 +- .../Utility/PIPs/jucer_PIPGenerator.cpp | 50 +- .../Source/Utility/PIPs/jucer_PIPGenerator.h | 1 + .../jucer_PropertyComponentsWithEnablement.h | 4 +- .../Utility/UI/jucer_JucerTreeViewBase.cpp | 2 +- .../Source/Wizards/jucer_NewProjectWizard.h | 2 +- .../jucer_TemplateThumbnailsComponent.h | 8 + .../UnitTestRunner.xcodeproj/project.pbxproj | 4 +- .../UnitTestRunner_ConsoleApp.vcxproj | 10 + .../UnitTestRunner_ConsoleApp.vcxproj.filters | 12 + .../JuceLibraryCode/AppConfig.h | 4 + extras/UnitTestRunner/UnitTestRunner.jucer | 4 +- .../WindowsDLL_StaticLibrary.vcxproj | 10 + .../WindowsDLL_StaticLibrary.vcxproj.filters | 12 + extras/WindowsDLL/JuceLibraryCode/AppConfig.h | 4 + extras/WindowsDLL/WindowsDLL.jucer | 2 +- modules/juce_analytics/juce_analytics.h | 2 +- modules/juce_audio_basics/juce_audio_basics.h | 2 +- .../midi/juce_MidiMessageSequence.cpp | 38 +- .../native/juce_mac_CoreAudioLayouts.h | 2 +- .../audio_io/juce_AudioDeviceManager.cpp | 1 + .../audio_io/juce_AudioIODeviceType.cpp | 4 + .../audio_io/juce_AudioIODeviceType.h | 2 + .../juce_audio_devices/juce_audio_devices.cpp | 13 + .../juce_audio_devices/juce_audio_devices.h | 9 +- .../native/juce_linux_ALSA.cpp | 9 +- .../native/juce_linux_Bela.cpp | 373 +++ .../native/juce_win32_Midi.cpp | 40 +- .../codecs/juce_WavAudioFormat.cpp | 4 +- .../juce_audio_formats/juce_audio_formats.h | 2 +- .../AAX/juce_AAX_Wrapper.cpp | 278 +- .../VST/juce_VST_Wrapper.cpp | 121 +- .../VST3/juce_VST3_Wrapper.cpp | 523 ++-- .../juce_audio_plugin_client.h | 2 +- .../juce_audio_plugin_client_AU_2.mm | 2 + .../utility/juce_PluginHostType.h | 26 +- .../juce_AudioUnitPluginFormat.mm | 177 +- .../juce_LegacyAudioParameter.cpp | 185 ++ .../format_types/juce_VST3PluginFormat.cpp | 88 +- .../format_types/juce_VSTPluginFormat.cpp | 104 +- .../juce_audio_processors.cpp | 1 + .../juce_audio_processors.h | 2 +- .../processors/juce_AudioPluginInstance.h | 12 + .../processors/juce_AudioProcessor.cpp | 131 +- .../processors/juce_AudioProcessor.h | 67 +- .../processors/juce_AudioProcessorGraph.cpp | 47 +- .../processors/juce_AudioProcessorGraph.h | 9 +- .../juce_GenericAudioProcessorEditor.cpp | 206 +- .../juce_GenericAudioProcessorEditor.h | 3 +- .../juce_AudioProcessorValueTreeState.cpp | 14 +- .../juce_AudioProcessorValueTreeState.h | 6 +- modules/juce_audio_utils/juce_audio_utils.h | 2 +- .../juce_blocks_basics/juce_blocks_basics.h | 2 +- modules/juce_box2d/juce_box2d.h | 2 +- .../containers/juce_ElementComparator.h | 15 +- modules/juce_core/containers/juce_SparseSet.h | 182 +- modules/juce_core/files/juce_File.cpp | 27 +- modules/juce_core/files/juce_File.h | 15 + modules/juce_core/juce_core.h | 2 +- modules/juce_core/maths/juce_MathsFunctions.h | 4 +- .../juce_core/maths/juce_NormalisableRange.h | 17 +- modules/juce_core/memory/juce_ByteOrder.h | 243 +- .../native/java/JuceAppActivity.java | 111 +- .../native/juce_BasicNativeHeaders.h | 1 + .../native/juce_linux_CommonFile.cpp | 20 +- modules/juce_core/native/juce_mac_Files.mm | 6 +- modules/juce_core/native/juce_mac_Network.mm | 6 + .../juce_core/native/juce_posix_SharedCode.h | 48 +- modules/juce_core/native/juce_win32_Files.cpp | 168 +- .../juce_core/streams/juce_URLInputSource.h | 2 + .../juce_core/system/juce_StandardHeader.h | 2 +- modules/juce_core/threads/juce_ThreadPool.cpp | 9 +- modules/juce_core/xml/juce_XmlElement.cpp | 6 + modules/juce_core/xml/juce_XmlElement.h | 5 + modules/juce_core/zip/juce_ZipFile.cpp | 32 +- modules/juce_core/zip/juce_ZipFile.h | 3 + modules/juce_cryptography/juce_cryptography.h | 2 +- .../app_properties/juce_PropertiesFile.cpp | 4 +- .../juce_data_structures.h | 2 +- .../undomanager/juce_UndoManager.cpp | 32 +- .../undomanager/juce_UndoManager.h | 55 +- .../values/juce_ValueWithDefault.h | 82 +- modules/juce_dsp/frequency/juce_FFT.cpp | 39 +- modules/juce_dsp/frequency/juce_FFT.h | 2 +- modules/juce_dsp/juce_dsp.h | 6 +- modules/juce_dsp/maths/juce_Matrix.cpp | 6 +- .../juce_dsp/processors/juce_Oversampling.cpp | 23 +- modules/juce_events/juce_events.h | 2 +- .../juce_graphics/geometry/juce_Rectangle.h | 17 +- modules/juce_graphics/juce_graphics.h | 2 +- .../native/juce_android_Fonts.cpp | 6 +- .../native/juce_mac_CoreGraphicsContext.mm | 5 - .../juce_graphics/native/juce_mac_Fonts.mm | 753 ++--- .../components/juce_Component.cpp | 87 +- .../components/juce_Component.h | 2 +- .../filebrowser/juce_ContentSharer.cpp | 4 +- modules/juce_gui_basics/juce_gui_basics.cpp | 1 + modules/juce_gui_basics/juce_gui_basics.h | 3 +- modules/juce_gui_basics/layout/juce_Grid.cpp | 2 +- .../juce_gui_basics/layout/juce_Viewport.cpp | 19 +- .../juce_gui_basics/layout/juce_Viewport.h | 20 + .../juce_gui_basics/menus/juce_PopupMenu.cpp | 2 +- .../juce_gui_basics/mouse/juce_MouseEvent.h | 4 +- .../mouse/juce_MouseInputSource.cpp | 29 +- .../mouse/juce_MouseInputSource.h | 17 +- .../mouse/juce_MouseListener.cpp | 1 + .../mouse/juce_MouseListener.h | 13 + .../native/juce_mac_MainMenu.mm | 13 +- .../native/juce_mac_Windowing.mm | 2 +- .../native/juce_win32_Windowing.cpp | 2 +- .../juce_ChoicePropertyComponent.cpp | 28 +- .../properties/juce_ChoicePropertyComponent.h | 4 +- .../juce_MultiChoicePropertyComponent.cpp | 340 ++ .../juce_MultiChoicePropertyComponent.h | 127 + .../properties/juce_TextPropertyComponent.cpp | 17 +- .../properties/juce_TextPropertyComponent.h | 10 +- .../widgets/juce_TextEditor.cpp | 21 +- .../juce_gui_basics/widgets/juce_TextEditor.h | 1 + .../windows/juce_AlertWindow.cpp | 10 + modules/juce_gui_extra/juce_gui_extra.h | 2 +- modules/juce_opengl/juce_opengl.h | 2 +- modules/juce_osc/juce_osc.h | 2 +- .../juce_product_unlocking.h | 2 +- modules/juce_video/juce_video.h | 2 +- 438 files changed, 16564 insertions(+), 7072 deletions(-) delete mode 100644 examples/Utilities/SimpleFFTDemo.h create mode 100644 extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt create mode 100644 extras/AudioPluginHost/Builds/Android/app/build.gradle create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/debug/res/values/string.xml create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/AndroidManifest.xml create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/java/com/android/vending/billing/IInAppBillingService.java create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/java/com/roli/juce/pluginhost/AudioPluginHost.java create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/java/com/roli/juce/pluginhost/SharingContentProvider.java create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-hdpi/icon.png create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-ldpi/icon.png create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-mdpi/icon.png create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png create mode 100644 extras/AudioPluginHost/Builds/Android/app/src/release/res/values/string.xml create mode 100644 extras/AudioPluginHost/Builds/Android/build.gradle create mode 100644 extras/AudioPluginHost/Builds/Android/gradle/wrapper/LICENSE-for-gradlewrapper.txt create mode 100644 extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.jar create mode 100644 extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties create mode 100755 extras/AudioPluginHost/Builds/Android/gradlew create mode 100644 extras/AudioPluginHost/Builds/Android/gradlew.bat create mode 100644 extras/AudioPluginHost/Builds/Android/settings.gradle create mode 100644 extras/AudioPluginHost/Builds/MacOSX/Icon.icns create mode 100644 extras/AudioPluginHost/Builds/VisualStudio2013/icon.ico create mode 100644 extras/AudioPluginHost/Builds/VisualStudio2015/icon.ico create mode 100644 extras/AudioPluginHost/Builds/VisualStudio2017/icon.ico create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-@3x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon@2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-retina4.png create mode 100644 extras/AudioPluginHost/Builds/iOS/Icon.icns create mode 100644 extras/AudioPluginHost/Builds/iOS/Info-App.plist create mode 100644 extras/AudioPluginHost/JuceLibraryCode/BinaryData.cpp create mode 100644 extras/AudioPluginHost/JuceLibraryCode/BinaryData.h rename extras/AudioPluginHost/Source/{ => Filters}/FilterGraph.cpp (93%) rename extras/AudioPluginHost/Source/{ => Filters}/FilterGraph.h (95%) rename extras/AudioPluginHost/Source/{ => Filters}/FilterIOConfiguration.cpp (96%) rename extras/AudioPluginHost/Source/{ => Filters}/FilterIOConfiguration.h (100%) create mode 100644 extras/AudioPluginHost/Source/Filters/InternalFilters.cpp rename extras/AudioPluginHost/Source/{ => Filters}/InternalFilters.h (100%) delete mode 100644 extras/AudioPluginHost/Source/InternalFilters.cpp create mode 100644 extras/AudioPluginHost/Source/JUCEAppIcon.png rename extras/AudioPluginHost/Source/{ => UI}/GraphEditorPanel.cpp (57%) rename extras/AudioPluginHost/Source/{ => UI}/GraphEditorPanel.h (61%) rename extras/AudioPluginHost/Source/{ => UI}/MainHostWindow.cpp (84%) rename extras/AudioPluginHost/Source/{ => UI}/MainHostWindow.h (94%) rename extras/AudioPluginHost/Source/{ => UI}/PluginWindow.h (89%) delete mode 100644 extras/BLOCKS/doxygen/Doxyfile delete mode 100644 extras/BLOCKS/doxygen/DoxygenLayout.xml delete mode 100644 extras/BLOCKS/doxygen/Makefile delete mode 100644 extras/BLOCKS/doxygen/footer.html delete mode 100644 extras/BLOCKS/doxygen/header.html delete mode 100644 extras/BLOCKS/doxygen/images/BlocksDrawing_canvas.JPG delete mode 100644 extras/BLOCKS/doxygen/images/BlocksDrawing_palette.JPG delete mode 100644 extras/BLOCKS/doxygen/images/BlocksMonitor.png delete mode 100644 extras/BLOCKS/doxygen/images/BlocksSynth_grid.JPG delete mode 100644 extras/BLOCKS/doxygen/images/BlocksSynth_waveshape.gif delete mode 100644 extras/BLOCKS/doxygen/pages/juce_connecting_blocks.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_controlling_control_buttons.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_controlling_led_grids.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_controlling_led_strips.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_discovering_blocks.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_downloading_the_sdk.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_example_applications.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_example_blocks_drawing.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_example_blocks_monitor.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_example_blocks_synth.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_getting_control_button_events.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_getting_touch_events.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_main.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_the_littlefoot_language.dox delete mode 100644 extras/BLOCKS/doxygen/pages/juce_the_standalone_blocks_sdk.dox delete mode 100644 extras/BLOCKS/doxygen/stylesheet.css create mode 100644 extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h create mode 100644 extras/Projucer/Source/BinaryData/Templates/jucer_PIPAudioProcessorTemplate.h create mode 100644 extras/Projucer/Source/BinaryData/Templates/jucer_PIPTemplate.h create mode 100644 extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineSettings.h create mode 100644 modules/juce_audio_devices/native/juce_linux_Bela.cpp create mode 100644 modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp create mode 100644 modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp create mode 100644 modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h diff --git a/ChangeList.txt b/ChangeList.txt index 9d1f7f39..38978ff2 100644 --- a/ChangeList.txt +++ b/ChangeList.txt @@ -3,12 +3,31 @@ This file just lists the more notable headline features. For more detailed info about minor changes and bugfixes, please see the git log! + +Version 5.3.1 + - Add Android and iOS support to AudioPluginHost + - Added support for Bela in the form of an AudioIODeviceType + - Add bypass support to both hosting and plug-in client code + - Added an isBoolean flag to APVTS parameters + - Re-worked plug-in wrappers to all use new parameter system via LegacyAudioParameter wrapper class + - Fixed an issue where opening the same midi device twice would cause a crash on Windows + - Deprecated MouseInputSource::hasMouseMovedSignificantlySincePressed() and replaced with more descriptive methods + - Added support for relative or special path symbolic links when compressing/uncompressing zip archives and creating/reading files + - Ensured that File::replaceInternal does not fail with ACL errors on Windows + - Merged-in some Ogg-Vorbis security fixes + - Fixed a bug which would prevent a SystemTrayIconComponent from creating a native popup window on macOS + - Various Android and iOS fixes + - Added a "PIP Creator" utility tool to the Projucer + - Added options for setting plugin categories and characteristics with MultiChoicePropertyComponent in the Projucer + - Fixed a Projucer bug where the OSX base SDK version was not being set + - Added a command-line option to use LF as linefeeds rather than CRLF in the Projucer cleanup tools + - Multiple documentation updates Version 5.3.0 - Added support for Android OBOE (developer preview) - Updated JUCE's MPE classes to comply with the new MMA-adopted specification - Multiple documentation updates - - Restructed the examples and extras directories and updated all JUCE examples + - Restructured the examples and extras directories and updated all JUCE examples - Multiple hosted parameter improvements - Overhauled the GenericAudioProcessorEditor - Added support for a subset of the Cockos VST extensions diff --git a/examples/Assets/DemoUtilities.h b/examples/Assets/DemoUtilities.h index fa995e37..92108d84 100644 --- a/examples/Assets/DemoUtilities.h +++ b/examples/Assets/DemoUtilities.h @@ -58,7 +58,11 @@ inline File getExamplesDirectory() noexcept return mo.toString(); #else - auto currentFile = File::getSpecialLocation (File::SpecialLocationType::currentExecutableFile); + auto currentFile = File::getSpecialLocation (File::SpecialLocationType::currentApplicationFile); + auto exampleDir = currentFile.getParentDirectory().getChildFile ("examples"); + + if (exampleDir.exists()) + return exampleDir; int numTries = 0; // keep track of the number of parent directories so we don't go on endlessly diff --git a/examples/Audio/AudioAppDemo.h b/examples/Audio/AudioAppDemo.h index 8ed8d0d1..d1db7ab1 100644 --- a/examples/Audio/AudioAppDemo.h +++ b/examples/Audio/AudioAppDemo.h @@ -25,7 +25,7 @@ name: AudioAppDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Simple audio application. diff --git a/examples/Audio/AudioLatencyDemo.h b/examples/Audio/AudioLatencyDemo.h index 458f4b9e..7920d453 100644 --- a/examples/Audio/AudioLatencyDemo.h +++ b/examples/Audio/AudioLatencyDemo.h @@ -25,7 +25,7 @@ name: AudioLatencyDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Tests the audio latency of a device. diff --git a/examples/Audio/AudioPlaybackDemo.h b/examples/Audio/AudioPlaybackDemo.h index b87be3b6..b0f942f9 100644 --- a/examples/Audio/AudioPlaybackDemo.h +++ b/examples/Audio/AudioPlaybackDemo.h @@ -25,7 +25,7 @@ name: AudioPlaybackDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Plays an audio file. diff --git a/examples/Audio/AudioRecordingDemo.h b/examples/Audio/AudioRecordingDemo.h index da0ec12a..93283256 100644 --- a/examples/Audio/AudioRecordingDemo.h +++ b/examples/Audio/AudioRecordingDemo.h @@ -25,7 +25,7 @@ name: AudioRecordingDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Records audio to a file. diff --git a/examples/Audio/AudioSettingsDemo.h b/examples/Audio/AudioSettingsDemo.h index 9ac09ec3..08ff2b9d 100644 --- a/examples/Audio/AudioSettingsDemo.h +++ b/examples/Audio/AudioSettingsDemo.h @@ -25,7 +25,7 @@ name: AudioSettingsDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Displays information about audio devices. diff --git a/examples/Audio/AudioSynthesiserDemo.h b/examples/Audio/AudioSynthesiserDemo.h index 1c5e83cb..cfed6dfe 100644 --- a/examples/Audio/AudioSynthesiserDemo.h +++ b/examples/Audio/AudioSynthesiserDemo.h @@ -25,7 +25,7 @@ name: AudioSynthesiserDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Simple synthesiser application. diff --git a/examples/Audio/MPEDemo.h b/examples/Audio/MPEDemo.h index 12f74188..e1e2c5c4 100644 --- a/examples/Audio/MPEDemo.h +++ b/examples/Audio/MPEDemo.h @@ -25,7 +25,7 @@ name: MPEDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Simple MPE synthesiser application. diff --git a/examples/Audio/MidiDemo.h b/examples/Audio/MidiDemo.h index f0e77b06..6b6e33f2 100644 --- a/examples/Audio/MidiDemo.h +++ b/examples/Audio/MidiDemo.h @@ -25,7 +25,7 @@ name: MidiDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Handles incoming and outcoming midi messages. @@ -101,7 +101,7 @@ public: pairButton.setEnabled (false); addAndMakeVisible (pairButton); - pairButton.onClick = [this] + pairButton.onClick = [] { RuntimePermissions::request (RuntimePermissions::bluetoothMidi, [] (bool wasGranted) @@ -285,7 +285,7 @@ private: } //============================================================================== - void paintListBoxItem (int rowNumber, Graphics &g, + void paintListBoxItem (int rowNumber, Graphics& g, int width, int height, bool rowIsSelected) override { auto textColour = getLookAndFeel().findColour (ListBox::textColourId); @@ -356,7 +356,7 @@ private: }; //============================================================================== - void handleIncomingMidiMessage (MidiInput* /*source*/, const MidiMessage &message) override + void handleIncomingMidiMessage (MidiInput* /*source*/, const MidiMessage& message) override { // This is called on the MIDI thread diff --git a/examples/Audio/PluckedStringsDemo.h b/examples/Audio/PluckedStringsDemo.h index cbdc63cd..cf3b02b9 100644 --- a/examples/Audio/PluckedStringsDemo.h +++ b/examples/Audio/PluckedStringsDemo.h @@ -25,7 +25,7 @@ name: PluckedStringsDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Simulation of a plucked string sound. @@ -109,7 +109,7 @@ public: // cycle through the delay line and apply a simple averaging filter for (auto i = 0; i < numSamples; ++i) { - auto nextPos = (int) ((pos + 1) % delayLine.size()); + auto nextPos = (pos + 1) % delayLine.size(); delayLine[nextPos] = (float) (decay * 0.5 * (delayLine[nextPos] + delayLine[pos])); outBuffer[i] += delayLine[pos]; @@ -151,7 +151,7 @@ private: excitationSample.end(), delayLine.begin(), [this] (double sample) { return static_cast (amplitude * sample); } ); - }; + } //============================================================================== const double decay = 0.998; @@ -160,7 +160,7 @@ private: Atomic doPluckForNextBuffer; std::vector excitationSample, delayLine; - int pos = 0; + size_t pos = 0; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StringSynthesiser) }; @@ -294,7 +294,7 @@ public: { memcpy (channelData, bufferToFill.buffer->getReadPointer (0), - bufferToFill.numSamples * sizeof (float)); + ((size_t) bufferToFill.numSamples) * sizeof (float)); } } } diff --git a/examples/Audio/SimpleFFTDemo.h b/examples/Audio/SimpleFFTDemo.h index 6710efba..2f99a29c 100644 --- a/examples/Audio/SimpleFFTDemo.h +++ b/examples/Audio/SimpleFFTDemo.h @@ -25,7 +25,7 @@ name: SimpleFFTDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Simple FFT application. @@ -52,10 +52,10 @@ class SimpleFFTDemo : public AudioAppComponent, private Timer { public: - SimpleFFTDemo() - #ifdef JUCE_DEMO_RUNNER - : AudioAppComponent (getSharedAudioDeviceManager (1, 0)), - #endif + SimpleFFTDemo() : + #ifdef JUCE_DEMO_RUNNER + AudioAppComponent (getSharedAudioDeviceManager (1, 0)), + #endif forwardFFT (fftOrder), spectrogramImage (Image::RGB, 512, 512, true) { diff --git a/examples/BLOCKS/BlocksDrawingDemo.h b/examples/BLOCKS/BlocksDrawingDemo.h index aed22ce5..a2b24178 100644 --- a/examples/BLOCKS/BlocksDrawingDemo.h +++ b/examples/BLOCKS/BlocksDrawingDemo.h @@ -25,7 +25,7 @@ name: BlocksDrawingDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Blocks application to draw shapes. @@ -531,7 +531,7 @@ private: for (uint32 y = 0; y < 15; ++ y) { canvasProgram->setLED (x, y, Colours::black); - lightpadComponent.setLEDColour (x, y, Colours::black); + lightpadComponent.setLEDColour ((int) x, (int) y, Colours::black); } } @@ -554,7 +554,7 @@ private: if (index >= 0) { canvasProgram->setLED (x0, y0, Colours::black); - lightpadComponent.setLEDColour (x0, y0, Colours::black); + lightpadComponent.setLEDColour ((int) x0, (int) y0, Colours::black); activeLeds.remove (index); } @@ -574,7 +574,7 @@ private: activeLeds.add (led); canvasProgram->setLED (led.x, led.y, led.colour.withBrightness (led.brightness)); - lightpadComponent.setLEDColour (led.x, led.y, led.colour.withBrightness (led.brightness)); + lightpadComponent.setLEDColour ((int) led.x, (int) led.y, led.colour.withBrightness (led.brightness)); return; } @@ -594,7 +594,7 @@ private: if (canvasProgram != nullptr) canvasProgram->setLED (currentLed.x, currentLed.y, currentLed.colour.withBrightness (currentLed.brightness)); - lightpadComponent.setLEDColour (currentLed.x, currentLed.y, currentLed.colour.withBrightness (currentLed.brightness)); + lightpadComponent.setLEDColour ((int) currentLed.x, (int) currentLed.y, currentLed.colour.withBrightness (currentLed.brightness)); activeLeds.set (index, currentLed); } @@ -609,7 +609,7 @@ private: for (auto led : activeLeds) { canvasProgram->setLED (led.x, led.y, led.colour.withBrightness (led.brightness)); - lightpadComponent.setLEDColour (led.x, led.y, led.colour.withBrightness (led.brightness)); + lightpadComponent.setLEDColour ((int) led.x, (int) led.y, led.colour.withBrightness (led.brightness)); } } } @@ -648,6 +648,7 @@ private: return xPos == x && yPos == y; } }; + Array activeLeds; int getLEDAt (uint32 x, uint32 y) const @@ -665,6 +666,7 @@ private: colourPalette = 0, canvas }; + DisplayMode currentMode = colourPalette; //============================================================================== diff --git a/examples/BLOCKS/BlocksMonitorDemo.h b/examples/BLOCKS/BlocksMonitorDemo.h index e5bd9ffa..9c064ffa 100644 --- a/examples/BLOCKS/BlocksMonitorDemo.h +++ b/examples/BLOCKS/BlocksMonitorDemo.h @@ -25,7 +25,7 @@ name: BlocksMonitorDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Application to monitor Blocks devices. @@ -136,15 +136,15 @@ public: static Array map[] = { - { CB::mode, CB::button0 }, - { CB::volume, CB::button1 }, - { CB::scale, CB::button2, CB::click }, - { CB::chord, CB::button3, CB::snap }, - { CB::arp, CB::button4, CB::back }, - { CB::sustain, CB::button5, CB::playOrPause }, - { CB::octave, CB::button6, CB::record }, - { CB::love, CB::button7, CB::learn }, - { CB::up }, + { CB::mode, CB::button0, CB::velocitySensitivity }, + { CB::volume, CB::button1, CB::glideSensitivity }, + { CB::scale, CB::button2, CB::slideSensitivity, CB::click }, + { CB::chord, CB::button3, CB::pressSensitivity, CB::snap }, + { CB::arp, CB::button4, CB::liftSensitivity, CB::back }, + { CB::sustain, CB::button5, CB::fixedVelocity, CB::playOrPause }, + { CB::octave, CB::button6, CB::glideLock, CB::record }, + { CB::love, CB::button7, CB::pianoMode, CB::learn }, + { CB::up }, { CB::down } }; @@ -748,7 +748,8 @@ private: if (type == Block::lightPadBlock) return new LightpadComponent (newBlock); - if (type == Block::loopBlock || type == Block::liveBlock) + if (type == Block::loopBlock || type == Block::liveBlock + || type == Block::touchBlock || type == Block::developerControlBlock) return new ControlBlockComponent (newBlock); // Should only be connecting a Lightpad or Control Block! diff --git a/examples/BLOCKS/BlocksSynthDemo.h b/examples/BLOCKS/BlocksSynthDemo.h index 3782f4c3..b2ab1e1c 100644 --- a/examples/BLOCKS/BlocksSynthDemo.h +++ b/examples/BLOCKS/BlocksSynthDemo.h @@ -25,7 +25,7 @@ name: BlocksSynthDemo version: 1.0.0 - vendor: juce + vendor: JUCE website: http://juce.com description: Blocks synthesiser application. @@ -160,7 +160,7 @@ struct SineSound : public SynthesiserSound */ struct SineVoice : public OscillatorBase { - SineVoice() {}; + SineVoice() {} bool canPlaySound (SynthesiserSound* sound) override { return dynamic_cast (sound) != nullptr; } @@ -191,7 +191,7 @@ struct SquareSound : public SynthesiserSound */ struct SquareVoice : public OscillatorBase { - SquareVoice() {}; + SquareVoice() {} bool canPlaySound (SynthesiserSound* sound) override { return dynamic_cast (sound) != nullptr; } @@ -601,7 +601,7 @@ public: #endif setSize (600, 400); - }; + } ~BlocksSynthDemo() { @@ -751,7 +751,7 @@ private: void clearOldTouchTimes (const Time now) { for (auto i = touchMessageTimesInLastSecond.size(); --i >= 0;) - if (touchMessageTimesInLastSecond.getReference(i) < now - juce::RelativeTime::seconds (0.33)) + if (touchMessageTimesInLastSecond.getReference(i) < now - RelativeTime::seconds (0.33)) touchMessageTimesInLastSecond.remove (i); } @@ -835,7 +835,7 @@ private: PhysicalTopologySource topologySource; Block::Ptr activeBlock; - Array touchMessageTimesInLastSecond; + Array