From 72f2529d9d3502b8bd9b357db96cfca62002945e Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Sun, 10 Feb 2019 20:41:48 +0100 Subject: [PATCH] New upstream version 5.4.2~repack1 --- BREAKING-CHANGES.txt | 1861 ++-- ChangeList.txt | 12 +- README.md | 58 +- examples/Audio/AudioAppDemo.h | 25 +- examples/Audio/AudioPlaybackDemo.h | 48 +- examples/Audio/MPEDemo.h | 2 +- examples/Audio/MidiDemo.h | 2 +- examples/Audio/PluckedStringsDemo.h | 2 +- examples/Audio/SimpleFFTDemo.h | 18 +- examples/BLOCKS/BlocksMonitorDemo.h | 4 +- examples/BLOCKS/BlocksSynthDemo.h | 2 +- .../Builds/Android/app/CMakeLists.txt | 6374 ++++++------- .../Builds/Android/app/build.gradle | 197 +- .../Android/app/src/main/AndroidManifest.xml | 8 +- .../DemoRunner/Builds/Android/build.gradle | 32 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../DemoRunner/Builds/LinuxMakefile/Makefile | 494 +- .../DemoRunner.xcodeproj/project.pbxproj | 8 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../DemoRunner/Builds/MacOSX/Info-App.plist | 4 +- .../VisualStudio2013/DemoRunner_App.vcxproj | 81 +- .../DemoRunner_App.vcxproj.filters | 129 +- .../Builds/VisualStudio2013/resources.rc | 6 +- .../VisualStudio2015/DemoRunner_App.vcxproj | 81 +- .../DemoRunner_App.vcxproj.filters | 129 +- .../Builds/VisualStudio2015/resources.rc | 6 +- .../VisualStudio2017/DemoRunner_App.vcxproj | 81 +- .../DemoRunner_App.vcxproj.filters | 129 +- .../Builds/VisualStudio2017/resources.rc | 6 +- .../iOS/DemoRunner.xcodeproj/project.pbxproj | 21 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + examples/DemoRunner/Builds/iOS/Info-App.plist | 6 +- .../Builds/iOS/LaunchScreen.storyboard | 16 + examples/DemoRunner/DemoRunner.jucer | 4 +- .../DemoRunner/JuceLibraryCode/JuceHeader.h | 4 +- .../AudioPerformanceTest.jucer | 2 +- .../Builds/Android/app/CMakeLists.txt | 5168 +++++------ .../Builds/Android/app/build.gradle | 203 +- .../Android/app/src/main/AndroidManifest.xml | 6 +- .../Builds/Android/build.gradle | 32 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../Builds/LinuxMakefile/Makefile | 326 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../AudioPerformanceTest_App.vcxproj | 46 +- .../AudioPerformanceTest_App.vcxproj.filters | 93 +- .../project.pbxproj | 13 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../Builds/iOS/Info-App.plist | 2 + .../Builds/iOS/LaunchScreen.storyboard | 16 + extras/AudioPluginHost/AudioPluginHost.jucer | 2 +- .../Builds/Android/app/CMakeLists.txt | 5474 +++++------ .../Builds/Android/app/build.gradle | 197 +- .../Android/app/src/main/AndroidManifest.xml | 4 +- .../Builds/Android/build.gradle | 32 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../Builds/LinuxMakefile/Makefile | 434 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../AudioPluginHost_App.vcxproj | 46 +- .../AudioPluginHost_App.vcxproj.filters | 93 +- .../AudioPluginHost_App.vcxproj | 46 +- .../AudioPluginHost_App.vcxproj.filters | 93 +- .../AudioPluginHost_App.vcxproj | 46 +- .../AudioPluginHost_App.vcxproj.filters | 93 +- .../AudioPluginHost.xcodeproj/project.pbxproj | 13 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../AudioPluginHost/Builds/iOS/Info-App.plist | 2 + .../Builds/iOS/LaunchScreen.storyboard | 16 + .../Source/Filters/InternalFilters.cpp | 2 +- .../Source/UI/GraphEditorPanel.cpp | 2 + .../AudioPluginHost/Source/UI/PluginWindow.h | 98 + extras/BinaryBuilder/BinaryBuilder.jucer | 2 +- .../Builds/LinuxMakefile/Makefile | 206 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../BinaryBuilder_ConsoleApp.vcxproj | 6 + .../BinaryBuilder_ConsoleApp.vcxproj.filters | 11 + .../Builds/Android/app/CMakeLists.txt | 5460 +++++------ .../Builds/Android/app/build.gradle | 197 +- .../Android/app/src/main/AndroidManifest.xml | 8 +- .../Builds/Android/build.gradle | 32 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../Builds/LinuxMakefile/Makefile | 374 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../NetworkGraphicsDemo_App.vcxproj | 46 +- .../NetworkGraphicsDemo_App.vcxproj.filters | 93 +- .../NetworkGraphicsDemo_App.vcxproj | 46 +- .../NetworkGraphicsDemo_App.vcxproj.filters | 93 +- .../Builds/iOS/Info-App.plist | 2 + .../Builds/iOS/LaunchScreen.storyboard | 16 + .../project.pbxproj | 13 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../NetworkGraphicsDemo.jucer | 2 +- extras/Projucer/Builds/LinuxMakefile/Makefile | 914 +- extras/Projucer/Builds/MacOSX/Info-App.plist | 4 +- .../MacOSX/Projucer.xcodeproj/project.pbxproj | 12 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../VisualStudio2013/Projucer_App.vcxproj | 11 +- .../Projucer_App.vcxproj.filters | 12 + .../Builds/VisualStudio2013/resources.rc | 6 +- .../VisualStudio2015/Projucer_App.vcxproj | 11 +- .../Projucer_App.vcxproj.filters | 12 + .../Builds/VisualStudio2015/resources.rc | 6 +- .../VisualStudio2017/Projucer_App.vcxproj | 11 +- .../Projucer_App.vcxproj.filters | 12 + .../Builds/VisualStudio2017/resources.rc | 6 +- .../Projucer/JuceLibraryCode/BinaryData.cpp | 32 +- extras/Projucer/JuceLibraryCode/BinaryData.h | 4 +- extras/Projucer/JuceLibraryCode/JuceHeader.h | 4 +- extras/Projucer/Projucer.jucer | 4 +- ...ucer_ApplicationUsageDataWindowComponent.h | 2 +- .../jucer_EditorColourSchemeWindowComponent.h | 2 +- .../Windows/jucer_FloatingToolWindow.h | 2 +- .../jucer_GlobalPathsWindowComponent.h | 2 +- .../Windows/jucer_PIPCreatorWindowComponent.h | 14 +- .../Source/Application/jucer_AutoUpdater.cpp | 2 +- .../Source/Application/jucer_AutoUpdater.h | 2 +- .../Source/Application/jucer_CommandLine.cpp | 64 +- .../Source/Application/jucer_MainWindow.cpp | 3 +- .../Source/Application/jucer_MainWindow.h | 2 +- .../Application/jucer_ProjucerAnalytics.h | 2 +- .../jucer_AudioComponentSimpleTemplate.h | 14 +- .../jucer_AudioComponentTemplate.cpp | 14 +- .../jucer_DocumentEditorComponent.h | 2 +- .../CodeEditor/jucer_LiveBuildCodeEditor.h | 8 +- .../CodeEditor/jucer_SourceCodeEditor.cpp | 12 +- .../CodeEditor/jucer_SourceCodeEditor.h | 6 +- .../Components/jucer_ComponentTypeHandler.cpp | 2 +- .../Components/jucer_TabbedComponentHandler.h | 2 +- .../Documents/jucer_ComponentDocument.cpp | 2 +- .../PaintElements/jucer_ColouredElement.h | 2 +- .../PaintElements/jucer_PaintElement.h | 2 +- .../PaintElements/jucer_PaintElementGroup.h | 3 +- .../PaintElements/jucer_PaintElementImage.h | 2 +- .../PaintElements/jucer_PaintElementPath.h | 2 +- .../PaintElements/jucer_PaintElementText.h | 2 +- .../UI/jucer_ComponentLayoutEditor.h | 4 +- .../UI/jucer_ComponentOverlayComponent.h | 2 +- .../UI/jucer_EditingPanelBase.h | 2 +- .../UI/jucer_JucerDocumentEditor.cpp | 4 +- .../UI/jucer_JucerDocumentEditor.h | 2 +- .../UI/jucer_PaintRoutinePanel.cpp | 2 +- .../UI/jucer_ResourceEditorPanel.h | 2 +- .../ComponentEditor/UI/jucer_TestComponent.h | 2 +- .../ComponentEditor/jucer_ComponentLayout.cpp | 9 + .../ComponentEditor/jucer_ComponentLayout.h | 1 + .../ComponentEditor/jucer_JucerDocument.cpp | 42 +- .../ComponentEditor/jucer_JucerDocument.h | 4 +- .../ComponentEditor/jucer_ObjectTypes.cpp | 4 +- .../ComponentEditor/jucer_ObjectTypes.h | 4 +- .../Source/Licenses/jucer_LicenseThread.h | 2 +- .../Source/Licenses/jucer_LicenseWebview.h | 4 +- .../UI/jucer_ActivityListComponent.h | 2 +- .../UI/jucer_BuildTabStatusComponent.h | 2 +- .../UI/jucer_ComponentListComponent.h | 2 +- .../UI/jucer_ErrorListComponent.h | 6 +- .../jucer_CompileEngineClient.cpp | 4 +- .../jucer_CompileEngineClient.h | 2 +- .../jucer_CompileEngineServer.cpp | 4 +- .../Project/UI/Sidebar/jucer_FileTreeItems.h | 2 +- .../UI/Sidebar/jucer_ModuleTreeItems.h | 2 +- .../Project/UI/Sidebar/jucer_ProjectTab.h | 4 +- .../Project/UI/Sidebar/jucer_TabComponents.h | 4 +- .../UI/jucer_FileGroupInformationComponent.h | 164 +- .../Project/UI/jucer_HeaderComponent.cpp | 21 +- .../Source/Project/UI/jucer_HeaderComponent.h | 6 +- .../UI/jucer_ProjectContentComponent.h | 2 +- .../Projucer/Source/Project/jucer_Project.cpp | 109 +- .../Projucer/Source/Project/jucer_Project.h | 27 +- .../jucer_ProjectExport_Android.h | 638 +- .../ProjectSaving/jucer_ProjectExport_CLion.h | 87 +- .../jucer_ProjectExport_CodeBlocks.h | 56 +- .../ProjectSaving/jucer_ProjectExport_MSVC.h | 196 +- .../ProjectSaving/jucer_ProjectExport_Make.h | 189 +- .../ProjectSaving/jucer_ProjectExport_Xcode.h | 115 +- .../ProjectSaving/jucer_ProjectExporter.cpp | 41 +- .../ProjectSaving/jucer_ProjectExporter.h | 27 +- .../ProjectSaving/jucer_ProjectSaver.cpp | 3 + .../Source/ProjectSaving/jucer_ProjectSaver.h | 17 +- .../ProjectSaving/jucer_ResourceFile.cpp | 42 +- .../ProjectSaving/jucer_XcodeProjectParser.h | 6 +- .../Source/Settings/jucer_StoredSettings.h | 4 +- .../Utility/Helpers/jucer_CodeHelpers.cpp | 2 +- .../Utility/Helpers/jucer_MiscUtilities.cpp | 30 +- .../Utility/Helpers/jucer_MiscUtilities.h | 4 +- .../Source/Utility/Helpers/jucer_PresetIDs.h | 16 +- .../Utility/PIPs/jucer_PIPGenerator.cpp | 71 +- .../Source/Utility/PIPs/jucer_PIPGenerator.h | 3 +- .../jucer_LabelPropertyComponent.h | 2 +- .../jucer_PropertyComponentsWithEnablement.h | 46 +- .../Utility/UI/jucer_JucerTreeViewBase.cpp | 2 +- .../Utility/UI/jucer_JucerTreeViewBase.h | 11 +- .../Utility/UI/jucer_ProjucerLookAndFeel.h | 2 +- .../Utility/UI/jucer_SlidingPanelComponent.h | 2 +- .../Utility/UI/jucer_UserSettingsPopup.h | 2 +- .../Source/Wizards/jucer_NewFileWizard.cpp | 19 +- .../Source/Wizards/jucer_NewProjectWizard.h | 1 - .../Builds/LinuxMakefile/Makefile | 422 +- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../UnitTestRunner_ConsoleApp.vcxproj | 77 +- .../UnitTestRunner_ConsoleApp.vcxproj.filters | 129 +- extras/UnitTestRunner/UnitTestRunner.jucer | 2 +- .../WindowsDLL_StaticLibrary.vcxproj | 46 +- .../WindowsDLL_StaticLibrary.vcxproj.filters | 93 +- extras/WindowsDLL/WindowsDLL.jucer | 2 +- .../juce_analytics/analytics/juce_Analytics.h | 2 +- .../analytics/juce_ButtonTracker.h | 2 +- .../destinations/juce_AnalyticsDestination.h | 2 +- .../juce_ThreadedAnalyticsDestination.h | 2 +- modules/juce_analytics/juce_analytics.h | 2 +- .../audio_play_head/juce_AudioPlayHead.h | 4 +- .../buffers/juce_AudioChannelSet.cpp | 124 +- .../buffers/juce_AudioChannelSet.h | 18 +- .../buffers/juce_AudioDataConverters.cpp | 166 +- .../buffers/juce_AudioDataConverters.h | 12 +- .../buffers/juce_AudioSampleBuffer.h | 8 +- .../buffers/juce_FloatVectorOperations.cpp | 2 +- .../juce_audio_basics/juce_audio_basics.cpp | 6 +- modules/juce_audio_basics/juce_audio_basics.h | 15 +- .../juce_audio_basics/midi/juce_MidiFile.cpp | 8 +- .../juce_audio_basics/midi/juce_MidiFile.h | 5 +- .../midi/juce_MidiKeyboardState.h | 4 +- .../midi/juce_MidiMessageSequence.cpp | 8 +- .../mpe/juce_MPEInstrument.h | 5 +- .../mpe/juce_MPESynthesiser.h | 26 +- .../mpe/juce_MPEZoneLayout.h | 10 +- .../sources/juce_AudioSource.h | 8 +- .../sources/juce_BufferingAudioSource.h | 2 +- .../juce_ChannelRemappingAudioSource.h | 2 +- .../sources/juce_IIRFilterAudioSource.h | 2 +- .../sources/juce_MixerAudioSource.h | 2 +- .../sources/juce_PositionableAudioSource.h | 4 +- .../sources/juce_ResamplingAudioSource.h | 2 +- .../sources/juce_ReverbAudioSource.h | 2 +- .../sources/juce_ToneGeneratorAudioSource.h | 2 +- .../synthesisers/juce_Synthesiser.cpp | 12 + .../synthesisers/juce_Synthesiser.h | 33 +- .../juce_audio_basics/utilities/juce_ADSR.h | 222 + .../juce_CatmullRomInterpolator.cpp | 0 .../juce_CatmullRomInterpolator.h | 0 .../{effects => utilities}/juce_Decibels.h | 0 .../{effects => utilities}/juce_IIRFilter.cpp | 0 .../{effects => utilities}/juce_IIRFilter.h | 0 .../juce_LagrangeInterpolator.cpp | 0 .../juce_LagrangeInterpolator.h | 0 .../juce_LinearSmoothedValue.h | 4 +- .../{effects => utilities}/juce_Reverb.h | 33 +- .../audio_io/juce_AudioDeviceManager.cpp | 87 +- .../audio_io/juce_AudioDeviceManager.h | 4 +- .../audio_io/juce_AudioIODevice.h | 2 +- .../audio_io/juce_AudioIODeviceType.h | 2 +- .../juce_audio_devices/juce_audio_devices.h | 2 +- .../midi_io/juce_MidiInput.h | 4 +- .../midi_io/juce_MidiMessageCollector.h | 2 +- .../midi_io/juce_MidiOutput.h | 4 +- .../app/com/roli/juce/JuceMidiSupport.java} | 502 +- .../native/juce_MidiDataConcatenator.h | 2 +- .../native/juce_android_Audio.cpp | 29 +- .../native/juce_android_Midi.cpp | 409 +- .../native/juce_android_Oboe.cpp | 52 +- .../native/juce_android_OpenSL.cpp | 50 +- .../native/juce_ios_Audio.cpp | 98 +- .../native/juce_ios_Audio.h | 2 +- .../native/juce_mac_CoreAudio.cpp | 64 +- .../native/juce_mac_CoreMidi.cpp | 123 +- .../native/juce_win32_ASIO.cpp | 16 +- .../native/juce_win32_WASAPI.cpp | 73 +- .../sources/juce_AudioSourcePlayer.h | 2 +- .../sources/juce_AudioTransportSource.h | 2 +- .../codecs/juce_AiffAudioFormat.cpp | 2 +- .../codecs/juce_AiffAudioFormat.h | 2 +- .../codecs/juce_CoreAudioFormat.cpp | 2 +- .../codecs/juce_CoreAudioFormat.h | 2 +- .../codecs/juce_FlacAudioFormat.cpp | 4 +- .../codecs/juce_FlacAudioFormat.h | 2 +- .../codecs/juce_OggVorbisAudioFormat.cpp | 4 +- .../codecs/juce_OggVorbisAudioFormat.h | 2 +- .../codecs/juce_WavAudioFormat.cpp | 2 +- .../codecs/juce_WavAudioFormat.h | 2 +- .../format/juce_AudioFormatReaderSource.h | 2 +- .../format/juce_AudioFormatWriter.cpp | 2 +- .../format/juce_AudioFormatWriter.h | 4 +- .../format/juce_AudioSubsectionReader.h | 2 +- .../format/juce_BufferingAudioFormatReader.h | 2 +- .../juce_audio_formats/juce_audio_formats.h | 2 +- .../sampler/juce_Sampler.cpp | 59 +- .../juce_audio_formats/sampler/juce_Sampler.h | 19 +- .../AAX/juce_AAX_Wrapper.cpp | 21 +- .../Unity/juce_Unity_Wrapper.cpp | 4 +- .../VST/juce_VSTCallbackHandler.h | 2 +- .../VST/juce_VST_Wrapper.cpp | 25 +- .../VST3/juce_VST3_Wrapper.cpp | 150 +- .../juce_audio_plugin_client.h | 2 +- .../utility/juce_PluginHostType.h | 23 +- .../utility/juce_PluginUtilities.cpp | 12 + .../format/juce_AudioPluginFormat.h | 2 +- .../format_types/VST3_SDK/README.md | 86 +- .../VST3_SDK/base/source/baseiids.cpp | 104 +- .../base/source/classfactoryhelpers.h | 174 +- .../VST3_SDK/base/source/fbuffer.cpp | 1288 +-- .../VST3_SDK/base/source/fbuffer.h | 612 +- .../VST3_SDK/base/source/fdebug.cpp | 628 +- .../VST3_SDK/base/source/fdebug.h | 466 +- .../VST3_SDK/base/source/fobject.cpp | 368 +- .../VST3_SDK/base/source/fobject.h | 1036 +-- .../VST3_SDK/base/source/fstreamer.cpp | 1452 +-- .../VST3_SDK/base/source/fstreamer.h | 484 +- .../VST3_SDK/base/source/fstring.cpp | 7992 ++++++++--------- .../VST3_SDK/base/source/fstring.h | 1494 +-- .../VST3_SDK/base/source/updatehandler.cpp | 1442 +-- .../VST3_SDK/base/source/updatehandler.h | 278 +- .../VST3_SDK/base/thread/include/flock.h | 366 +- .../VST3_SDK/base/thread/source/flock.cpp | 291 +- .../pluginterfaces/base/conststringtable.cpp | 212 +- .../pluginterfaces/base/conststringtable.h | 89 +- .../VST3_SDK/pluginterfaces/base/coreiids.cpp | 72 +- .../VST3_SDK/pluginterfaces/base/falignpop.h | 58 +- .../VST3_SDK/pluginterfaces/base/falignpush.h | 70 +- .../VST3_SDK/pluginterfaces/base/fplatform.h | 416 +- .../VST3_SDK/pluginterfaces/base/fstrdefs.h | 582 +- .../VST3_SDK/pluginterfaces/base/ftypes.h | 384 +- .../VST3_SDK/pluginterfaces/base/funknown.cpp | 910 +- .../VST3_SDK/pluginterfaces/base/funknown.h | 941 +- .../VST3_SDK/pluginterfaces/base/futils.h | 190 +- .../VST3_SDK/pluginterfaces/base/fvariant.h | 594 +- .../VST3_SDK/pluginterfaces/base/ibstream.h | 178 +- .../VST3_SDK/pluginterfaces/base/icloneable.h | 84 +- .../pluginterfaces/base/ipersistent.h | 322 +- .../pluginterfaces/base/ipluginbase.h | 872 +- .../pluginterfaces/base/istringresult.h | 160 +- .../pluginterfaces/base/iupdatehandler.h | 200 +- .../pluginterfaces/base/smartpointer.h | 746 +- .../pluginterfaces/base/typesizecheck.h | 43 + .../VST3_SDK/pluginterfaces/base/ustring.cpp | 544 +- .../VST3_SDK/pluginterfaces/base/ustring.h | 220 +- .../VST3_SDK/pluginterfaces/gui/iplugview.h | 567 +- .../gui/iplugviewcontentscalesupport.h | 130 +- .../pluginterfaces/vst/ivstattributes.h | 292 +- .../pluginterfaces/vst/ivstaudioprocessor.h | 707 +- .../pluginterfaces/vst/ivstautomationstate.h | 134 +- .../vst/ivstchannelcontextinfo.h | 452 +- .../pluginterfaces/vst/ivstcomponent.h | 387 +- .../pluginterfaces/vst/ivstcontextmenu.h | 429 +- .../pluginterfaces/vst/ivsteditcontroller.h | 861 +- .../VST3_SDK/pluginterfaces/vst/ivstevents.h | 371 +- .../pluginterfaces/vst/ivsthostapplication.h | 280 +- .../pluginterfaces/vst/ivstinterappaudio.h | 287 +- .../VST3_SDK/pluginterfaces/vst/ivstmessage.h | 190 +- .../pluginterfaces/vst/ivstmidicontrollers.h | 230 +- .../pluginterfaces/vst/ivstmidilearn.h | 57 + .../pluginterfaces/vst/ivstnoteexpression.h | 499 +- .../pluginterfaces/vst/ivstparameterchanges.h | 282 +- .../pluginterfaces/vst/ivstphysicalui.h | 130 + .../vst/ivstpluginterfacesupport.h | 64 + .../pluginterfaces/vst/ivstplugview.h | 123 +- .../vst/ivstprefetchablesupport.h | 174 +- .../pluginterfaces/vst/ivstprocesscontext.h | 284 +- .../pluginterfaces/vst/ivstrepresentation.h | 744 +- .../VST3_SDK/pluginterfaces/vst/ivstunits.h | 533 +- .../VST3_SDK/pluginterfaces/vst/vstpshpack4.h | 61 +- .../VST3_SDK/pluginterfaces/vst/vstspeaker.h | 1637 ++-- .../VST3_SDK/pluginterfaces/vst/vsttypes.h | 188 +- .../public.sdk/source/common/memorystream.cpp | 638 +- .../public.sdk/source/common/memorystream.h | 160 +- .../public.sdk/source/common/pluginview.cpp | 198 +- .../public.sdk/source/common/pluginview.h | 204 +- .../source/vst/hosting/hostclasses.cpp | 644 +- .../source/vst/hosting/hostclasses.h | 229 +- .../vst/hosting/pluginterfacesupport.cpp | 120 + .../source/vst/hosting/pluginterfacesupport.h | 74 + .../VST3_SDK/public.sdk/source/vst/vstbus.cpp | 196 +- .../VST3_SDK/public.sdk/source/vst/vstbus.h | 328 +- .../public.sdk/source/vst/vstcomponent.cpp | 432 +- .../public.sdk/source/vst/vstcomponent.h | 234 +- .../source/vst/vstcomponentbase.cpp | 360 +- .../public.sdk/source/vst/vstcomponentbase.h | 214 +- .../source/vst/vsteditcontroller.cpp | 1442 +-- .../public.sdk/source/vst/vsteditcontroller.h | 748 +- .../public.sdk/source/vst/vstinitiids.cpp | 250 +- .../public.sdk/source/vst/vstparameters.cpp | 871 +- .../public.sdk/source/vst/vstparameters.h | 476 +- .../public.sdk/source/vst/vstpresetfile.cpp | 1870 ++-- .../public.sdk/source/vst/vstpresetfile.h | 610 +- .../juce_AudioUnitPluginFormat.mm | 23 +- .../format_types/juce_LADSPAPluginFormat.cpp | 4 +- .../juce_LegacyAudioParameter.cpp | 9 +- .../format_types/juce_VST3Common.h | 116 +- .../format_types/juce_VST3Headers.h | 3 + .../format_types/juce_VST3PluginFormat.cpp | 48 +- .../format_types/juce_VSTCommon.h | 4 +- .../format_types/juce_VSTPluginFormat.cpp | 9 +- .../juce_audio_processors.cpp | 20 +- .../juce_audio_processors.h | 2 +- .../processors/juce_AudioPluginInstance.h | 10 +- .../processors/juce_AudioProcessor.cpp | 1 + .../processors/juce_AudioProcessorEditor.h | 2 +- .../processors/juce_AudioProcessorGraph.cpp | 10 +- .../processors/juce_AudioProcessorGraph.h | 4 +- .../processors/juce_AudioProcessorListener.h | 2 +- .../processors/juce_AudioProcessorParameter.h | 2 +- .../juce_GenericAudioProcessorEditor.cpp | 2 +- .../juce_GenericAudioProcessorEditor.h | 2 +- .../scanning/juce_KnownPluginList.h | 2 +- .../scanning/juce_PluginListComponent.cpp | 9 +- .../scanning/juce_PluginListComponent.h | 2 +- .../utilities/juce_AudioParameterBool.h | 2 +- .../utilities/juce_AudioParameterChoice.h | 2 +- .../utilities/juce_AudioParameterFloat.h | 2 +- .../utilities/juce_AudioParameterInt.h | 2 +- .../juce_AudioProcessorParameterWithID.h | 2 +- .../juce_AudioProcessorParameters.cpp | 29 +- .../juce_AudioProcessorValueTreeState.cpp | 130 +- .../juce_AudioProcessorValueTreeState.h | 11 +- .../gui/juce_AudioAppComponent.h | 8 +- .../gui/juce_AudioDeviceSelectorComponent.cpp | 21 +- .../gui/juce_AudioDeviceSelectorComponent.h | 14 +- .../gui/juce_AudioThumbnail.cpp | 2 +- .../gui/juce_AudioThumbnail.h | 2 +- .../gui/juce_AudioThumbnailBase.h | 4 +- .../gui/juce_AudioVisualiserComponent.h | 2 +- .../gui/juce_MidiKeyboardComponent.h | 2 +- modules/juce_audio_utils/juce_audio_utils.h | 2 +- ...oid_BluetoothMidiDevicePairingDialogue.cpp | 33 +- .../players/juce_AudioProcessorPlayer.h | 2 +- .../players/juce_SoundPlayer.cpp | 2 +- .../players/juce_SoundPlayer.h | 4 +- .../juce_blocks_basics/blocks/juce_Block.h | 13 +- .../blocks/juce_BlocksVersion.cpp | 230 + .../blocks/juce_BlocksVersion.h | 82 + .../juce_blocks_basics/blocks/juce_LEDGrid.h | 8 +- .../blocks/juce_TouchList.h | 4 +- .../juce_blocks_basics/juce_blocks_basics.cpp | 3 + .../juce_blocks_basics/juce_blocks_basics.h | 3 +- .../littlefoot/juce_LittleFootCompiler.h | 8 +- .../littlefoot/juce_LittleFootRunner.h | 8 +- .../protocol/juce_BitPackingUtilities.h | 6 +- .../protocol/juce_BlocksProtocolDefinitions.h | 47 +- .../protocol/juce_HostPacketDecoder.h | 4 +- .../internal/juce_BandwidthStatsLogger.cpp | 101 + .../internal/juce_BlockImplementation.cpp | 1030 +++ .../internal/juce_ConnectedDeviceGroup.cpp | 721 ++ .../juce_DepreciatedVersionReader.cpp | 128 + .../topology/internal/juce_Detector.cpp | 700 ++ .../topology/internal/juce_DetectorHolder.cpp | 59 + .../topology/internal/juce_DeviceInfo.cpp | 43 + .../internal/juce_MIDIDeviceDetector.cpp | 142 + .../internal/juce_MidiDeviceConnection.cpp | 123 + .../topology/juce_PhysicalTopologySource.cpp | 2571 +----- .../topology/juce_PhysicalTopologySource.h | 4 +- .../topology/juce_RuleBasedTopologySource.h | 4 +- .../topology/juce_TopologySource.h | 4 +- modules/juce_box2d/box2d/README.txt | 2 +- modules/juce_box2d/juce_box2d.h | 2 +- .../containers/juce_AbstractFifo.cpp | 52 +- .../juce_core/containers/juce_AbstractFifo.h | 40 +- .../containers/juce_ArrayAllocationBase.h | 12 +- .../juce_core/containers/juce_ArrayBase.cpp | 12 +- modules/juce_core/containers/juce_ArrayBase.h | 11 +- .../juce_core/containers/juce_DynamicObject.h | 2 +- modules/juce_core/containers/juce_HashMap.h | 4 +- .../juce_core/containers/juce_ListenerList.h | 8 +- .../containers/juce_NamedValueSet.cpp | 22 +- modules/juce_core/containers/juce_SortedSet.h | 8 +- modules/juce_core/containers/juce_SparseSet.h | 6 +- modules/juce_core/containers/juce_Variant.cpp | 10 +- modules/juce_core/files/juce_File.cpp | 4 +- modules/juce_core/files/juce_File.h | 4 +- .../juce_core/files/juce_FileInputStream.h | 2 +- .../juce_core/files/juce_FileOutputStream.h | 2 +- .../juce_core/files/juce_WildcardFileFilter.h | 2 +- modules/juce_core/javascript/juce_JSON.cpp | 7 +- .../juce_core/javascript/juce_Javascript.cpp | 4 +- modules/juce_core/juce_core.cpp | 2 + modules/juce_core/juce_core.h | 2 +- modules/juce_core/logging/juce_FileLogger.h | 2 +- modules/juce_core/maths/juce_BigInteger.cpp | 6 +- modules/juce_core/maths/juce_Expression.cpp | 6 +- modules/juce_core/maths/juce_Expression.h | 2 +- .../juce_core/maths/juce_NormalisableRange.h | 14 +- modules/juce_core/maths/juce_Random.cpp | 10 + modules/juce_core/maths/juce_Range.h | 50 +- modules/juce_core/memory/juce_HeapBlock.h | 4 +- .../juce_HeavyweightLeakedObjectDetector.h | 2 +- .../memory/juce_LeakedObjectDetector.h | 2 +- modules/juce_core/memory/juce_Memory.h | 2 +- modules/juce_core/memory/juce_MemoryBlock.cpp | 4 +- .../memory/juce_OptionalScopedPointer.h | 4 +- .../memory/juce_ReferenceCountedObject.h | 6 +- modules/juce_core/memory/juce_ScopedPointer.h | 5 +- .../memory/juce_SharedResourcePointer.h | 2 +- modules/juce_core/memory/juce_Singleton.h | 2 +- modules/juce_core/memory/juce_WeakReference.h | 8 +- .../misc/juce_ConsoleApplication.cpp | 1 + modules/juce_core/misc/juce_Result.cpp | 4 +- .../juce_core/misc/juce_StdFunctionCompat.cpp | 12 +- modules/juce_core/misc/juce_Uuid.cpp | 10 - modules/juce_core/misc/juce_Uuid.h | 10 + .../juce_core/native/java/AndroidCamera.java | 169 - .../native/java/AndroidMidiFallback.java | 85 - .../java/AndroidRuntimePermissions.java | 12 - .../juce_core/native/java/AndroidVideo.java | 146 - .../juce_core/native/java/AndroidWebView.java | 69 - .../native/java/IInAppBillingService.java | 971 -- .../native/java/JuceAppActivity.java | 1806 ---- .../java/JuceFirebaseInstanceIdService.java | 16 - .../java/JuceFirebaseMessagingService.java | 35 - modules/juce_core/native/java/README.txt | 42 + .../app/com/roli/juce/FragmentOverlay.java | 58 + .../app/com/roli/juce/JuceHTTPStream.java | 407 + .../javacore/app/com/roli/juce/JuceApp.java | 15 + .../javacore/init/com/roli/juce/Java.java | 13 + .../juce_core/native/juce_android_Files.cpp | 185 +- .../native/juce_android_JNIHelpers.cpp | 687 ++ .../native/juce_android_JNIHelpers.h | 569 +- .../juce_core/native/juce_android_Network.cpp | 174 +- .../juce_android_RuntimePermissions.cpp | 227 +- .../native/juce_android_SystemStats.cpp | 361 +- .../juce_core/native/juce_android_Threads.cpp | 318 + modules/juce_core/native/juce_linux_Files.cpp | 18 +- modules/juce_core/native/juce_mac_Network.mm | 62 +- modules/juce_core/native/juce_mac_Strings.mm | 2 +- .../juce_core/native/juce_posix_IPAddress.h | 8 +- .../juce_core/native/juce_posix_SharedCode.h | 44 +- modules/juce_core/native/juce_win32_Files.cpp | 4 +- .../juce_core/native/juce_win32_Network.cpp | 73 +- .../native/juce_win32_SystemStats.cpp | 2 +- modules/juce_core/network/juce_URL.cpp | 54 +- modules/juce_core/network/juce_URL.h | 10 +- .../juce_core/network/juce_WebInputStream.h | 4 +- .../streams/juce_BufferedInputStream.h | 2 +- .../juce_core/streams/juce_FileInputSource.h | 2 +- modules/juce_core/streams/juce_InputSource.h | 4 +- modules/juce_core/streams/juce_InputStream.h | 4 +- .../streams/juce_MemoryInputStream.h | 2 +- .../streams/juce_MemoryOutputStream.h | 2 +- .../juce_core/streams/juce_SubregionStream.h | 2 +- .../juce_core/streams/juce_URLInputSource.cpp | 2 +- .../juce_core/streams/juce_URLInputSource.h | 2 +- modules/juce_core/system/juce_PlatformDefs.h | 10 +- .../juce_core/system/juce_StandardHeader.h | 3 +- .../juce_core/text/juce_CharPointer_ASCII.h | 5 +- .../juce_core/text/juce_CharPointer_UTF16.h | 5 +- .../juce_core/text/juce_CharPointer_UTF32.h | 5 +- .../juce_core/text/juce_CharPointer_UTF8.h | 5 +- .../juce_core/text/juce_CharacterFunctions.h | 29 + modules/juce_core/text/juce_Identifier.cpp | 4 +- modules/juce_core/text/juce_String.cpp | 65 +- modules/juce_core/text/juce_String.h | 16 +- modules/juce_core/text/juce_StringArray.cpp | 6 +- .../juce_core/threads/juce_CriticalSection.h | 4 +- .../juce_core/threads/juce_DynamicLibrary.h | 2 +- modules/juce_core/threads/juce_SpinLock.h | 4 +- modules/juce_core/threads/juce_Thread.h | 85 +- .../juce_core/threads/juce_ThreadLocalValue.h | 4 +- modules/juce_core/threads/juce_ThreadPool.h | 2 +- .../juce_core/threads/juce_TimeSliceThread.h | 4 +- modules/juce_core/time/juce_Time.cpp | 5 +- modules/juce_core/xml/juce_XmlElement.cpp | 46 +- .../zip/juce_GZIPCompressorOutputStream.h | 2 +- .../zip/juce_GZIPDecompressorInputStream.h | 2 +- modules/juce_core/zip/juce_ZipFile.cpp | 4 +- modules/juce_core/zip/juce_ZipFile.h | 2 +- modules/juce_cryptography/juce_cryptography.h | 2 +- .../app_properties/juce_PropertiesFile.h | 2 +- .../juce_data_structures.cpp | 1 + .../juce_data_structures.h | 2 +- .../undomanager/juce_UndoManager.h | 2 +- .../undomanager/juce_UndoableAction.h | 4 +- .../values/juce_CachedValue.cpp | 5 - .../values/juce_CachedValue.h | 9 +- .../values/juce_Value.cpp | 4 +- .../juce_data_structures/values/juce_Value.h | 6 +- .../values/juce_ValueTree.cpp | 12 +- .../values/juce_ValueTree.h | 2 +- .../values/juce_ValueTreeSynchroniser.h | 2 +- .../values/juce_ValueWithDefault.cpp | 112 + .../values/juce_ValueWithDefault.h | 25 +- modules/juce_dsp/containers/juce_AudioBlock.h | 4 +- .../juce_dsp/containers/juce_SIMDRegister.h | 4 +- modules/juce_dsp/frequency/juce_FFT.cpp | 2 +- modules/juce_dsp/juce_dsp.h | 2 +- modules/juce_dsp/maths/juce_LookupTable.h | 3 +- modules/juce_dsp/processors/juce_Bias.h | 2 +- modules/juce_dsp/processors/juce_FIRFilter.h | 2 +- modules/juce_dsp/processors/juce_Gain.h | 2 +- .../juce_dsp/processors/juce_IIRFilter_Impl.h | 2 +- modules/juce_dsp/processors/juce_Oscillator.h | 3 +- .../juce_dsp/processors/juce_ProcessorChain.h | 13 +- .../processors/juce_ProcessorDuplicator.h | 2 +- modules/juce_dsp/processors/juce_Reverb.h | 3 +- .../processors/juce_StateVariableFilter.h | 2 +- .../broadcasters/juce_ActionListener.h | 2 +- .../broadcasters/juce_ChangeListener.h | 2 +- .../juce_ConnectedChildProcess.cpp | 4 +- .../juce_InterprocessConnectionServer.h | 2 +- .../juce_NetworkServiceDiscovery.h | 6 +- modules/juce_events/juce_events.h | 2 +- .../messages/juce_CallbackMessage.h | 6 +- .../messages/juce_Initialisation.h | 2 +- modules/juce_events/messages/juce_Message.h | 2 +- .../messages/juce_MessageManager.cpp | 2 +- .../messages/juce_MessageManager.h | 6 +- .../native/juce_android_Messaging.cpp | 161 +- .../native/juce_mac_MessageManager.mm | 2 +- modules/juce_events/timers/juce_Timer.cpp | 2 +- .../colour/juce_ColourGradient.cpp | 4 +- .../juce_graphics/colour/juce_FillType.cpp | 10 +- .../juce_graphics/colour/juce_PixelFormats.h | 9 +- .../contexts/juce_GraphicsContext.cpp | 2 +- .../juce_LowLevelGraphicsPostScriptRenderer.h | 2 +- .../juce_LowLevelGraphicsSoftwareRenderer.h | 2 +- .../effects/juce_DropShadowEffect.cpp | 2 +- .../effects/juce_DropShadowEffect.h | 2 +- .../juce_graphics/effects/juce_GlowEffect.h | 2 +- .../effects/juce_ImageEffectFilter.h | 2 +- .../fonts/juce_AttributedString.cpp | 118 +- .../fonts/juce_AttributedString.h | 35 +- .../juce_graphics/fonts/juce_CustomTypeface.h | 2 +- modules/juce_graphics/fonts/juce_Font.cpp | 4 +- .../fonts/juce_GlyphArrangement.cpp | 8 +- .../fonts/juce_GlyphArrangement.h | 2 +- .../juce_graphics/fonts/juce_TextLayout.cpp | 4 +- modules/juce_graphics/fonts/juce_Typeface.h | 2 +- modules/juce_graphics/geometry/juce_Path.cpp | 4 +- .../geometry/juce_RectangleList.h | 6 +- modules/juce_graphics/images/juce_Image.cpp | 4 +- modules/juce_graphics/images/juce_Image.h | 12 +- .../juce_graphics/images/juce_ImageCache.cpp | 2 +- .../images/juce_ImageFileFormat.h | 10 +- modules/juce_graphics/juce_graphics.h | 2 +- .../native/juce_RenderingHelpers.h | 31 +- .../native/juce_android_Fonts.cpp | 208 +- .../native/juce_android_GraphicsContext.cpp | 9 +- .../native/juce_mac_CoreGraphicsContext.h | 2 +- .../native/juce_mac_CoreGraphicsContext.mm | 2 +- .../juce_graphics/native/juce_mac_Fonts.mm | 5 +- .../application/juce_Application.h | 2 +- .../buttons/juce_ArrowButton.h | 2 +- modules/juce_gui_basics/buttons/juce_Button.h | 6 +- .../buttons/juce_DrawableButton.h | 2 +- .../buttons/juce_HyperlinkButton.h | 2 +- .../buttons/juce_ImageButton.h | 4 +- .../buttons/juce_ShapeButton.h | 2 +- .../juce_gui_basics/buttons/juce_TextButton.h | 2 +- .../buttons/juce_ToggleButton.h | 2 +- .../buttons/juce_ToolbarButton.h | 2 +- .../commands/juce_ApplicationCommandID.h | 2 +- .../commands/juce_ApplicationCommandManager.h | 4 +- .../commands/juce_KeyPressMappingSet.h | 2 +- .../components/juce_CachedComponentImage.h | 4 +- .../components/juce_Component.cpp | 39 +- .../components/juce_Component.h | 26 +- .../components/juce_ComponentListener.h | 2 +- .../components/juce_ModalComponentManager.h | 6 +- .../juce_gui_basics/desktop/juce_Desktop.h | 4 +- .../juce_gui_basics/desktop/juce_Displays.cpp | 31 +- .../juce_gui_basics/desktop/juce_Displays.h | 2 +- .../juce_gui_basics/drawables/juce_Drawable.h | 2 +- .../drawables/juce_DrawableComposite.h | 2 +- .../drawables/juce_DrawableImage.h | 2 +- .../drawables/juce_DrawablePath.cpp | 2 +- .../drawables/juce_DrawablePath.h | 2 +- .../drawables/juce_DrawableRectangle.h | 2 +- .../drawables/juce_DrawableShape.h | 2 +- .../drawables/juce_DrawableText.h | 2 +- .../filebrowser/juce_ContentSharer.cpp | 2 +- .../filebrowser/juce_ContentSharer.h | 7 - .../filebrowser/juce_DirectoryContentsList.h | 2 +- .../filebrowser/juce_FileBrowserComponent.h | 4 +- .../filebrowser/juce_FileChooser.cpp | 4 +- .../filebrowser/juce_FileChooser.h | 2 +- .../filebrowser/juce_FileChooserDialogBox.h | 2 +- .../filebrowser/juce_FileListComponent.cpp | 2 +- .../filebrowser/juce_FileListComponent.h | 2 +- .../filebrowser/juce_FilePreviewComponent.h | 2 +- .../juce_FileSearchPathListComponent.h | 2 +- .../filebrowser/juce_FileTreeComponent.cpp | 2 +- .../filebrowser/juce_FileTreeComponent.h | 2 +- .../filebrowser/juce_FilenameComponent.h | 6 +- .../filebrowser/juce_ImagePreviewComponent.h | 2 +- modules/juce_gui_basics/juce_gui_basics.cpp | 1 - modules/juce_gui_basics/juce_gui_basics.h | 2 +- .../keyboard/juce_CaretComponent.h | 2 +- .../keyboard/juce_KeyListener.h | 2 +- .../keyboard/juce_TextInputTarget.h | 4 +- .../layout/juce_AnimatedPosition.h | 9 +- .../layout/juce_AnimatedPositionBehaviours.h | 10 +- .../layout/juce_ComponentAnimator.h | 2 +- .../layout/juce_ComponentBuilder.h | 6 +- .../layout/juce_ComponentMovementWatcher.h | 2 +- .../layout/juce_ConcertinaPanel.h | 4 +- .../layout/juce_GroupComponent.h | 4 +- .../layout/juce_MultiDocumentPanel.h | 4 +- .../layout/juce_ResizableBorderComponent.h | 2 +- .../layout/juce_ResizableCornerComponent.h | 2 +- .../layout/juce_ResizableEdgeComponent.h | 2 +- .../juce_gui_basics/layout/juce_ScrollBar.h | 6 +- .../juce_gui_basics/layout/juce_SidePanel.h | 4 +- .../layout/juce_StretchableLayoutResizerBar.h | 4 +- .../layout/juce_TabbedButtonBar.h | 6 +- .../layout/juce_TabbedComponent.h | 2 +- .../juce_gui_basics/layout/juce_Viewport.cpp | 2 +- .../juce_gui_basics/layout/juce_Viewport.h | 2 +- .../lookandfeel/juce_LookAndFeel.h | 8 +- .../lookandfeel/juce_LookAndFeel_V1.h | 2 +- .../lookandfeel/juce_LookAndFeel_V2.h | 2 +- .../lookandfeel/juce_LookAndFeel_V3.h | 2 +- .../lookandfeel/juce_LookAndFeel_V4.h | 2 +- .../menus/juce_BurgerMenuComponent.h | 2 +- .../menus/juce_MenuBarComponent.h | 2 +- .../juce_gui_basics/menus/juce_MenuBarModel.h | 4 +- .../juce_gui_basics/menus/juce_PopupMenu.cpp | 6 +- .../juce_gui_basics/menus/juce_PopupMenu.h | 6 +- .../misc/juce_BubbleComponent.h | 4 +- .../juce_gui_basics/misc/juce_DropShadower.h | 2 +- .../misc/juce_JUCESplashScreen.cpp | 4 +- .../misc/juce_JUCESplashScreen.h | 2 +- .../mouse/juce_DragAndDropContainer.cpp | 2 +- .../mouse/juce_DragAndDropTarget.h | 2 +- .../mouse/juce_FileDragAndDropTarget.h | 2 +- .../mouse/juce_LassoComponent.h | 4 +- .../mouse/juce_MouseInactivityDetector.h | 4 +- .../mouse/juce_MouseListener.h | 2 +- .../mouse/juce_TextDragAndDropTarget.h | 2 +- .../mouse/juce_TooltipClient.h | 6 +- .../app/com/roli/juce/ComponentPeerView.java | 493 + .../juce/JuceSharingContentProvider.java} | 28 +- .../native/juce_android_ContentSharer.cpp | 289 +- .../native/juce_android_FileChooser.cpp | 43 +- .../native/juce_android_Windowing.cpp | 983 +- .../native/juce_common_MimeTypes.cpp | 5 +- .../native/juce_ios_UIViewComponentPeer.mm | 7 + .../native/juce_mac_FileChooser.mm | 10 +- .../native/juce_mac_MainMenu.mm | 2 +- .../native/juce_mac_NSViewComponentPeer.mm | 22 +- .../native/juce_mac_Windowing.mm | 7 +- .../native/juce_win32_DragAndDrop.cpp | 6 +- .../native/juce_win32_FileChooser.cpp | 72 +- .../native/juce_win32_Windowing.cpp | 14 +- .../positioning/juce_MarkerList.h | 4 +- .../positioning/juce_RelativeCoordinate.cpp | 4 +- .../juce_RelativeCoordinatePositioner.h | 2 +- .../positioning/juce_RelativePointPath.h | 8 +- .../juce_BooleanPropertyComponent.h | 2 +- .../properties/juce_ButtonPropertyComponent.h | 2 +- .../juce_ChoicePropertyComponent.cpp | 8 +- .../properties/juce_ChoicePropertyComponent.h | 5 +- .../juce_MultiChoicePropertyComponent.cpp | 8 +- .../juce_MultiChoicePropertyComponent.h | 5 +- .../properties/juce_PropertyComponent.h | 4 +- .../properties/juce_PropertyPanel.cpp | 2 +- .../properties/juce_PropertyPanel.h | 2 +- .../properties/juce_SliderPropertyComponent.h | 2 +- .../properties/juce_TextPropertyComponent.cpp | 10 +- .../properties/juce_TextPropertyComponent.h | 7 +- .../juce_gui_basics/widgets/juce_ComboBox.h | 8 +- .../widgets/juce_ImageComponent.h | 2 +- modules/juce_gui_basics/widgets/juce_Label.h | 6 +- .../juce_gui_basics/widgets/juce_ListBox.cpp | 2 +- .../juce_gui_basics/widgets/juce_ListBox.h | 4 +- .../widgets/juce_ProgressBar.h | 4 +- .../juce_gui_basics/widgets/juce_Slider.cpp | 32 +- modules/juce_gui_basics/widgets/juce_Slider.h | 19 +- .../widgets/juce_TableHeaderComponent.h | 8 +- .../widgets/juce_TableListBox.h | 6 +- .../widgets/juce_TextEditor.cpp | 6 +- .../juce_gui_basics/widgets/juce_TextEditor.h | 10 +- .../juce_gui_basics/widgets/juce_Toolbar.cpp | 6 +- .../juce_gui_basics/widgets/juce_Toolbar.h | 4 +- .../widgets/juce_ToolbarItemComponent.h | 2 +- .../widgets/juce_ToolbarItemPalette.h | 2 +- .../juce_gui_basics/widgets/juce_TreeView.h | 4 +- .../windows/juce_AlertWindow.h | 4 +- .../juce_gui_basics/windows/juce_CallOutBox.h | 4 +- .../windows/juce_ComponentPeer.h | 4 +- .../windows/juce_DialogWindow.h | 2 +- .../windows/juce_DocumentWindow.h | 4 +- .../windows/juce_ResizableWindow.h | 4 +- .../windows/juce_ThreadWithProgressWindow.h | 2 +- .../windows/juce_TooltipWindow.cpp | 78 +- .../windows/juce_TooltipWindow.h | 4 +- .../windows/juce_TopLevelWindow.cpp | 4 +- .../windows/juce_TopLevelWindow.h | 2 +- .../code_editor/juce_CPlusPlusCodeTokeniser.h | 2 +- .../code_editor/juce_CodeDocument.h | 4 +- .../code_editor/juce_CodeEditorComponent.h | 2 +- .../code_editor/juce_CodeTokeniser.h | 4 +- .../code_editor/juce_LuaCodeTokeniser.h | 2 +- .../code_editor/juce_XMLCodeTokeniser.h | 2 +- .../documents/juce_FileBasedDocument.h | 2 +- .../embedding/juce_AndroidViewComponent.h | 10 +- .../embedding/juce_NSViewComponent.h | 2 +- modules/juce_gui_extra/juce_gui_extra.h | 2 +- .../misc/juce_BubbleMessageComponent.h | 2 +- .../juce_gui_extra/misc/juce_ColourSelector.h | 2 +- .../misc/juce_KeyMappingEditorComponent.cpp | 2 +- .../misc/juce_KeyMappingEditorComponent.h | 2 +- .../misc/juce_LiveConstantEditor.cpp | 4 +- .../misc/juce_LiveConstantEditor.h | 2 +- .../misc/juce_PreferencesPanel.h | 2 +- .../misc/juce_PushNotifications.h | 4 +- .../juce_gui_extra/misc/juce_SplashScreen.h | 2 +- .../misc/juce_SystemTrayIconComponent.h | 2 +- .../misc/juce_WebBrowserComponent.h | 10 +- .../java/app/com/roli/juce/JuceWebView.java | 107 + .../native/juce_AndroidViewComponent.cpp | 38 +- .../native/juce_android_PushNotifications.cpp | 452 +- .../juce_android_WebBrowserComponent.cpp | 381 +- .../juce_linux_X11_WebBrowserComponent.cpp | 4 - .../native/juce_mac_NSViewComponent.mm | 2 +- .../native/juce_mac_SystemTrayIcon.cpp | 2 +- .../native/juce_mac_WebBrowserComponent.mm | 54 +- modules/juce_opengl/juce_opengl.h | 2 +- .../app/com/roli/juce/JuceOpenGLView.java | 56 + .../native/juce_OpenGLExtensions.h | 3 +- .../juce_opengl/native/juce_OpenGL_android.h | 166 +- modules/juce_opengl/native/juce_OpenGL_osx.h | 4 + .../juce_opengl/native/juce_OpenGL_win32.h | 64 +- .../juce_opengl/opengl/juce_OpenGLContext.cpp | 16 +- .../juce_opengl/opengl/juce_OpenGLContext.h | 2 +- modules/juce_opengl/opengl/juce_OpenGLImage.h | 2 +- .../juce_opengl/opengl/juce_OpenGLRenderer.h | 4 +- .../utils/juce_OpenGLAppComponent.h | 2 +- modules/juce_osc/juce_osc.h | 2 +- modules/juce_osc/osc/juce_OSCArgument.cpp | 2 +- modules/juce_osc/osc/juce_OSCMessage.cpp | 2 +- modules/juce_osc/osc/juce_OSCReceiver.cpp | 9 +- modules/juce_osc/osc/juce_OSCReceiver.h | 4 +- .../juce_product_unlocking.h | 2 +- .../marketplace/juce_OnlineUnlockForm.h | 2 +- .../juce_TracktionMarketplaceStatus.cpp | 32 +- .../native/juce_android_InAppPurchases.cpp | 25 +- .../juce_video/capture/juce_CameraDevice.cpp | 2 +- modules/juce_video/juce_video.h | 2 +- .../CameraCaptureSessionCaptureCallback.java | 65 + .../CameraCaptureSessionStateCallback.java | 53 + .../roli/juce/CameraDeviceStateCallback.java | 42 + .../juce/JuceOrientationEventListener.java | 24 + .../roli/juce/MediaControllerCallback.java | 53 + .../com/roli/juce/MediaSessionCallback.java | 78 + .../com/roli/juce/SystemVolumeObserver.java | 37 + .../native/juce_android_CameraDevice.h | 844 +- .../juce_video/native/juce_android_Video.h | 735 +- .../juce_video/native/juce_ios_CameraDevice.h | 4 +- .../juce_video/native/juce_mac_CameraDevice.h | 3 +- modules/juce_video/native/juce_mac_Video.h | 4 +- .../native/juce_win32_CameraDevice.h | 2 +- .../juce_video/playback/juce_VideoComponent.h | 20 +- 846 files changed, 54335 insertions(+), 49459 deletions(-) create mode 100644 examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 examples/DemoRunner/Builds/iOS/LaunchScreen.storyboard create mode 100644 extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/AudioPerformanceTest/Builds/iOS/LaunchScreen.storyboard create mode 100644 extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/AudioPluginHost/Builds/iOS/LaunchScreen.storyboard create mode 100644 extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/NetworkGraphicsDemo/Builds/iOS/LaunchScreen.storyboard create mode 100644 extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 modules/juce_audio_basics/utilities/juce_ADSR.h rename modules/juce_audio_basics/{effects => utilities}/juce_CatmullRomInterpolator.cpp (100%) rename modules/juce_audio_basics/{effects => utilities}/juce_CatmullRomInterpolator.h (100%) rename modules/juce_audio_basics/{effects => utilities}/juce_Decibels.h (100%) rename modules/juce_audio_basics/{effects => utilities}/juce_IIRFilter.cpp (100%) rename modules/juce_audio_basics/{effects => utilities}/juce_IIRFilter.h (100%) rename modules/juce_audio_basics/{effects => utilities}/juce_LagrangeInterpolator.cpp (100%) rename modules/juce_audio_basics/{effects => utilities}/juce_LagrangeInterpolator.h (100%) rename modules/juce_audio_basics/{effects => utilities}/juce_LinearSmoothedValue.h (96%) rename modules/juce_audio_basics/{effects => utilities}/juce_Reverb.h (88%) rename modules/{juce_core/native/java/AndroidMidi.java => juce_audio_devices/native/java/app/com/roli/juce/JuceMidiSupport.java} (63%) create mode 100644 modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h create mode 100644 modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h create mode 100644 modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h create mode 100644 modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h create mode 100644 modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp create mode 100644 modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h create mode 100644 modules/juce_blocks_basics/blocks/juce_BlocksVersion.cpp create mode 100644 modules/juce_blocks_basics/blocks/juce_BlocksVersion.h create mode 100644 modules/juce_blocks_basics/topology/internal/juce_BandwidthStatsLogger.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_BlockImplementation.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_ConnectedDeviceGroup.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_DepreciatedVersionReader.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_Detector.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_DetectorHolder.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_DeviceInfo.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_MIDIDeviceDetector.cpp create mode 100644 modules/juce_blocks_basics/topology/internal/juce_MidiDeviceConnection.cpp delete mode 100644 modules/juce_core/native/java/AndroidCamera.java delete mode 100644 modules/juce_core/native/java/AndroidMidiFallback.java delete mode 100644 modules/juce_core/native/java/AndroidRuntimePermissions.java delete mode 100644 modules/juce_core/native/java/AndroidVideo.java delete mode 100644 modules/juce_core/native/java/AndroidWebView.java delete mode 100644 modules/juce_core/native/java/IInAppBillingService.java delete mode 100644 modules/juce_core/native/java/JuceAppActivity.java delete mode 100644 modules/juce_core/native/java/JuceFirebaseInstanceIdService.java delete mode 100644 modules/juce_core/native/java/JuceFirebaseMessagingService.java create mode 100644 modules/juce_core/native/java/README.txt create mode 100644 modules/juce_core/native/java/app/com/roli/juce/FragmentOverlay.java create mode 100644 modules/juce_core/native/java/app/com/roli/juce/JuceHTTPStream.java create mode 100644 modules/juce_core/native/javacore/app/com/roli/juce/JuceApp.java create mode 100644 modules/juce_core/native/javacore/init/com/roli/juce/Java.java create mode 100644 modules/juce_core/native/juce_android_JNIHelpers.cpp create mode 100644 modules/juce_data_structures/values/juce_ValueWithDefault.cpp create mode 100644 modules/juce_gui_basics/native/java/app/com/roli/juce/ComponentPeerView.java rename modules/{juce_core/native/java/AndroidSharingContentProvider.java => juce_gui_basics/native/javacore/app/com/roli/juce/JuceSharingContentProvider.java} (82%) create mode 100644 modules/juce_gui_extra/native/java/app/com/roli/juce/JuceWebView.java create mode 100644 modules/juce_opengl/native/java/app/com/roli/juce/JuceOpenGLView.java create mode 100644 modules/juce_video/native/java/app/com/roli/juce/CameraCaptureSessionCaptureCallback.java create mode 100644 modules/juce_video/native/java/app/com/roli/juce/CameraCaptureSessionStateCallback.java create mode 100644 modules/juce_video/native/java/app/com/roli/juce/CameraDeviceStateCallback.java create mode 100644 modules/juce_video/native/java/app/com/roli/juce/JuceOrientationEventListener.java create mode 100644 modules/juce_video/native/java/app/com/roli/juce/MediaControllerCallback.java create mode 100644 modules/juce_video/native/java/app/com/roli/juce/MediaSessionCallback.java create mode 100644 modules/juce_video/native/java/app/com/roli/juce/SystemVolumeObserver.java diff --git a/BREAKING-CHANGES.txt b/BREAKING-CHANGES.txt index 94086eef..79c5bfd2 100644 --- a/BREAKING-CHANGES.txt +++ b/BREAKING-CHANGES.txt @@ -1,891 +1,970 @@ -JUCE breaking changes -===================== - -Develop -======= - - -Version 5.4.0 -============= - -Change ------- -The use of WinRT MIDI functions has been disabled by default for any version -of Windows 10 before 1809 (October 2018 Update). - -Possible Issues ---------------- -If you were previously using WinRT MIDI functions on older versions of Windows -then the new behaviour is to revert to the old Win32 MIDI API. - -Workaround ----------- -Set the preprocessor macro JUCE_FORCE_WINRT_MIDI=1 (in addition to the -previously selected JUCE_USE_WINRT_MIDI=1) to allow the use of the WinRT API on -older versions of Windows. - -Rationale ---------- -Until now JUCE's support for the Windows 10 WinRT MIDI API was experimental, -due to longstanding issues within the API itself. These issues have been -addressed in the Windows 10 1809 (October 2018 Update) release. - - -Change ------- -The VST2 SDK embedded within JUCE has been removed. - -Possible Issues ---------------- -1. Building or hosting VST2 plug-ins requires header files from the VST2 SDK, - which is no longer part of JUCE. -2. Building a VST2-compatible VST3 plug-in (the previous default behaviour in - JUCE) requires header files from the VST2 SDK, which is no longer part of - JUCE. When a new JUCE plug-in project is created the option - JUCE_VST3_CAN_REPLACE_VST2 will be set to zero. - -Workaround ----------- -1. The VST2 SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or - older) VST3 SDK or JUCE version 5.3.2. You should put the VST2 SDK in your - header search paths or use the "VST (Legacy) SDK Folder" fields in the - Projucer. -2. For new plug-in projects where you will be releasing both a VST2 and VST3 - version, and you want the VST3 plug-in to replace the VST2 plug-in in - hosts that support it, then you should enable the JUCE_VST3_CAN_REPLACE_VST2 - option. - -Rationale ---------- -Distributing VST2 plug-ins requires a VST2 license from Steinberg. Following -Steinberg's removal of the VST2 SDK from their public SDKs we are also removing -the VST2 SDK from the JUCE codebase. - - -Change ------- -The AudioProcessorValueTreeState::createAndAddParameter function has been -deprecated. - -Possible Issues ---------------- -Deprecation warnings will be seen when compiling code which uses this function -and eventually builds will fail when it is later removed from the API. - -Workaround ----------- -Previous calls to - -createAndAddParameter (paramID, paramName, ...); - -can be directly replaced with - -using Parameter = AudioProcessorValueTreeState::Parameter; -createAndAddParameter (std::make_unique (paramID, paramName, ...)); - -but an even better approach is to use the new AudioProcessorValueTreeState -constructor where you can pass both RangedAudioParameters and -AudioProcessorParameterGroups of RangedAudioParameters to the -AudioProcessorValueTreeState and initialise the ValueTree simultaneously. - -Rationale ---------- -The new createAndAddParameter method is much more flexible and enables any -parameter types derived from RangedAudioParameter to be managed by the -AudioProcessorValueTreeState. - - -Change ------- -The Projucer's per-exporter Android SDK/NDK path options have been removed. - -Possible Issues ---------------- -Projects that previously used these fields may no longer build. - -Workaround ----------- -Use the Projucer's global paths settings to point to these directories, either -by opening the "Projucer/File->Global Paths..." menu item or using the -"--set-global-search-path" command-line option. - -Rationale ---------- -Having multiple places where the paths could be set was confusing and could -cause unexpected mismatches. - - -Change ------- -SystemStats::getDeviceDescription() will now return the device code on iOS e.g. -"iPhone7, 2" for an iPhone 6 instead of just "iPhone". - -Possible Issues ---------------- -Code that previously relied on this method returning either explicitly "iPhone" -or "iPad" may no longer work. - -Workaround ----------- -Modify this code to handle the new device code string e.g. by changing: -SystemStats::getDeviceDescription() == "iPhone"; -to -SystemStats::getDeviceDescription().contains ("iPhone");. - -Rationale ---------- -The exact device model can now be deduced from this information instead of just -the device family. - - -Change ------- -DragAndDropContainer::performExternalDragDropOfFiles() and -::performExternalDragDropOfText() are now asynchronous on Windows. - -Possible Issues ---------------- -Code that previously relied on these operations being synchronous and blocking -until completion will no longer work as the methods will return immediately and -run asynchronously. - -Workaround ----------- -Use the callback argument that has been added to these methods to register a -lambda that will be called when the operation has been completed. - -Rationale ---------- -The behaviour of these methods is now consistent across all platforms and the -method no longer blocks the message thread on Windows. - - -Change ------- -AudioProcessor::getTailLengthSeconds can now return infinity for -VST/VST3/AU/AUv3. - -Possible Issues ---------------- -If you are using the result of getTailLengthSeconds to allocate a buffer in -your host, then your host will now likely crash when loading a plug-in with an -infinite tail time. - -Workaround ----------- -Rewrite your code to not use the result of getTailLengthSeconds directly to -allocate a buffer. - -Rationale ---------- -Before this change there was no way for a JUCE plug-in to report an infinite -tail time. - - -Version 5.3.2 -============= - -Change ------- -The behaviour of an UndoManager used by an AudioProcessorValueTreeState has -been improved. - -Possible Issues ---------------- -If your plug-in contains an UndoManager used by an AudioProcessorValueTreeState -and relies upon the old behaviour of the UndoManager then it is possible that -the new behaviour is no longer appropriate for your use case. - -Workaround ----------- -Use an external UndoManager to reproduce the old behaviour manually. - -Rationale ---------- -This change fixes a few bugs in the behaviour of an UndoManager used by an -AudioProcessorValueTreeState. - - -Change ------- -JUCE no longer supports OS X deployment targets earlier than 10.7. - -Possible Issues ---------------- -If you were previously targeting OS X 10.5 or 10.6 you will no longer be able -to build JUCE-based products compatible with those platforms. - -Workaround ----------- -None. With the appropriate JUCE licence you may be able to backport new JUCE -features, but there will be no official support for this. - -Rationale ---------- -Increasing the minimum supported OS X version allows the JUCE codebase to make -use of the more modern C++ features found in the 10.7 standard library, which -in turn will increase thread and memory safety. - - -Version 5.3.0 -============= - -Change ------- -The JUCE examples have been cleaned up, modernised and converted into PIPs -(Projucer Instant Projects). The JUCE Demo has been removed and replaced by the -DemoRunner application and larger projects such as the Audio Plugin Host and -the Network Graphics Demo have been moved into the extras directory. - -Possible Issues ---------------- -1. Due to the large number of changes that have occurred in the JUCE Git - repository, pulling this version may result in a messy folder structure with - empty directories that have been removed. -2. The JUCE Demo project is no longer in the JUCE repository. -3. The Audio Plugin Host project has moved from the examples directory to the - extras directory. - -Workaround ----------- -1. Run a Git clean command (git clean -xdf) in your JUCE directory to remove - all untracked files, directories and build products. -2. The new DemoRunner application, located in extras/DemoRunner, can be used to - preview all the JUCE examples and see the code side-by-side. -3. Change any file paths that depended on the plugin host project being located - in the examples directory to use the extras directory instead. - -Rationale ---------- -The JUCE examples had inconsistent naming, coding styles and the projects and -build products took up a large amount of space in the repository. Replacing -them with PIPs reduces the file size and allows us to categorise the examples -better, as well as cleaning up the code. - - -Change ------- -When hosting plug-ins all AudioProcessor methods of managing parameters that -take a parameter index as an argument have been deprecated. - -Possible Issues ---------------- -A single assertion will be fired in debug builds on the first use of a -deprecated function. - -Workaround ----------- -When hosting plug-ins you should use the AudioProcessor::getParameters() method -and interact with parameters via the returned array of -AudioProcessorParameters. For a short-term fix you can also continue past the -assertion in your debugger, or temporarily modify the JUCE source code to -remove it. - -Rationale ---------- -Given the structure of JUCE's API it is impossible to deprecate these functions -using only compile-time messages. Therefore a single assertion, which can be -safely ignored, serves to indicate that these functions should no longer be -used. The move away from the AudioProcessor methods both improves the interface -to that class and makes ongoing development work much easier. - - -Change ------- -This InAppPurchases class is now a JUCE Singleton. This means that you need -to get an instance via InAppPurchases::getInstance(), instead of storing a -InAppPurchases object yourself. - -Possible Issues ---------------- -Any code using InAppPurchases needs to be updated to retrieve a singleton -pointer to InAppPurchases. - -Workaround ----------- -Instead of holding a InAppPurchase member yourself, you should get an instance -via InAppPurchases::getInstance(), e.g. - -instead of: - -InAppPurchases iap; -iap.purchaseProduct (...); - -call: - -InAppPurchases::getInstance()->purchaseProduct (...); - -Rationale ---------- -This change was required to fix an issue on Android where on failed transaction -a listener would not get called. - - -Change ------- -JUCE's MPE classes have been updated to reflect the official specification -recently approved by the MIDI Manufacturers Association (MMA). - -Possible Issues ---------------- -The most significant changes have occurred in the MPEZoneLayout classes and -programs using the higher level MPE classes such as MPEInstrument, -MPESynthesiser, MPESynthesiserBase and MPESynthesiserVoice should be -unaffected. - -Previously, any MIDI channel from 1 - 15 could be selected to be the master -channel of an MPE zone, with a specified number of member channels ascending -from the master channel + 1. However, in the new specification this has been -simplified so that a device only has a lower and/or an upper zone, where the -lower zone has master channel 1 and assigns new member channels ascending from -channel 2 and the upper zone has master channel 16 and assigns new member -channels descending from channel 15. - -Workaround ----------- -Use the MPEZoneLayout::setLowerZone() and MPEZoneLayout::setUpperZone() methods -to set zone layouts. - -Any UI that allows users to select and set zones on an MPE instrument should -also be updated to reflect the specification changes. - -Rationale ---------- -The MPE classes in JUCE are out of date and should be updated to reflect the -new, official MPE standard. - - -Version 5.2.1 -============= - -Change ------- -Calling JUCEApplicationBase::quit() on Android will now really quit the app, -rather than just placing it in background. Starting with API level 21 (Android -5.0), the app will not appear in recent apps list after calling quit(). Prior -to API 21, the app will still appear in recent app lists but when a user -chooses the app, a new instance of the app will be started. - -Possible Issues ---------------- -Any code calling JUCEApplicationBase::quit() to place the app in background -will close the app instead. - -Workaround ----------- -Use Process::hide(). - -Rationale ---------- -The old behaviour JUCEApplicationBase::quit() was confusing JUCE code, as a new -instance of JUCE app was attempted to be created, while the older instance was -still running in background. This would result in assertions when starting a -second instance. - - -Change ------- -On Windows, release builds will now link to the dynamic C++ runtime by default - -Possible Issues ---------------- -If you are creating a new .jucer project, then your plug-in will now link to -the dynamic C++ runtime by default, which means that you MUST ensure that the -C++ runtime libraries exist on your customer's computers. - -Workaround ----------- -If you are only targeting Windows 10, then the C++ runtime is now part of the -system core components and will always exist on the computers of your customers -(just like kernel332.dll, for example). If you are targeting Windows versions -between Vista and Windows 10, then you should build your plug-in with the -latest updated version of VS2015 or later, which ensures that it's linked to -the universal runtime. Universal runtime is part of the system's core libraries -on Windows 10 and on Windows versions Vista to 8.1, it will be available on -your customer's computers via Windows Update. Unfortunately, if your customer -has just installed Windows 8.1 to Vista on a fresh computer, then there is a -chance that the update mechanism for the universal runtime hasn't triggered yet -and your plug-in may still fail. Your installer should prompt the user to -install all the Windows updates in this case or you can deploy the universal -runtime as a redistributable with your installer. If you are targeting earlier -versions of Windows then you should always include the runtime as a -redistributable with your plug-in's installer. Alternatively, you can change -the runtime linking to static (however, see 'Rationale' section). - -Rationale ---------- -In a recent update to Windows 10, Microsoft has limited the number of fiber -local storage (FLS) slots per process. Effectively, this limits how many -plug-ins with static runtime linkage can be loaded into a DAW. In the worst -case, this limits the total number of plug-ins to a maximum of 64 plug-ins. -There is no workaround for DAW vendors and the only solution is to push plug-in -vendors to use the dynamic runtime. To help with this, JUCE has decided to make -dynamic runtime linkage the default in JUCE. - - -Change ------- -AudioProcessorGraph interface has changed in a number of ways - Node objects -are now reference counted, there are different accessor methods to iterate -them, and misc other small improvements to the API - -Possible Issues ---------------- -The changes won't cause any silent errors in user code, but will require some -manual refactoring - -Workaround ----------- -Just find equivalent new methods to replace existing code. - -Rationale ---------- -The graph class was extremely old and creaky, and these changes is the start of -an improvement process that should eventually result in it being broken down -into fundamental graph building block classes for use in other contexts. - - -Version 5.2.0 -============= - -Change ------- -Viewport now enables "scroll on drag" mode by default on Android and iOS. - -Possible Issues ---------------- -Any code relying on "scroll on drag" mode being turned off by default, should -disable it manually. - -Workaround ----------- -None. - -Rationale ---------- -It is expected on mobile devices to be able to scroll a list by just a drag, -rather than using a dedicated scrollbar. The scrollbar is still available -though if needed. - - -Change ------- -The previous setting of Android exporter "Custom manifest xml elements" -creating child nodes of element has been replaced by "Custom -manifest XML content" setting that allows to specify the content of the entire -manifest instead. Any previously values of the old setting will be used in the -new setting by default, and they will need changing as mentioned in Workaround. -The custom content will be merged with the content auto-generated by Projucer. -Any custom elements or custom attributes will override the ones set by -Projucer. Projucer will also automatically add any missing and required -elements and attributes. - -Possible Issues ---------------- -If a Projucer project used "Custom manifest xml elements" field, the value will -no longer be compatible with the project generated in the latest Projucer -version. The solution is very simple and quick though, as mentioned in the -Workaround section. - -Workaround ----------- -For any elements previously used, simply embed them explicitly in - elements, for example instead of: - - - - -simply write: - - - - - - - - -Rationale ---------- -To maintain the high level of flexibility of generated Android projects and to -avoid creating fields in Projucer for every possible future parameter, it is -simpler to allow to set up the required parameters manually. This way it is not -only possible to add any custom elements but it is also possible to override -the default attributes assigned by Projucer for the required elements. For -instance, if the default value of element is not -satisfactory because you want a support for x-large screens only, simply set -"Custom manifest XML content" to: - - - - - - -Version 5.1.2 -============= - -Change ------- -The method used to classify AudioUnit, VST3 and AAX plug-in parameters as -either continuous or discrete has changed, and AudioUnit and AudioUnit v3 -parameters are marked as high precision by default. - -Possible Issues ---------------- -Plug-ins: DAW projects with automation data written by an AudioUnit, AudioUnit -v3 VST3 or AAX plug-in built with JUCE version 5.1.1 or earlier may load -incorrectly when opened by an AudioUnit, AudioUnit v3, VST3 or AAX plug-in -built with JUCE version 5.1.2 and later. - -Hosts: The AudioPluginInstance::getParameterNumSteps method now returns correct -values for AU and VST3 plug-ins. - -Workaround ----------- -Plug-ins: Enable JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE in the -juce_audio_plugin_client module config page in the Projucer. - -Hosts: Use AudioPluginInstance::getDefaultNumParameterSteps as the number of -steps for all parameters. - -Rationale ---------- -The old system for presenting plug-in parameters to a host as either continuous -or discrete is inconsistent between plug-in types and lacks sufficient -flexibility. This change harmonises the behaviour and allows individual -parameters to be marked as continuous or discrete. If AudioUnit and AudioUnit -v3 parameters are not marked as high precision then hosts like Logic Pro only -offer a limited number of parameter values, which again produces different -behaviour for different plug-in types. - - -Change ------- -A new FrameRateType fps23976 has been added to AudioPlayHead, - -Possible Issues ---------------- -Previously JUCE would report the FrameRateType fps24 for both 24 and 23.976 -fps. If your code uses switch statements (or similar) to handle all possible -frame rate types, then this change may cause it to fall through. - -Workaround ----------- -Add fps23976 to your switch statement and handle it appropriately. - -Rationale ---------- -JUCE should be able to handle all popular frame rate codes but was missing -support for 23.976. - - -Change ------- -The String (bool) constructor and operator<< (String&, bool) have been -explicitly deleted. - -Possible Issues ---------------- -Previous code which relied on an implicit bool to int type conversion to -produce a String will not compile. - -Workaround ----------- -Cast your bool to an integer to generate a string representation of it. - -Rationale ---------- -Letting things implicitly convert to bool to produce a String opens the door to -all kinds of nasty type conversion edge cases. Furthermore, before this change, -MacOS would automatically convert bools to ints but this wouldn't occur on -different platform. Now the behaviour is consistent across all operating -systems supported by JUCE. - - -Change ------- -The writeAsJSON virtual method of the DynamicObject class requires an -additional parameter, maximumDecimalPlaces, to specify the maximum precision of -floating point numbers. - -Possible Issues ---------------- -Classes which inherit from DynamicObject and override this method will need to -update their method signature. - -Workaround ----------- -Your custom DynamicObject class can choose to ignore the additional parameter -if you don't wish to support this behaviour. - -Rationale ---------- -When serialising the results of calculations to JSON the rounding of floating -point numbers can result in numbers with 17 significant figures where only a -few are required. This change to DynamicObject is required to support -truncating those numbers. - - -Version 5.1.0 -============= - -Change ------- -The JUCE_COMPILER_SUPPORTS_LAMBDAS preprocessor macro has been removed. - -Possible Issues ---------------- -If your project is using JUCE_COMPILER_SUPPORTS_LAMBDAS in your source code -then it will likely evaluate to "false" and you could end up unnecessarily -using code paths which avoid lambda functions. - -Workaround ----------- -Remove the usage of JUCE_COMPILER_SUPPORTS_LAMBDAS from your code. - -Rationale ---------- -Lambda functions are now available on all platforms that JUCE supports. - - -Change ------- -The option to set the C++ language standard is now located in the project -settings instead of the build configuration settings. - -Possible Issues ---------------- -Projects that had a specific version of the C++ language standard set for -exporter build configurations will instead use the default (C++11) when -re-saving with the new Projucer. - -Workaround ----------- -Change the "C++ Language Standard" setting in the main project settings to the -required version - the Projucer will add this value to the exported project as -a compiler flag when saving exporters. - -Rationale ---------- -Having a different C++ language standard option for each build configuration -was unnecessary and was not fully implemented for all exporters. Changing it to -a per-project settings means that the preference will propagate to all -exporters and only needs to be set in one place. - - -Change ------- -PopupMenus now scale according to the AffineTransform and scaling factor of -their target components. - -Possible Issues ---------------- -Developers who have manually scaled their PopupMenus to fit the scaling factor -of the parent UI will now have the scaling applied two times in a row. - -Workaround ----------- -1. Do not apply your own manual scaling to make your popups match the UI - scaling - -or - -2. Override the Look&Feel method - PopupMenu::LookAndFeelMethods::shouldPopupMenuScaleWithTargetComponent and - return false. See - https://github.com/WeAreROLI/JUCE/blob/c288c94c2914af20f36c03ca9c5401fcb555e4e9/modules/juce_gui_basics/menus/juce_PopupMenu.h#725 - -Rationale ---------- -Previously, PopupMenus would not scale if the GUI of the target component (or -any of it’s parents) were scaled. The only way to scale PopupMenus was via the -global scaling factor. This had several drawbacks as the global scaling factor -would scale everything. This was especially problematic in plug-in editors. - - -Change ------- -Removed the setSecurityFlags() method from the Windows implementation of -WebInputStream as it disabled HTTPS security features. - -Possible Issues ---------------- -Any code previously relying on connections to insecure webpages succeeding will -no longer work. - -Workaround ----------- -Check network connectivity on Windows and re-write any code that relied on -insecure connections. - -Rationale ---------- -The previous behaviour resulted in network connections on Windows having all -the HTTPS security features disabled, exposing users to network attacks. HTTPS -connections on Windows are now secure and will fail when connecting to an -insecure web address. - - -Change ------- -Pointer arithmetic on a pointer will have the same result regardless if it is -wrapped in JUCE's Atomic class or not. - -Possible Issues ---------------- -Any code using pointer arithmetic on Atomic will now have a different -result leading to undefined behaviour or crashes. - -Workaround ----------- -Re-write your code in a way that it does not depend on your pointer being -wrapped in JUCE's Atomic or not. See rationale. - -Rationale ---------- -Before this change, pointer arithmetic with JUCE's Atomic type would yield -confusing results. For example, the following code would assert before this -change: - -int* a; Atomic b; - -jassert (++a == ++b); - -Pointer a in the above code would be advanced by sizeof(int) whereas the JUCE's -Atomic always advances it's underlying pointer by a single byte. The same is -true for operator+=/operator-= and operator--. The difference in behaviour is -confusing and unintuitive. Furthermore, this aligns JUCE's Atomic type with -std::atomic. - - -Version 4.3.1 -============= - -Change ------- -JUCE has changed the way native VST3/AudioUnit parameter ids are calculated. - -Possible Issues ---------------- -DAW projects with automation data written by an AudioUnit or VST3 plug-in built -with pre JUCE 4.3.1 versions will load incorrectly when opened by an AudioUnit -or VST3 built with JUCE versions 4.3.1 and later. Plug-ins using -JUCE_FORCE_USE_LEGACY_PARAM_IDS are not affected. - -Workaround ----------- -Disable JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS in the -juce_audio_plugin_client module config page in the Projucer. For new plug-ins, -be sure to use the default value for this property. - -Rationale --------- -JUCE needs to convert between its own JUCE parameter id format (strings) to the -native parameter id formats of the various plug-in backends. For VST3 and -AudioUnits, JUCE uses a hash function to generate a numeric id. However, some -VST3/AudioUnit hosts (specifically Studio One) have a bug that ignore any -parameters that have a negative parameter id. Therefore, the hash function for -VST3/AudioUnits needed to be changed to only return positive-valued hashes. - - -Version 4.3.0 -============= - -Change ------- -A revised multi-bus API was released which supersedes the previously flawed -multi-bus API - JUCE versions 4.0.0 - 4.2.4 (inclusive). - -Possible Issues ---------------- -If you have developed a plug-in with JUCE versions 4.0.0 - 4.2.4 (inclusive), -then you will need to update your plug-in to the new multi-bus API. Pre JUCE -4.0.0 plug-ins are not affected apart from other breaking changes listed in -this document. - -Woraround ---------- -None. - -Rationale --------- -A flawed multi-bus API was introduced with JUCE versions 4.0.0 up until version -4.2.4 (inclusive) which was not API compatible with pre JUCE 4 plug-ins. JUCE -4.3.0 releases a revised multi-bus API which restores pre JUCE 4 API -compatibility. However, the new multi-bus API is not compatible with the flawed -multi-bus API (JUCE version 4.0.0 - 4.2.4). - - -Change ------- -JUCE now generates the AAX plug-in bus layout configuration id independent from -the position as it appears in the Projucer’s legacy "Channel layout -configuration" field. - -Possible Issues ---------------- -ProTools projects generated with a < 4.3.0 JUCE versions of your plug-in, may -load the incorrect bus configuration when upgrading your plug-in to >= 4.3.0 -versions of JUCE. - -Workaround ----------- -Implement AudioProcessor’s getAAXPluginIDForMainBusConfig callback to manually -override which AAX plug-in id is associated to a specific bus layout of your -plug-in. This workaround is only necessary if you have released your plug-in -built with a version previous to JUCE 4.3.0. - -Rationale --------- -The new multi-bus API offers more features, flexibility and accuracy in -specifying bus layouts which cannot be expressed by the Projucer’s legacy -"Channel layout configuration" field. The native plug-in format backends use -the new multi-bus callback APIs to negotiate channel layouts with the host - -including the AAX plug-in ids assigned to specific bus layouts. With the -callback API, there is no notion of an order in which the channel -configurations appear - as was the case with the legacy "Channel layout -configuration" field - and therefore cannot be used to generate the AAX plug-in -id. To remain backward compatible to pre JUCE 4.0.0 plug-ins, JUCE does -transparently convert the legacy "Channel layout configuration" field to the -new callback based multi-bus API, but this does not take the order into account -in which the channel configurations appear in the legacy "Channel layout -configuration" field. - - -Version 4.2.1 -============= - -Change ------- -JUCE now uses the paramID property used in AudioProcessorParameterWithID to -uniquely identify parameters to the host. - -Possible Issues ---------------- -DAW projects with automation data written by an audio plug-in built with pre -JUCE 4.2.1 will load incorrectly when opened by an audio plug-in built with -JUCE 4.2.1 and later. - -Workaround ----------- -Enable JUCE_FORCE_USE_LEGACY_PARAM_IDS in the juce_audio_plugin_client module config -page in the Projucer. For new plug-ins, be sure to disable this property. - -Rationale --------- -Each parameter of the AudioProcessor has an id associated so that the plug-in’s -host can uniquely identify parameters. The id has a different data-type for -different plug-in types (for example VST uses integers, AAX uses string -identifiers). Before 4.2.1, JUCE generated the parameter id by using the index -of the parameter, i.e. the first parameter had id zero, the second parameter -had id one, etc. This caused problems for certain plug-in types where JUCE -needs to add internal parameters to the plug-in (for example VST3 requires the -bypass control to be a parameter - so JUCE automatically creates this parameter -for you in the VST3 backend). This causes subtle problems if a parameter is -added to an update of an already published plug-in. The new parameter’s id -would be identical to the id of the bypass parameter in old versions of your -plug-in, causing seemingly random plug-in bypass behaviour when user’s upgrade -their plug-in. - -Most plug-in backends differentiate between a parameter’s id an index, so this -distinction was adopted starting with JUCE 4.2.1 by deriving the parameter’s -unique id from the paramID property of AudioProcessorParameterWithID class. +JUCE breaking changes +===================== + +Version 5.4.2 +============= + +Change +----- +The return type of Block::getBlockAreaWithinLayout() has been changed from +Rectangle to a simpler BlockArea struct. + +Possible Issues +--------------- +Classes that derive from Block and implement this pure virtual method will no +longer compile due to a change in the function signature. + +Workaround +---------- +Update the method to return a BlockArea struct and update code that calls +getBlockAreaWithinLayout to handle a BlockArea instead of a Rectangle. + +Rationale +--------- +The juce_blocks_basics is ISC licensed and therefore cannot depend on the +GPL/Commercial licensed juce_graphics module that contains Rectangle. + + +Change +----- +Renaming and deletion of open file handles on Windows is now possible using the +FILE_SHARE_DELETE flag. + +Possible Issues +--------------- +Previous code that relied on open files not being able to be renamed or deleted +on Windows may fail. + +Workaround +---------- +No workaround. + +Rationale +--------- +This unifies the behaviour across OSes as POSIX systems already allow this. + + +Change +----- +Multiple changes to low-level, non-public JNI and Android APIs. + +Possible Issues +--------------- +If you were using any non-public, low-level JNI macros, calling java code or +recieving JNI callbacks, then your code will probably no longer work. See the +forum for further details. + +Workaround +---------- +See the forum for further details. + +Rationale +--------- +See the forum for further details. + + +Change +----- +The minimum Android version for a JUCE app is now Android 4.1 + +Possible Issues +--------------- +Your app may not run on very old versions of Android (less than 0.5% of the +devices). + +Workaround +---------- +There is no workaround. + +Rationale +--------- +Less than 0.5% of all devices in the world run versions of Android older than +Android 4.1. In the interest of keeping JUCE code clean and lean, we must +depricate support for very old Android versions from time to time. + + +Version 5.4.0 +============= + +Change +------ +The use of WinRT MIDI functions has been disabled by default for any version +of Windows 10 before 1809 (October 2018 Update). + +Possible Issues +--------------- +If you were previously using WinRT MIDI functions on older versions of Windows +then the new behaviour is to revert to the old Win32 MIDI API. + +Workaround +---------- +Set the preprocessor macro JUCE_FORCE_WINRT_MIDI=1 (in addition to the +previously selected JUCE_USE_WINRT_MIDI=1) to allow the use of the WinRT API on +older versions of Windows. + +Rationale +--------- +Until now JUCE's support for the Windows 10 WinRT MIDI API was experimental, +due to longstanding issues within the API itself. These issues have been +addressed in the Windows 10 1809 (October 2018 Update) release. + + +Change +------ +The VST2 SDK embedded within JUCE has been removed. + +Possible Issues +--------------- +1. Building or hosting VST2 plug-ins requires header files from the VST2 SDK, + which is no longer part of JUCE. +2. Building a VST2-compatible VST3 plug-in (the previous default behaviour in + JUCE) requires header files from the VST2 SDK, which is no longer part of + JUCE. + +Workaround +---------- +1. The VST2 SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or + older) VST3 SDK or JUCE version 5.3.2. You should put the VST2 SDK in your + header search paths or use the "VST (Legacy) SDK Folder" fields in the + Projucer. +2. For new plug-in projects where you will be releasing both a VST2 and VST3 + version, and you want the VST3 plug-in to replace the VST2 plug-in in + hosts that support it, then you should enable the JUCE_VST3_CAN_REPLACE_VST2 + option. +3. When a new JUCE plug-in project is created the value of + JUCE_VST3_CAN_REPLACE_VST2 will be set to zero. + +Rationale +--------- +Distributing VST2 plug-ins requires a VST2 license from Steinberg. Following +Steinberg's removal of the VST2 SDK from their public SDKs we are also removing +the VST2 SDK from the JUCE codebase. + + +Change +------ +The AudioProcessorValueTreeState::createAndAddParameter function has been +deprecated. + +Possible Issues +--------------- +Deprecation warnings will be seen when compiling code which uses this function +and eventually builds will fail when it is later removed from the API. + +Workaround +---------- +Previous calls to + +createAndAddParameter (paramID, paramName, ...); + +can be directly replaced with + +using Parameter = AudioProcessorValueTreeState::Parameter; +createAndAddParameter (std::make_unique (paramID, paramName, ...)); + +but an even better approach is to use the new AudioProcessorValueTreeState +constructor where you can pass both RangedAudioParameters and +AudioProcessorParameterGroups of RangedAudioParameters to the +AudioProcessorValueTreeState and initialise the ValueTree simultaneously. + +Rationale +--------- +The new createAndAddParameter method is much more flexible and enables any +parameter types derived from RangedAudioParameter to be managed by the +AudioProcessorValueTreeState. + + +Change +------ +The Projucer's per-exporter Android SDK/NDK path options have been removed. + +Possible Issues +--------------- +Projects that previously used these fields may no longer build. + +Workaround +---------- +Use the Projucer's global paths settings to point to these directories, either +by opening the "Projucer/File->Global Paths..." menu item or using the +"--set-global-search-path" command-line option. + +Rationale +--------- +Having multiple places where the paths could be set was confusing and could +cause unexpected mismatches. + + +Change +------ +SystemStats::getDeviceDescription() will now return the device code on iOS e.g. +"iPhone7, 2" for an iPhone 6 instead of just "iPhone". + +Possible Issues +--------------- +Code that previously relied on this method returning either explicitly "iPhone" +or "iPad" may no longer work. + +Workaround +---------- +Modify this code to handle the new device code string e.g. by changing: +SystemStats::getDeviceDescription() == "iPhone"; +to +SystemStats::getDeviceDescription().contains ("iPhone");. + +Rationale +--------- +The exact device model can now be deduced from this information instead of just +the device family. + + +Change +------ +DragAndDropContainer::performExternalDragDropOfFiles() and +::performExternalDragDropOfText() are now asynchronous on Windows. + +Possible Issues +--------------- +Code that previously relied on these operations being synchronous and blocking +until completion will no longer work as the methods will return immediately and +run asynchronously. + +Workaround +---------- +Use the callback argument that has been added to these methods to register a +lambda that will be called when the operation has been completed. + +Rationale +--------- +The behaviour of these methods is now consistent across all platforms and the +method no longer blocks the message thread on Windows. + + +Change +------ +AudioProcessor::getTailLengthSeconds can now return infinity for +VST/VST3/AU/AUv3. + +Possible Issues +--------------- +If you are using the result of getTailLengthSeconds to allocate a buffer in +your host, then your host will now likely crash when loading a plug-in with an +infinite tail time. + +Workaround +---------- +Rewrite your code to not use the result of getTailLengthSeconds directly to +allocate a buffer. + +Rationale +--------- +Before this change there was no way for a JUCE plug-in to report an infinite +tail time. + + +Version 5.3.2 +============= + +Change +------ +The behaviour of an UndoManager used by an AudioProcessorValueTreeState has +been improved. + +Possible Issues +--------------- +If your plug-in contains an UndoManager used by an AudioProcessorValueTreeState +and relies upon the old behaviour of the UndoManager then it is possible that +the new behaviour is no longer appropriate for your use case. + +Workaround +---------- +Use an external UndoManager to reproduce the old behaviour manually. + +Rationale +--------- +This change fixes a few bugs in the behaviour of an UndoManager used by an +AudioProcessorValueTreeState. + + +Change +------ +JUCE no longer supports OS X deployment targets earlier than 10.7. + +Possible Issues +--------------- +If you were previously targeting OS X 10.5 or 10.6 you will no longer be able +to build JUCE-based products compatible with those platforms. + +Workaround +---------- +None. With the appropriate JUCE licence you may be able to backport new JUCE +features, but there will be no official support for this. + +Rationale +--------- +Increasing the minimum supported OS X version allows the JUCE codebase to make +use of the more modern C++ features found in the 10.7 standard library, which +in turn will increase thread and memory safety. + + +Version 5.3.0 +============= + +Change +------ +The JUCE examples have been cleaned up, modernised and converted into PIPs +(Projucer Instant Projects). The JUCE Demo has been removed and replaced by the +DemoRunner application and larger projects such as the Audio Plugin Host and +the Network Graphics Demo have been moved into the extras directory. + +Possible Issues +--------------- +1. Due to the large number of changes that have occurred in the JUCE Git + repository, pulling this version may result in a messy folder structure with + empty directories that have been removed. +2. The JUCE Demo project is no longer in the JUCE repository. +3. The Audio Plugin Host project has moved from the examples directory to the + extras directory. + +Workaround +---------- +1. Run a Git clean command (git clean -xdf) in your JUCE directory to remove + all untracked files, directories and build products. +2. The new DemoRunner application, located in extras/DemoRunner, can be used to + preview all the JUCE examples and see the code side-by-side. +3. Change any file paths that depended on the plugin host project being located + in the examples directory to use the extras directory instead. + +Rationale +--------- +The JUCE examples had inconsistent naming, coding styles and the projects and +build products took up a large amount of space in the repository. Replacing +them with PIPs reduces the file size and allows us to categorise the examples +better, as well as cleaning up the code. + + +Change +------ +When hosting plug-ins all AudioProcessor methods of managing parameters that +take a parameter index as an argument have been deprecated. + +Possible Issues +--------------- +A single assertion will be fired in debug builds on the first use of a +deprecated function. + +Workaround +---------- +When hosting plug-ins you should use the AudioProcessor::getParameters() method +and interact with parameters via the returned array of +AudioProcessorParameters. For a short-term fix you can also continue past the +assertion in your debugger, or temporarily modify the JUCE source code to +remove it. + +Rationale +--------- +Given the structure of JUCE's API it is impossible to deprecate these functions +using only compile-time messages. Therefore a single assertion, which can be +safely ignored, serves to indicate that these functions should no longer be +used. The move away from the AudioProcessor methods both improves the interface +to that class and makes ongoing development work much easier. + + +Change +------ +This InAppPurchases class is now a JUCE Singleton. This means that you need +to get an instance via InAppPurchases::getInstance(), instead of storing a +InAppPurchases object yourself. + +Possible Issues +--------------- +Any code using InAppPurchases needs to be updated to retrieve a singleton +pointer to InAppPurchases. + +Workaround +---------- +Instead of holding a InAppPurchase member yourself, you should get an instance +via InAppPurchases::getInstance(), e.g. + +instead of: + +InAppPurchases iap; +iap.purchaseProduct (...); + +call: + +InAppPurchases::getInstance()->purchaseProduct (...); + +Rationale +--------- +This change was required to fix an issue on Android where on failed transaction +a listener would not get called. + + +Change +------ +JUCE's MPE classes have been updated to reflect the official specification +recently approved by the MIDI Manufacturers Association (MMA). + +Possible Issues +--------------- +The most significant changes have occurred in the MPEZoneLayout classes and +programs using the higher level MPE classes such as MPEInstrument, +MPESynthesiser, MPESynthesiserBase and MPESynthesiserVoice should be +unaffected. + +Previously, any MIDI channel from 1 - 15 could be selected to be the master +channel of an MPE zone, with a specified number of member channels ascending +from the master channel + 1. However, in the new specification this has been +simplified so that a device only has a lower and/or an upper zone, where the +lower zone has master channel 1 and assigns new member channels ascending from +channel 2 and the upper zone has master channel 16 and assigns new member +channels descending from channel 15. + +Workaround +---------- +Use the MPEZoneLayout::setLowerZone() and MPEZoneLayout::setUpperZone() methods +to set zone layouts. + +Any UI that allows users to select and set zones on an MPE instrument should +also be updated to reflect the specification changes. + +Rationale +--------- +The MPE classes in JUCE are out of date and should be updated to reflect the +new, official MPE standard. + + +Version 5.2.1 +============= + +Change +------ +Calling JUCEApplicationBase::quit() on Android will now really quit the app, +rather than just placing it in background. Starting with API level 21 (Android +5.0), the app will not appear in recent apps list after calling quit(). Prior +to API 21, the app will still appear in recent app lists but when a user +chooses the app, a new instance of the app will be started. + +Possible Issues +--------------- +Any code calling JUCEApplicationBase::quit() to place the app in background +will close the app instead. + +Workaround +---------- +Use Process::hide(). + +Rationale +--------- +The old behaviour JUCEApplicationBase::quit() was confusing JUCE code, as a new +instance of JUCE app was attempted to be created, while the older instance was +still running in background. This would result in assertions when starting a +second instance. + + +Change +------ +On Windows, release builds will now link to the dynamic C++ runtime by default + +Possible Issues +--------------- +If you are creating a new .jucer project, then your plug-in will now link to +the dynamic C++ runtime by default, which means that you MUST ensure that the +C++ runtime libraries exist on your customer's computers. + +Workaround +---------- +If you are only targeting Windows 10, then the C++ runtime is now part of the +system core components and will always exist on the computers of your customers +(just like kernel332.dll, for example). If you are targeting Windows versions +between Vista and Windows 10, then you should build your plug-in with the +latest updated version of VS2015 or later, which ensures that it's linked to +the universal runtime. Universal runtime is part of the system's core libraries +on Windows 10 and on Windows versions Vista to 8.1, it will be available on +your customer's computers via Windows Update. Unfortunately, if your customer +has just installed Windows 8.1 to Vista on a fresh computer, then there is a +chance that the update mechanism for the universal runtime hasn't triggered yet +and your plug-in may still fail. Your installer should prompt the user to +install all the Windows updates in this case or you can deploy the universal +runtime as a redistributable with your installer. If you are targeting earlier +versions of Windows then you should always include the runtime as a +redistributable with your plug-in's installer. Alternatively, you can change +the runtime linking to static (however, see 'Rationale' section). + +Rationale +--------- +In a recent update to Windows 10, Microsoft has limited the number of fiber +local storage (FLS) slots per process. Effectively, this limits how many +plug-ins with static runtime linkage can be loaded into a DAW. In the worst +case, this limits the total number of plug-ins to a maximum of 64 plug-ins. +There is no workaround for DAW vendors and the only solution is to push plug-in +vendors to use the dynamic runtime. To help with this, JUCE has decided to make +dynamic runtime linkage the default in JUCE. + + +Change +------ +AudioProcessorGraph interface has changed in a number of ways - Node objects +are now reference counted, there are different accessor methods to iterate +them, and misc other small improvements to the API + +Possible Issues +--------------- +The changes won't cause any silent errors in user code, but will require some +manual refactoring + +Workaround +---------- +Just find equivalent new methods to replace existing code. + +Rationale +--------- +The graph class was extremely old and creaky, and these changes is the start of +an improvement process that should eventually result in it being broken down +into fundamental graph building block classes for use in other contexts. + + +Version 5.2.0 +============= + +Change +------ +Viewport now enables "scroll on drag" mode by default on Android and iOS. + +Possible Issues +--------------- +Any code relying on "scroll on drag" mode being turned off by default, should +disable it manually. + +Workaround +---------- +None. + +Rationale +--------- +It is expected on mobile devices to be able to scroll a list by just a drag, +rather than using a dedicated scrollbar. The scrollbar is still available +though if needed. + + +Change +------ +The previous setting of Android exporter "Custom manifest xml elements" +creating child nodes of element has been replaced by "Custom +manifest XML content" setting that allows to specify the content of the entire +manifest instead. Any previously values of the old setting will be used in the +new setting by default, and they will need changing as mentioned in Workaround. +The custom content will be merged with the content auto-generated by Projucer. +Any custom elements or custom attributes will override the ones set by +Projucer. Projucer will also automatically add any missing and required +elements and attributes. + +Possible Issues +--------------- +If a Projucer project used "Custom manifest xml elements" field, the value will +no longer be compatible with the project generated in the latest Projucer +version. The solution is very simple and quick though, as mentioned in the +Workaround section. + +Workaround +---------- +For any elements previously used, simply embed them explicitly in + elements, for example instead of: + + + + +simply write: + + + + + + + + +Rationale +--------- +To maintain the high level of flexibility of generated Android projects and to +avoid creating fields in Projucer for every possible future parameter, it is +simpler to allow to set up the required parameters manually. This way it is not +only possible to add any custom elements but it is also possible to override +the default attributes assigned by Projucer for the required elements. For +instance, if the default value of element is not +satisfactory because you want a support for x-large screens only, simply set +"Custom manifest XML content" to: + + + + + + +Version 5.1.2 +============= + +Change +------ +The method used to classify AudioUnit, VST3 and AAX plug-in parameters as +either continuous or discrete has changed, and AudioUnit and AudioUnit v3 +parameters are marked as high precision by default. + +Possible Issues +--------------- +Plug-ins: DAW projects with automation data written by an AudioUnit, AudioUnit +v3 VST3 or AAX plug-in built with JUCE version 5.1.1 or earlier may load +incorrectly when opened by an AudioUnit, AudioUnit v3, VST3 or AAX plug-in +built with JUCE version 5.1.2 and later. + +Hosts: The AudioPluginInstance::getParameterNumSteps method now returns correct +values for AU and VST3 plug-ins. + +Workaround +---------- +Plug-ins: Enable JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE in the +juce_audio_plugin_client module config page in the Projucer. + +Hosts: Use AudioPluginInstance::getDefaultNumParameterSteps as the number of +steps for all parameters. + +Rationale +--------- +The old system for presenting plug-in parameters to a host as either continuous +or discrete is inconsistent between plug-in types and lacks sufficient +flexibility. This change harmonises the behaviour and allows individual +parameters to be marked as continuous or discrete. If AudioUnit and AudioUnit +v3 parameters are not marked as high precision then hosts like Logic Pro only +offer a limited number of parameter values, which again produces different +behaviour for different plug-in types. + + +Change +------ +A new FrameRateType fps23976 has been added to AudioPlayHead, + +Possible Issues +--------------- +Previously JUCE would report the FrameRateType fps24 for both 24 and 23.976 +fps. If your code uses switch statements (or similar) to handle all possible +frame rate types, then this change may cause it to fall through. + +Workaround +---------- +Add fps23976 to your switch statement and handle it appropriately. + +Rationale +--------- +JUCE should be able to handle all popular frame rate codes but was missing +support for 23.976. + + +Change +------ +The String (bool) constructor and operator<< (String&, bool) have been +explicitly deleted. + +Possible Issues +--------------- +Previous code which relied on an implicit bool to int type conversion to +produce a String will not compile. + +Workaround +---------- +Cast your bool to an integer to generate a string representation of it. + +Rationale +--------- +Letting things implicitly convert to bool to produce a String opens the door to +all kinds of nasty type conversion edge cases. Furthermore, before this change, +MacOS would automatically convert bools to ints but this wouldn't occur on +different platform. Now the behaviour is consistent across all operating +systems supported by JUCE. + + +Change +------ +The writeAsJSON virtual method of the DynamicObject class requires an +additional parameter, maximumDecimalPlaces, to specify the maximum precision of +floating point numbers. + +Possible Issues +--------------- +Classes which inherit from DynamicObject and override this method will need to +update their method signature. + +Workaround +---------- +Your custom DynamicObject class can choose to ignore the additional parameter +if you don't wish to support this behaviour. + +Rationale +--------- +When serialising the results of calculations to JSON the rounding of floating +point numbers can result in numbers with 17 significant figures where only a +few are required. This change to DynamicObject is required to support +truncating those numbers. + + +Version 5.1.0 +============= + +Change +------ +The JUCE_COMPILER_SUPPORTS_LAMBDAS preprocessor macro has been removed. + +Possible Issues +--------------- +If your project is using JUCE_COMPILER_SUPPORTS_LAMBDAS in your source code +then it will likely evaluate to "false" and you could end up unnecessarily +using code paths which avoid lambda functions. + +Workaround +---------- +Remove the usage of JUCE_COMPILER_SUPPORTS_LAMBDAS from your code. + +Rationale +--------- +Lambda functions are now available on all platforms that JUCE supports. + + +Change +------ +The option to set the C++ language standard is now located in the project +settings instead of the build configuration settings. + +Possible Issues +--------------- +Projects that had a specific version of the C++ language standard set for +exporter build configurations will instead use the default (C++11) when +re-saving with the new Projucer. + +Workaround +---------- +Change the "C++ Language Standard" setting in the main project settings to the +required version - the Projucer will add this value to the exported project as +a compiler flag when saving exporters. + +Rationale +--------- +Having a different C++ language standard option for each build configuration +was unnecessary and was not fully implemented for all exporters. Changing it to +a per-project settings means that the preference will propagate to all +exporters and only needs to be set in one place. + + +Change +------ +PopupMenus now scale according to the AffineTransform and scaling factor of +their target components. + +Possible Issues +--------------- +Developers who have manually scaled their PopupMenus to fit the scaling factor +of the parent UI will now have the scaling applied two times in a row. + +Workaround +---------- +1. Do not apply your own manual scaling to make your popups match the UI + scaling + +or + +2. Override the Look&Feel method + PopupMenu::LookAndFeelMethods::shouldPopupMenuScaleWithTargetComponent and + return false. See + https://github.com/WeAreROLI/JUCE/blob/c288c94c2914af20f36c03ca9c5401fcb555e4e9/modules/juce_gui_basics/menus/juce_PopupMenu.h#725 + +Rationale +--------- +Previously, PopupMenus would not scale if the GUI of the target component (or +any of it’s parents) were scaled. The only way to scale PopupMenus was via the +global scaling factor. This had several drawbacks as the global scaling factor +would scale everything. This was especially problematic in plug-in editors. + + +Change +------ +Removed the setSecurityFlags() method from the Windows implementation of +WebInputStream as it disabled HTTPS security features. + +Possible Issues +--------------- +Any code previously relying on connections to insecure webpages succeeding will +no longer work. + +Workaround +---------- +Check network connectivity on Windows and re-write any code that relied on +insecure connections. + +Rationale +--------- +The previous behaviour resulted in network connections on Windows having all +the HTTPS security features disabled, exposing users to network attacks. HTTPS +connections on Windows are now secure and will fail when connecting to an +insecure web address. + + +Change +------ +Pointer arithmetic on a pointer will have the same result regardless if it is +wrapped in JUCE's Atomic class or not. + +Possible Issues +--------------- +Any code using pointer arithmetic on Atomic will now have a different +result leading to undefined behaviour or crashes. + +Workaround +---------- +Re-write your code in a way that it does not depend on your pointer being +wrapped in JUCE's Atomic or not. See rationale. + +Rationale +--------- +Before this change, pointer arithmetic with JUCE's Atomic type would yield +confusing results. For example, the following code would assert before this +change: + +int* a; Atomic b; + +jassert (++a == ++b); + +Pointer a in the above code would be advanced by sizeof(int) whereas the JUCE's +Atomic always advances it's underlying pointer by a single byte. The same is +true for operator+=/operator-= and operator--. The difference in behaviour is +confusing and unintuitive. Furthermore, this aligns JUCE's Atomic type with +std::atomic. + + +Version 4.3.1 +============= + +Change +------ +JUCE has changed the way native VST3/AudioUnit parameter ids are calculated. + +Possible Issues +--------------- +DAW projects with automation data written by an AudioUnit or VST3 plug-in built +with pre JUCE 4.3.1 versions will load incorrectly when opened by an AudioUnit +or VST3 built with JUCE versions 4.3.1 and later. Plug-ins using +JUCE_FORCE_USE_LEGACY_PARAM_IDS are not affected. + +Workaround +---------- +Disable JUCE_USE_STUDIO_ONE_COMPATIBLE_PARAMETERS in the +juce_audio_plugin_client module config page in the Projucer. For new plug-ins, +be sure to use the default value for this property. + +Rationale +-------- +JUCE needs to convert between its own JUCE parameter id format (strings) to the +native parameter id formats of the various plug-in backends. For VST3 and +AudioUnits, JUCE uses a hash function to generate a numeric id. However, some +VST3/AudioUnit hosts (specifically Studio One) have a bug that ignore any +parameters that have a negative parameter id. Therefore, the hash function for +VST3/AudioUnits needed to be changed to only return positive-valued hashes. + + +Version 4.3.0 +============= + +Change +------ +A revised multi-bus API was released which supersedes the previously flawed +multi-bus API - JUCE versions 4.0.0 - 4.2.4 (inclusive). + +Possible Issues +--------------- +If you have developed a plug-in with JUCE versions 4.0.0 - 4.2.4 (inclusive), +then you will need to update your plug-in to the new multi-bus API. Pre JUCE +4.0.0 plug-ins are not affected apart from other breaking changes listed in +this document. + +Woraround +--------- +None. + +Rationale +-------- +A flawed multi-bus API was introduced with JUCE versions 4.0.0 up until version +4.2.4 (inclusive) which was not API compatible with pre JUCE 4 plug-ins. JUCE +4.3.0 releases a revised multi-bus API which restores pre JUCE 4 API +compatibility. However, the new multi-bus API is not compatible with the flawed +multi-bus API (JUCE version 4.0.0 - 4.2.4). + + +Change +------ +JUCE now generates the AAX plug-in bus layout configuration id independent from +the position as it appears in the Projucer’s legacy "Channel layout +configuration" field. + +Possible Issues +--------------- +ProTools projects generated with a < 4.3.0 JUCE versions of your plug-in, may +load the incorrect bus configuration when upgrading your plug-in to >= 4.3.0 +versions of JUCE. + +Workaround +---------- +Implement AudioProcessor’s getAAXPluginIDForMainBusConfig callback to manually +override which AAX plug-in id is associated to a specific bus layout of your +plug-in. This workaround is only necessary if you have released your plug-in +built with a version previous to JUCE 4.3.0. + +Rationale +-------- +The new multi-bus API offers more features, flexibility and accuracy in +specifying bus layouts which cannot be expressed by the Projucer’s legacy +"Channel layout configuration" field. The native plug-in format backends use +the new multi-bus callback APIs to negotiate channel layouts with the host - +including the AAX plug-in ids assigned to specific bus layouts. With the +callback API, there is no notion of an order in which the channel +configurations appear - as was the case with the legacy "Channel layout +configuration" field - and therefore cannot be used to generate the AAX plug-in +id. To remain backward compatible to pre JUCE 4.0.0 plug-ins, JUCE does +transparently convert the legacy "Channel layout configuration" field to the +new callback based multi-bus API, but this does not take the order into account +in which the channel configurations appear in the legacy "Channel layout +configuration" field. + + +Version 4.2.1 +============= + +Change +------ +JUCE now uses the paramID property used in AudioProcessorParameterWithID to +uniquely identify parameters to the host. + +Possible Issues +--------------- +DAW projects with automation data written by an audio plug-in built with pre +JUCE 4.2.1 will load incorrectly when opened by an audio plug-in built with +JUCE 4.2.1 and later. + +Workaround +---------- +Enable JUCE_FORCE_USE_LEGACY_PARAM_IDS in the juce_audio_plugin_client module config +page in the Projucer. For new plug-ins, be sure to disable this property. + +Rationale +-------- +Each parameter of the AudioProcessor has an id associated so that the plug-in’s +host can uniquely identify parameters. The id has a different data-type for +different plug-in types (for example VST uses integers, AAX uses string +identifiers). Before 4.2.1, JUCE generated the parameter id by using the index +of the parameter, i.e. the first parameter had id zero, the second parameter +had id one, etc. This caused problems for certain plug-in types where JUCE +needs to add internal parameters to the plug-in (for example VST3 requires the +bypass control to be a parameter - so JUCE automatically creates this parameter +for you in the VST3 backend). This causes subtle problems if a parameter is +added to an update of an already published plug-in. The new parameter’s id +would be identical to the id of the bypass parameter in old versions of your +plug-in, causing seemingly random plug-in bypass behaviour when user’s upgrade +their plug-in. + +Most plug-in backends differentiate between a parameter’s id an index, so this +distinction was adopted starting with JUCE 4.2.1 by deriving the parameter’s +unique id from the paramID property of AudioProcessorParameterWithID class. diff --git a/ChangeList.txt b/ChangeList.txt index 3594e821..427a98a3 100644 --- a/ChangeList.txt +++ b/ChangeList.txt @@ -3,11 +3,19 @@ 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.4.2 + - Restructed the low-level Android native code + - Added an ADSR envelope class + - AudioProcessorValueTreeState performance improvements + - Improved Xcode 10 support + - Improved VST3 hosting + - Windows hiDPI scaling enhancements + Version 5.4.1 - Fixed a VST2 compilation error in VS2013 - - Projucer: Fixed some live-build compilation errors + - Fixed some live-build compilation errors in the Projucer - Fixed a bug in the Oversampling class - - MPE: Made MPESynthesiserVoice::noteOnTime public + - Made MPESynthesiserVoice::noteOnTime public - Fixed some bugs in the Unity plug-in wrapper - Fixed some VS2015 compiler errors diff --git a/README.md b/README.md index 7cd17e04..b0d29868 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,38 @@ ![alt text](https://d30pueezughrda.cloudfront.net/juce/JUCE_banner.png "JUCE") -JUCE is an open-source cross-platform C++ application framework used for rapidly -developing high quality desktop and mobile applications, including VST, AU (and AUv3), -RTAS and AAX audio plug-ins. JUCE can be easily integrated with existing projects or can -be used as a project generation tool via the [Projucer](https://juce.com/discover/projucer), -which supports exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio, -Code::Blocks, CLion and Linux Makefiles as well as containing a source code editor and -live-coding engine which can be used for rapid prototyping. +JUCE is an open-source cross-platform C++ application framework used for rapidly +developing high quality desktop and mobile applications, including VST, AU (and AUv3), +RTAS and AAX audio plug-ins. JUCE can be easily integrated with existing projects or can +be used as a project generation tool via the [Projucer](https://juce.com/discover/projucer), +which supports exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio, +Code::Blocks, CLion and Linux Makefiles as well as containing a source code editor and +live-coding engine which can be used for rapid prototyping. ## Getting Started -The JUCE repository contains a [master](https://github.com/weareroli/JUCE/tree/master) -and [develop](https://github.com/weareroli/JUCE/tree/develop) branch. The develop branch -contains the latest bugfixes and features and is periodically merged into the master -branch in stable [tagged releases](https://github.com/WeAreROLI/JUCE/releases) -(the latest release containing pre-built binaries can be also downloaded from the +The JUCE repository contains a [master](https://github.com/weareroli/JUCE/tree/master) +and [develop](https://github.com/weareroli/JUCE/tree/develop) branch. The develop branch +contains the latest bugfixes and features and is periodically merged into the master +branch in stable [tagged releases](https://github.com/WeAreROLI/JUCE/releases) +(the latest release containing pre-built binaries can be also downloaded from the [JUCE website](https://shop.juce.com/get-juce)). The repository doesn't contain a pre-built Projucer so you will need to build it -for your platform - Xcode, Visual Studio and Linux Makefile projects are located in -[extras/Projucer/Builds](/extras/Projucer/Builds) -(the minumum system requirements are listed in the __System Requirements__ section below). -The Projucer can then be used to create new JUCE projects, view tutorials and run examples. -It is also possible to include the JUCE modules source code in an existing project directly, +for your platform - Xcode, Visual Studio and Linux Makefile projects are located in +[extras/Projucer/Builds](/extras/Projucer/Builds) +(the minumum system requirements are listed in the __System Requirements__ section below). +The Projucer can then be used to create new JUCE projects, view tutorials and run examples. +It is also possible to include the JUCE modules source code in an existing project directly, or build them into a static or dynamic library which can be linked into a project. -For further help getting started, please refer to the JUCE -[documentation](https://juce.com/learn/documentation) and +For further help getting started, please refer to the JUCE +[documentation](https://juce.com/learn/documentation) and [tutorials](https://juce.com/learn/tutorials). ## System Requirements #### Building JUCE Projects - __macOS__: macOS 10.11 and Xcode 7.3.1 - __Windows__: Windows 8.1 and Visual Studio 2013 64-bit -- __Linux__: GCC 5.0 +- __Linux__: GCC 4.8 #### Minimum Deployment Targets - __macOS__: macOS 10.7 @@ -40,18 +40,18 @@ For further help getting started, please refer to the JUCE - __Linux__: Mainstream Linux distributions ## Contributing -For bug reports and features requests, please visit the [JUCE Forum](https://forum.juce.com/) - +For bug reports and features requests, please visit the [JUCE Forum](https://forum.juce.com/) - the JUCE developers are active there and will read every post and respond accordingly. When -submitting a bug report, please ensure that it follows the -[issue template](/.github/ISSUE_TEMPLATE.txt). -We don't accept third party GitHub pull requests directly due to copyright restrictions +submitting a bug report, please ensure that it follows the +[issue template](/.github/ISSUE_TEMPLATE.txt). +We don't accept third party GitHub pull requests directly due to copyright restrictions but if you would like to contribute any changes please contact us. ## License -The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_blocks_basics, juce_core -and juce_events) are permissively licensed under the terms of the -[ISC license](http://www.isc.org/downloads/software-support-policy/isc-license/). -Other modules are covered by a +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_blocks_basics, juce_core +and juce_events) are permissively licensed under the terms of the +[ISC license](http://www.isc.org/downloads/software-support-policy/isc-license/). +Other modules are covered by a [GPL/Commercial license](https://www.gnu.org/licenses/gpl-3.0.en.html). There are multiple commercial licensing tiers for JUCE 5, with different terms for each: @@ -60,4 +60,4 @@ There are multiple commercial licensing tiers for JUCE 5, with different terms f - JUCE Pro (no revenue limit) - $65/month - JUCE Eductational (no revenue limit) - free for bona fide educational institutes -For full terms see [LICENSE.md](LICENSE.md). \ No newline at end of file +For full terms see [LICENSE.md](LICENSE.md). diff --git a/examples/Audio/AudioAppDemo.h b/examples/Audio/AudioAppDemo.h index f08e5750..fed02dbb 100644 --- a/examples/Audio/AudioAppDemo.h +++ b/examples/Audio/AudioAppDemo.h @@ -33,7 +33,7 @@ juce_audio_processors, juce_audio_utils, juce_core, juce_data_structures, juce_events, juce_graphics, juce_gui_basics, juce_gui_extra - exporters: xcode_mac, vs2017, xcode_iphone + exporters: xcode_mac, vs2017, linux_make, androidstudio, xcode_iphone moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 @@ -59,14 +59,9 @@ public: : AudioAppComponent (getSharedAudioDeviceManager (0, 2)) #endif { - setSize (800, 600); - - auto audioDevice = deviceManager.getCurrentAudioDevice(); - auto numInputChannels = (audioDevice != nullptr ? audioDevice->getActiveInputChannels() .countNumberOfSetBits() : 0); - auto numOutputChannels = jmax (audioDevice != nullptr ? audioDevice->getActiveOutputChannels().countNumberOfSetBits() : 2, 2); + setAudioChannels (0, 2); - // Specify the number of input and output channels that we want to open - setAudioChannels (numInputChannels, numOutputChannels); + setSize (800, 600); } ~AudioAppDemo() @@ -122,11 +117,15 @@ public: auto centreY = getHeight() / 2.0f; auto radius = amplitude * 200.0f; - // Draw an ellipse based on the mouse position and audio volume - g.setColour (Colours::lightgreen); - g.fillEllipse (jmax (0.0f, lastMousePosition.x) - radius / 2.0f, - jmax (0.0f, lastMousePosition.y) - radius / 2.0f, - radius, radius); + if (radius >= 0.0f) + { + // Draw an ellipse based on the mouse position and audio volume + g.setColour (Colours::lightgreen); + + g.fillEllipse (jmax (0.0f, lastMousePosition.x) - radius / 2.0f, + jmax (0.0f, lastMousePosition.y) - radius / 2.0f, + radius, radius); + } // Draw a representative sine wave. Path wavePath; diff --git a/examples/Audio/AudioPlaybackDemo.h b/examples/Audio/AudioPlaybackDemo.h index e4da079e..2650cd49 100644 --- a/examples/Audio/AudioPlaybackDemo.h +++ b/examples/Audio/AudioPlaybackDemo.h @@ -288,12 +288,24 @@ public: addAndMakeVisible (followTransportButton); followTransportButton.onClick = [this] { updateFollowTransportState(); }; + #if (JUCE_ANDROID || JUCE_IOS) + addAndMakeVisible (chooseFileButton); + chooseFileButton.addListener (this); + #else + addAndMakeVisible (fileTreeComp); + + directoryList.setDirectory (File::getSpecialLocation (File::userHomeDirectory), true, true); + + fileTreeComp.setColour (FileTreeComponent::backgroundColourId, Colours::lightgrey.withAlpha (0.6f)); + fileTreeComp.addListener (this); + addAndMakeVisible (explanation); explanation.setFont (Font (14.00f, Font::plain)); explanation.setJustificationType (Justification::bottomRight); explanation.setEditable (false, false, false); explanation.setColour (TextEditor::textColourId, Colours::black); explanation.setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + #endif addAndMakeVisible (zoomSlider); zoomSlider.setRange (0, 1, 0); @@ -314,18 +326,6 @@ public: thread.startThread (3); - #if (JUCE_ANDROID || JUCE_IOS) - addAndMakeVisible (chooseFileButton); - chooseFileButton.addListener (this); - #else - addAndMakeVisible (fileTreeComp); - - directoryList.setDirectory (File::getSpecialLocation (File::userHomeDirectory), true, true); - - fileTreeComp.setColour (FileTreeComponent::backgroundColourId, Colours::lightgrey.withAlpha (0.6f)); - fileTreeComp.addListener (this); - #endif - #ifndef JUCE_DEMO_RUNNER RuntimePermissions::request (RuntimePermissions::recordAudio, [this] (bool granted) @@ -368,7 +368,14 @@ public: auto r = getLocalBounds().reduced (4); auto controls = r.removeFromBottom (90); - explanation.setBounds (controls.removeFromRight (controls.getWidth() / 3)); + + auto controlRightBounds = controls.removeFromRight (controls.getWidth() / 3); + + #if (JUCE_ANDROID || JUCE_IOS) + chooseFileButton.setBounds (controlRightBounds.reduced (10)); + #else + explanation.setBounds (controlRightBounds); + #endif auto zoom = controls.removeFromTop (25); zoomLabel .setBounds (zoom.removeFromLeft (50)); @@ -378,12 +385,13 @@ public: startStopButton .setBounds (controls); r.removeFromBottom (6); + + #if JUCE_ANDROID || JUCE_IOS + thumbnail->setBounds (r); + #else thumbnail->setBounds (r.removeFromBottom (140)); r.removeFromBottom (6); - #if (JUCE_ANDROID || JUCE_IOS) - chooseFileButton.setBounds (r); - #else fileTreeComp.setBounds (r); #endif } @@ -405,6 +413,7 @@ private: #else DirectoryContentsList directoryList {nullptr, thread}; FileTreeComponent fileTreeComp {directoryList}; + Label explanation { {}, "Select an audio file in the treeview above, and this page will display its waveform, and let you play it.." }; #endif URL currentAudioFile; @@ -413,8 +422,7 @@ private: std::unique_ptr currentAudioFileSource; std::unique_ptr thumbnail; - Label zoomLabel { {}, "zoom:" }, - explanation { {}, "Select an audio file in the treeview above, and this page will display its waveform, and let you play it.." }; + Label zoomLabel { {}, "zoom:" }; Slider zoomSlider { Slider::LinearHorizontal, Slider::NoTextBox }; ToggleButton followTransportButton { "Follow Transport" }; TextButton startStopButton { "Play/Stop" }; @@ -423,7 +431,7 @@ private: void showAudioResource (URL resource) { if (loadURLIntoTransport (resource)) - currentAudioFile = static_cast (resource); + currentAudioFile = std::move (resource); zoomSlider.setValue (0, dontSendNotification); thumbnail->setURL (currentAudioFile); @@ -513,7 +521,7 @@ private: { auto u = fc.getURLResult(); - safeThis->showAudioResource (static_cast (u)); + safeThis->showAudioResource (std::move (u)); } safeThis->fileChooser = nullptr; diff --git a/examples/Audio/MPEDemo.h b/examples/Audio/MPEDemo.h index d6c7fa3c..b7ef91e8 100644 --- a/examples/Audio/MPEDemo.h +++ b/examples/Audio/MPEDemo.h @@ -33,7 +33,7 @@ juce_audio_processors, juce_audio_utils, juce_core, juce_data_structures, juce_events, juce_graphics, juce_gui_basics, juce_gui_extra - exporters: xcode_mac, vs2017, linux_make + exporters: xcode_mac, vs2017, linux_make, androidstudio, xcode_iphone moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 diff --git a/examples/Audio/MidiDemo.h b/examples/Audio/MidiDemo.h index 3d3df92c..c12776c7 100644 --- a/examples/Audio/MidiDemo.h +++ b/examples/Audio/MidiDemo.h @@ -33,7 +33,7 @@ juce_audio_processors, juce_audio_utils, juce_core, juce_data_structures, juce_events, juce_graphics, juce_gui_basics, juce_gui_extra - exporters: xcode_mac, vs2017, linux_make, xcode_iphone, androidstudio + exporters: xcode_mac, vs2017, linux_make, androidstudio, xcode_iphone moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 diff --git a/examples/Audio/PluckedStringsDemo.h b/examples/Audio/PluckedStringsDemo.h index d53701a3..86b0b17b 100644 --- a/examples/Audio/PluckedStringsDemo.h +++ b/examples/Audio/PluckedStringsDemo.h @@ -33,7 +33,7 @@ juce_audio_processors, juce_audio_utils, juce_core, juce_data_structures, juce_events, juce_graphics, juce_gui_basics, juce_gui_extra - exporters: xcode_mac, vs2017 + exporters: xcode_mac, vs2017, linux_make, androidstudio, xcode_iphone moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 diff --git a/examples/Audio/SimpleFFTDemo.h b/examples/Audio/SimpleFFTDemo.h index 4fa8d5d0..75a164c7 100644 --- a/examples/Audio/SimpleFFTDemo.h +++ b/examples/Audio/SimpleFFTDemo.h @@ -33,7 +33,7 @@ juce_audio_processors, juce_audio_utils, juce_core, juce_data_structures, juce_dsp, juce_events, juce_graphics, juce_gui_basics, juce_gui_extra - exporters: xcode_mac, vs2017 + exporters: xcode_mac, vs2017, linux_make, androidstudio, xcode_iphone moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1 @@ -63,12 +63,16 @@ public: { setOpaque (true); - auto audioDevice = deviceManager.getCurrentAudioDevice(); - auto numInputChannels = jmax (audioDevice != nullptr ? audioDevice->getActiveInputChannels() .countNumberOfSetBits() : 1, 1); - auto numOutputChannels = audioDevice != nullptr ? audioDevice->getActiveOutputChannels().countNumberOfSetBits() : 2; - - // Specify the number of input and output channels that we want to open - setAudioChannels (numInputChannels, numOutputChannels); + #ifndef JUCE_DEMO_RUNNER + RuntimePermissions::request (RuntimePermissions::recordAudio, + [this] (bool granted) + { + int numInputChannels = granted ? 2 : 0; + setAudioChannels (numInputChannels, 2); + }); + #else + setAudioChannels (2, 2); + #endif startTimerHz (60); setSize (700, 500); diff --git a/examples/BLOCKS/BlocksMonitorDemo.h b/examples/BLOCKS/BlocksMonitorDemo.h index 2f3d02ca..2a8b37d7 100644 --- a/examples/BLOCKS/BlocksMonitorDemo.h +++ b/examples/BLOCKS/BlocksMonitorDemo.h @@ -112,7 +112,7 @@ public: } /** Subclasses should override this to paint the Block object on the screen */ - virtual void paint (Graphics&) override = 0; + void paint (Graphics&) override = 0; /** Subclasses can override this to receive button down events from the Block */ virtual void handleButtonPressed (ControlButton::ButtonFunction, uint32) {} @@ -446,7 +446,7 @@ private: {} /** Subclasses should override this to paint the button on the screen */ - virtual void paint (Graphics&) override = 0; + void paint (Graphics&) override = 0; /** Sets the colour of the button */ void setColour (Colour c) { componentColour = c; } diff --git a/examples/BLOCKS/BlocksSynthDemo.h b/examples/BLOCKS/BlocksSynthDemo.h index 0745c82c..0b91b4df 100644 --- a/examples/BLOCKS/BlocksSynthDemo.h +++ b/examples/BLOCKS/BlocksSynthDemo.h @@ -122,7 +122,7 @@ public: } /** Subclasses should override this to say whether they can play the given sound */ - virtual bool canPlaySound (SynthesiserSound*) override = 0; + bool canPlaySound (SynthesiserSound*) override = 0; /** Subclasses should override this to render a waveshape */ virtual double renderWaveShape (const double currentPhase) = 0; diff --git a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt index 9a22d943..57863a22 100644 --- a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt +++ b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt @@ -1,3166 +1,3208 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -cmake_minimum_required(VERSION 3.4.1) - -SET(BINARY_NAME "juce_jni") - -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_ANDROID_ACTIVITY_CLASSNAME=com_juce_demorunner_DemoRunner" "-DJUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/demorunner/DemoRunner\"" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSNAME=com_juce_demorunner_SharingContentProvider" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSPATH=\"com/juce/demorunner/SharingContentProvider\"" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=5.4.1" "-DJUCE_APP_VERSION_HEX=0x50401") - -include_directories( AFTER - "../../../JuceLibraryCode" - "../../../../../modules" - "${ANDROID_NDK}/sources/android/cpufeatures" -) - -enable_language(ASM) - -IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - add_definitions("-DDEBUG=1" "-D_DEBUG=1") -ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") - add_definitions("-DNDEBUG=1") -ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - MESSAGE( FATAL_ERROR "No matching build-configuration found." ) -ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - -add_library( ${BINARY_NAME} - - SHARED - - "../../../Source/Demos/DemoPIPs1.cpp" - "../../../Source/Demos/DemoPIPs2.cpp" - "../../../Source/Demos/IntroScreen.h" - "../../../Source/Demos/JUCEDemos.cpp" - "../../../Source/Demos/JUCEDemos.h" - "../../../Source/UI/DemoContentComponent.cpp" - "../../../Source/UI/DemoContentComponent.h" - "../../../Source/UI/MainComponent.cpp" - "../../../Source/UI/MainComponent.h" - "../../../Source/UI/SettingsContent.h" - "../../../Source/Main.cpp" - "../../../Source/JUCEAppIcon.png" - "../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp" - "../../../../../modules/juce_analytics/analytics/juce_Analytics.h" - "../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.cpp" - "../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.h" - "../../../../../modules/juce_analytics/destinations/juce_AnalyticsDestination.h" - "../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp" - "../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h" - "../../../../../modules/juce_analytics/juce_analytics.cpp" - "../../../../../modules/juce_analytics/juce_analytics.h" - "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" - "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" - "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" - "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" - "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" - "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" - "../../../../../modules/juce_audio_basics/juce_audio_basics.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" - "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" - "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" - "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" - "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" - "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" - "../../../../../modules/juce_audio_devices/juce_audio_devices.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" - "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" - "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" - "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" - "../../../../../modules/juce_audio_formats/codecs/flac/export.h" - "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/flac/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" - "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" - "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" - "../../../../../modules/juce_audio_formats/juce_audio_formats.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" - "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" - "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" - "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" - "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" - "../../../../../modules/juce_audio_processors/juce_audio_processors.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" - "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" - "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" - "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" - "../../../../../modules/juce_audio_utils/juce_audio_utils.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp" - "../../../../../modules/juce_blocks_basics/blocks/juce_Block.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h" - "../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h" - "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h" - "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h" - "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h" - "../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt" - "../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h" - "../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h" - "../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h" - "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h" - "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h" - "../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt" - "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp" - "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h" - "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp" - "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h" - "../../../../../modules/juce_blocks_basics/topology/juce_Topology.h" - "../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h" - "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp" - "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h" - "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp" - "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h" - "../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp" - "../../../../../modules/juce_blocks_basics/README.txt" - "../../../../../modules/juce_blocks_basics/juce_blocks_basics.h" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.h" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.h" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.h" - "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2Shape.h" - "../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.h" - "../../../../../modules/juce_box2d/box2d/Collision/b2CollideCircle.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2CollideEdge.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2CollidePolygon.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2Collision.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2Collision.h" - "../../../../../modules/juce_box2d/box2d/Collision/b2Distance.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2Distance.h" - "../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h" - "../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.cpp" - "../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.h" - "../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.cpp" - "../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.h" - "../../../../../modules/juce_box2d/box2d/Common/b2Draw.cpp" - "../../../../../modules/juce_box2d/box2d/Common/b2Draw.h" - "../../../../../modules/juce_box2d/box2d/Common/b2GrowableStack.h" - "../../../../../modules/juce_box2d/box2d/Common/b2Math.cpp" - "../../../../../modules/juce_box2d/box2d/Common/b2Math.h" - "../../../../../modules/juce_box2d/box2d/Common/b2Settings.cpp" - "../../../../../modules/juce_box2d/box2d/Common/b2Settings.h" - "../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.cpp" - "../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.h" - "../../../../../modules/juce_box2d/box2d/Common/b2Timer.cpp" - "../../../../../modules/juce_box2d/box2d/Common/b2Timer.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2TimeStep.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2World.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2World.h" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.cpp" - "../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.h" - "../../../../../modules/juce_box2d/box2d/Rope/b2Rope.cpp" - "../../../../../modules/juce_box2d/box2d/Rope/b2Rope.h" - "../../../../../modules/juce_box2d/box2d/Box2D.h" - "../../../../../modules/juce_box2d/box2d/README.txt" - "../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.cpp" - "../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.h" - "../../../../../modules/juce_box2d/juce_box2d.cpp" - "../../../../../modules/juce_box2d/juce_box2d.h" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" - "../../../../../modules/juce_core/containers/juce_Array.h" - "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" - "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" - "../../../../../modules/juce_core/containers/juce_ArrayBase.h" - "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" - "../../../../../modules/juce_core/containers/juce_DynamicObject.h" - "../../../../../modules/juce_core/containers/juce_ElementComparator.h" - "../../../../../modules/juce_core/containers/juce_HashMap.h" - "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" - "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" - "../../../../../modules/juce_core/containers/juce_ListenerList.h" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" - "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" - "../../../../../modules/juce_core/containers/juce_OwnedArray.h" - "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" - "../../../../../modules/juce_core/containers/juce_PropertySet.h" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" - "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" - "../../../../../modules/juce_core/containers/juce_SortedSet.h" - "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" - "../../../../../modules/juce_core/containers/juce_SparseSet.h" - "../../../../../modules/juce_core/containers/juce_Variant.cpp" - "../../../../../modules/juce_core/containers/juce_Variant.h" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" - "../../../../../modules/juce_core/files/juce_File.cpp" - "../../../../../modules/juce_core/files/juce_File.h" - "../../../../../modules/juce_core/files/juce_FileFilter.cpp" - "../../../../../modules/juce_core/files/juce_FileFilter.h" - "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileInputStream.h" - "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileOutputStream.h" - "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" - "../../../../../modules/juce_core/files/juce_FileSearchPath.h" - "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" - "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" - "../../../../../modules/juce_core/files/juce_TemporaryFile.h" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" - "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" - "../../../../../modules/juce_core/javascript/juce_Javascript.h" - "../../../../../modules/juce_core/javascript/juce_JSON.cpp" - "../../../../../modules/juce_core/javascript/juce_JSON.h" - "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" - "../../../../../modules/juce_core/logging/juce_FileLogger.h" - "../../../../../modules/juce_core/logging/juce_Logger.cpp" - "../../../../../modules/juce_core/logging/juce_Logger.h" - "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" - "../../../../../modules/juce_core/maths/juce_BigInteger.h" - "../../../../../modules/juce_core/maths/juce_Expression.cpp" - "../../../../../modules/juce_core/maths/juce_Expression.h" - "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" - "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" - "../../../../../modules/juce_core/maths/juce_Random.cpp" - "../../../../../modules/juce_core/maths/juce_Random.h" - "../../../../../modules/juce_core/maths/juce_Range.h" - "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" - "../../../../../modules/juce_core/memory/juce_Atomic.h" - "../../../../../modules/juce_core/memory/juce_ByteOrder.h" - "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" - "../../../../../modules/juce_core/memory/juce_HeapBlock.h" - "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_Memory.h" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" - "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" - "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" - "../../../../../modules/juce_core/memory/juce_Singleton.h" - "../../../../../modules/juce_core/memory/juce_WeakReference.h" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" - "../../../../../modules/juce_core/misc/juce_Result.cpp" - "../../../../../modules/juce_core/misc/juce_Result.h" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" - "../../../../../modules/juce_core/misc/juce_Uuid.cpp" - "../../../../../modules/juce_core/misc/juce_Uuid.h" - "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" - "../../../../../modules/juce_core/native/juce_android_Files.cpp" - "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" - "../../../../../modules/juce_core/native/juce_android_Misc.cpp" - "../../../../../modules/juce_core/native/juce_android_Network.cpp" - "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" - "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_android_Threads.cpp" - "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" - "../../../../../modules/juce_core/native/juce_curl_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" - "../../../../../modules/juce_core/native/juce_linux_Files.cpp" - "../../../../../modules/juce_core/native/juce_linux_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" - "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" - "../../../../../modules/juce_core/native/juce_mac_Files.mm" - "../../../../../modules/juce_core/native/juce_mac_Network.mm" - "../../../../../modules/juce_core/native/juce_mac_Strings.mm" - "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" - "../../../../../modules/juce_core/native/juce_mac_Threads.mm" - "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" - "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" - "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" - "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" - "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" - "../../../../../modules/juce_core/native/juce_win32_Files.cpp" - "../../../../../modules/juce_core/native/juce_win32_Network.cpp" - "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" - "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.h" - "../../../../../modules/juce_core/network/juce_MACAddress.cpp" - "../../../../../modules/juce_core/network/juce_MACAddress.h" - "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" - "../../../../../modules/juce_core/network/juce_NamedPipe.h" - "../../../../../modules/juce_core/network/juce_Socket.cpp" - "../../../../../modules/juce_core/network/juce_Socket.h" - "../../../../../modules/juce_core/network/juce_URL.cpp" - "../../../../../modules/juce_core/network/juce_URL.h" - "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" - "../../../../../modules/juce_core/network/juce_WebInputStream.h" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" - "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_FileInputSource.h" - "../../../../../modules/juce_core/streams/juce_InputSource.h" - "../../../../../modules/juce_core/streams/juce_InputStream.cpp" - "../../../../../modules/juce_core/streams/juce_InputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" - "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_OutputStream.h" - "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" - "../../../../../modules/juce_core/streams/juce_SubregionStream.h" - "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_URLInputSource.h" - "../../../../../modules/juce_core/system/juce_CompilerSupport.h" - "../../../../../modules/juce_core/system/juce_PlatformDefs.h" - "../../../../../modules/juce_core/system/juce_StandardHeader.h" - "../../../../../modules/juce_core/system/juce_SystemStats.cpp" - "../../../../../modules/juce_core/system/juce_SystemStats.h" - "../../../../../modules/juce_core/system/juce_TargetPlatform.h" - "../../../../../modules/juce_core/text/juce_Base64.cpp" - "../../../../../modules/juce_core/text/juce_Base64.h" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" - "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" - "../../../../../modules/juce_core/text/juce_Identifier.cpp" - "../../../../../modules/juce_core/text/juce_Identifier.h" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" - "../../../../../modules/juce_core/text/juce_NewLine.h" - "../../../../../modules/juce_core/text/juce_String.cpp" - "../../../../../modules/juce_core/text/juce_String.h" - "../../../../../modules/juce_core/text/juce_StringArray.cpp" - "../../../../../modules/juce_core/text/juce_StringArray.h" - "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" - "../../../../../modules/juce_core/text/juce_StringPairArray.h" - "../../../../../modules/juce_core/text/juce_StringPool.cpp" - "../../../../../modules/juce_core/text/juce_StringPool.h" - "../../../../../modules/juce_core/text/juce_StringRef.h" - "../../../../../modules/juce_core/text/juce_TextDiff.cpp" - "../../../../../modules/juce_core/text/juce_TextDiff.h" - "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" - "../../../../../modules/juce_core/threads/juce_ChildProcess.h" - "../../../../../modules/juce_core/threads/juce_CriticalSection.h" - "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" - "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" - "../../../../../modules/juce_core/threads/juce_Process.h" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" - "../../../../../modules/juce_core/threads/juce_SpinLock.h" - "../../../../../modules/juce_core/threads/juce_Thread.cpp" - "../../../../../modules/juce_core/threads/juce_Thread.h" - "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" - "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" - "../../../../../modules/juce_core/threads/juce_ThreadPool.h" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" - "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" - "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" - "../../../../../modules/juce_core/time/juce_RelativeTime.h" - "../../../../../modules/juce_core/time/juce_Time.cpp" - "../../../../../modules/juce_core/time/juce_Time.h" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" - "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" - "../../../../../modules/juce_core/xml/juce_XmlDocument.h" - "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" - "../../../../../modules/juce_core/xml/juce_XmlElement.h" - "../../../../../modules/juce_core/zip/zlib/adler32.c" - "../../../../../modules/juce_core/zip/zlib/compress.c" - "../../../../../modules/juce_core/zip/zlib/crc32.c" - "../../../../../modules/juce_core/zip/zlib/crc32.h" - "../../../../../modules/juce_core/zip/zlib/deflate.c" - "../../../../../modules/juce_core/zip/zlib/deflate.h" - "../../../../../modules/juce_core/zip/zlib/infback.c" - "../../../../../modules/juce_core/zip/zlib/inffast.c" - "../../../../../modules/juce_core/zip/zlib/inffast.h" - "../../../../../modules/juce_core/zip/zlib/inffixed.h" - "../../../../../modules/juce_core/zip/zlib/inflate.c" - "../../../../../modules/juce_core/zip/zlib/inflate.h" - "../../../../../modules/juce_core/zip/zlib/inftrees.c" - "../../../../../modules/juce_core/zip/zlib/inftrees.h" - "../../../../../modules/juce_core/zip/zlib/trees.c" - "../../../../../modules/juce_core/zip/zlib/trees.h" - "../../../../../modules/juce_core/zip/zlib/uncompr.c" - "../../../../../modules/juce_core/zip/zlib/zconf.h" - "../../../../../modules/juce_core/zip/zlib/zconf.in.h" - "../../../../../modules/juce_core/zip/zlib/zlib.h" - "../../../../../modules/juce_core/zip/zlib/zutil.c" - "../../../../../modules/juce_core/zip/zlib/zutil.h" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" - "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" - "../../../../../modules/juce_core/zip/juce_ZipFile.h" - "../../../../../modules/juce_core/juce_core.cpp" - "../../../../../modules/juce_core/juce_core.mm" - "../../../../../modules/juce_core/juce_core.h" - "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" - "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_Primes.h" - "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" - "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_MD5.h" - "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" - "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" - "../../../../../modules/juce_cryptography/juce_cryptography.cpp" - "../../../../../modules/juce_cryptography/juce_cryptography.mm" - "../../../../../modules/juce_cryptography/juce_cryptography.h" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" - "../../../../../modules/juce_data_structures/values/juce_Value.cpp" - "../../../../../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_ValueTreeSynchroniser.cpp" - "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" - "../../../../../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" - "../../../../../modules/juce_dsp/containers/juce_AudioBlock.h" - "../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h" - "../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h" - "../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp" - "../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.cpp" - "../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.h" - "../../../../../modules/juce_dsp/frequency/juce_Convolution.cpp" - "../../../../../modules/juce_dsp/frequency/juce_Convolution.h" - "../../../../../modules/juce_dsp/frequency/juce_FFT.cpp" - "../../../../../modules/juce_dsp/frequency/juce_FFT.h" - "../../../../../modules/juce_dsp/frequency/juce_FFT_test.cpp" - "../../../../../modules/juce_dsp/frequency/juce_Windowing.cpp" - "../../../../../modules/juce_dsp/frequency/juce_Windowing.h" - "../../../../../modules/juce_dsp/maths/juce_FastMathApproximations.h" - "../../../../../modules/juce_dsp/maths/juce_LookupTable.cpp" - "../../../../../modules/juce_dsp/maths/juce_LookupTable.h" - "../../../../../modules/juce_dsp/maths/juce_Matrix.cpp" - "../../../../../modules/juce_dsp/maths/juce_Matrix.h" - "../../../../../modules/juce_dsp/maths/juce_Matrix_test.cpp" - "../../../../../modules/juce_dsp/maths/juce_Phase.h" - "../../../../../modules/juce_dsp/maths/juce_Polynomial.h" - "../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.cpp" - "../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.h" - "../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.cpp" - "../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.h" - "../../../../../modules/juce_dsp/native/juce_fallback_SIMDNativeOps.h" - "../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.cpp" - "../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.h" - "../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.cpp" - "../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.h" - "../../../../../modules/juce_dsp/processors/juce_Bias.h" - "../../../../../modules/juce_dsp/processors/juce_FIRFilter.cpp" - "../../../../../modules/juce_dsp/processors/juce_FIRFilter.h" - "../../../../../modules/juce_dsp/processors/juce_FIRFilter_test.cpp" - "../../../../../modules/juce_dsp/processors/juce_Gain.h" - "../../../../../modules/juce_dsp/processors/juce_IIRFilter.cpp" - "../../../../../modules/juce_dsp/processors/juce_IIRFilter.h" - "../../../../../modules/juce_dsp/processors/juce_IIRFilter_Impl.h" - "../../../../../modules/juce_dsp/processors/juce_LadderFilter.cpp" - "../../../../../modules/juce_dsp/processors/juce_LadderFilter.h" - "../../../../../modules/juce_dsp/processors/juce_Oscillator.h" - "../../../../../modules/juce_dsp/processors/juce_Oversampling.cpp" - "../../../../../modules/juce_dsp/processors/juce_Oversampling.h" - "../../../../../modules/juce_dsp/processors/juce_ProcessContext.h" - "../../../../../modules/juce_dsp/processors/juce_ProcessorChain.h" - "../../../../../modules/juce_dsp/processors/juce_ProcessorDuplicator.h" - "../../../../../modules/juce_dsp/processors/juce_ProcessorWrapper.h" - "../../../../../modules/juce_dsp/processors/juce_Reverb.h" - "../../../../../modules/juce_dsp/processors/juce_StateVariableFilter.h" - "../../../../../modules/juce_dsp/processors/juce_WaveShaper.h" - "../../../../../modules/juce_dsp/juce_dsp.cpp" - "../../../../../modules/juce_dsp/juce_dsp.mm" - "../../../../../modules/juce_dsp/juce_dsp.h" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" - "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" - "../../../../../modules/juce_events/messages/juce_Initialisation.h" - "../../../../../modules/juce_events/messages/juce_Message.h" - "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" - "../../../../../modules/juce_events/messages/juce_MessageListener.h" - "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" - "../../../../../modules/juce_events/messages/juce_MessageManager.h" - "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" - "../../../../../modules/juce_events/messages/juce_NotificationType.h" - "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" - "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" - "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" - "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" - "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" - "../../../../../modules/juce_events/timers/juce_MultiTimer.h" - "../../../../../modules/juce_events/timers/juce_Timer.cpp" - "../../../../../modules/juce_events/timers/juce_Timer.h" - "../../../../../modules/juce_events/juce_events.cpp" - "../../../../../modules/juce_events/juce_events.mm" - "../../../../../modules/juce_events/juce_events.h" - "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colour.h" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" - "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colours.h" - "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" - "../../../../../modules/juce_graphics/colour/juce_FillType.h" - "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" - "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Font.h" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" - "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" - "../../../../../modules/juce_graphics/geometry/juce_Line.h" - "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" - "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" - "../../../../../modules/juce_graphics/geometry/juce_Path.h" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" - "../../../../../modules/juce_graphics/geometry/juce_Point.h" - "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" - "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" - "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.h" - "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageCache.h" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" - "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" - "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" - "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" - "../../../../../modules/juce_graphics/placement/juce_Justification.h" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" - "../../../../../modules/juce_graphics/juce_graphics.cpp" - "../../../../../modules/juce_graphics/juce_graphics.mm" - "../../../../../modules/juce_graphics/juce_graphics.h" - "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" - "../../../../../modules/juce_gui_basics/application/juce_Application.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" - "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" - "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" - "../../../../../modules/juce_gui_basics/components/juce_Component.h" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" - "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" - "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" - "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" - "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" - "../../../../../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_PropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" - "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" - "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" - "../../../../../modules/juce_gui_basics/juce_gui_basics.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" - "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" - "../../../../../modules/juce_gui_extra/juce_gui_extra.h" - "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" - "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" - "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" - "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" - "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" - "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" - "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" - "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" - "../../../../../modules/juce_opengl/juce_opengl.cpp" - "../../../../../modules/juce_opengl/juce_opengl.mm" - "../../../../../modules/juce_opengl/juce_opengl.h" - "../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCAddress.h" - "../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCArgument.h" - "../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCBundle.h" - "../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCMessage.h" - "../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" - "../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCSender.h" - "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" - "../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCTypes.h" - "../../../../../modules/juce_osc/juce_osc.cpp" - "../../../../../modules/juce_osc/juce_osc.h" - "../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.cpp" - "../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.h" - "../../../../../modules/juce_product_unlocking/marketplace/juce_KeyFileGeneration.h" - "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.cpp" - "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.h" - "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.cpp" - "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.h" - "../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.cpp" - "../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.h" - "../../../../../modules/juce_product_unlocking/native/juce_android_InAppPurchases.cpp" - "../../../../../modules/juce_product_unlocking/native/juce_ios_InAppPurchases.cpp" - "../../../../../modules/juce_product_unlocking/juce_product_unlocking.cpp" - "../../../../../modules/juce_product_unlocking/juce_product_unlocking.mm" - "../../../../../modules/juce_product_unlocking/juce_product_unlocking.h" - "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" - "../../../../../modules/juce_video/capture/juce_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_android_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_android_Video.h" - "../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_mac_Video.h" - "../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_win32_Video.h" - "../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" - "../../../../../modules/juce_video/playback/juce_VideoComponent.h" - "../../../../../modules/juce_video/juce_video.cpp" - "../../../../../modules/juce_video/juce_video.mm" - "../../../../../modules/juce_video/juce_video.h" - "../../../JuceLibraryCode/AppConfig.h" - "../../../JuceLibraryCode/include_juce_analytics.cpp" - "../../../JuceLibraryCode/include_juce_audio_basics.cpp" - "../../../JuceLibraryCode/include_juce_audio_devices.cpp" - "../../../JuceLibraryCode/include_juce_audio_formats.cpp" - "../../../JuceLibraryCode/include_juce_audio_processors.cpp" - "../../../JuceLibraryCode/include_juce_audio_utils.cpp" - "../../../JuceLibraryCode/include_juce_blocks_basics.cpp" - "../../../JuceLibraryCode/include_juce_box2d.cpp" - "../../../JuceLibraryCode/include_juce_core.cpp" - "../../../JuceLibraryCode/include_juce_cryptography.cpp" - "../../../JuceLibraryCode/include_juce_data_structures.cpp" - "../../../JuceLibraryCode/include_juce_dsp.cpp" - "../../../JuceLibraryCode/include_juce_events.cpp" - "../../../JuceLibraryCode/include_juce_graphics.cpp" - "../../../JuceLibraryCode/include_juce_gui_basics.cpp" - "../../../JuceLibraryCode/include_juce_gui_extra.cpp" - "../../../JuceLibraryCode/include_juce_opengl.cpp" - "../../../JuceLibraryCode/include_juce_osc.cpp" - "../../../JuceLibraryCode/include_juce_product_unlocking.cpp" - "../../../JuceLibraryCode/include_juce_video.cpp" - "../../../JuceLibraryCode/JuceHeader.h" -) - -set_source_files_properties("../../../Source/Demos/IntroScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/Demos/JUCEDemos.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/UI/DemoContentComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/UI/MainComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/UI/SettingsContent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/JUCEAppIcon.png" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_Analytics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/destinations/juce_AnalyticsDestination.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/juce_analytics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_analytics/juce_analytics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_Block.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_Topology.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_blocks_basics/juce_blocks_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2Shape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2CollideCircle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2CollideEdge.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2CollidePolygon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Collision.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Collision.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Distance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Distance.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Draw.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Draw.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2GrowableStack.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Math.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Math.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Settings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Settings.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2TimeStep.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2World.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2World.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Rope/b2Rope.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Rope/b2Rope.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/Box2D.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/box2d/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/juce_box2d.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_box2d/juce_box2d.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -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_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.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) -set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_AudioBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Convolution.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Convolution.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_FFT.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_FFT.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_FFT_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Windowing.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_FastMathApproximations.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_LookupTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_LookupTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Matrix.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Matrix.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Matrix_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Phase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Polynomial.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/native/juce_fallback_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Bias.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_FIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_FIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_FIRFilter_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Gain.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_IIRFilter_Impl.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_LadderFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_LadderFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Oscillator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Oversampling.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Oversampling.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorChain.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorDuplicator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_StateVariableFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_WaveShaper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/juce_dsp.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/juce_dsp.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_dsp/juce_dsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/juce_osc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/juce_osc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_KeyFileGeneration.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/native/juce_android_InAppPurchases.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/native/juce_ios_InAppPurchases.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/juce_product_unlocking.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/juce_product_unlocking.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_product_unlocking/juce_product_unlocking.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_android_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_android_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/juce_video.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/juce_video.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/juce_video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) - -find_library(log "log") -find_library(android "android") -find_library(glesv3 "GLESv3") -find_library(egl "EGL") - -target_link_libraries( ${BINARY_NAME} - - ${log} - ${android} - ${glesv3} - ${egl} - "cpufeatures" -) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +cmake_minimum_required(VERSION 3.4.1) + +SET(BINARY_NAME "juce_jni") + +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_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=5.4.2" "-DJUCE_APP_VERSION_HEX=0x50402") + +include_directories( AFTER + "../../../JuceLibraryCode" + "../../../../../modules" + "${ANDROID_NDK}/sources/android/cpufeatures" +) + +enable_language(ASM) + +IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + add_definitions("-DDEBUG=1" "-D_DEBUG=1") +ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") + add_definitions("-DNDEBUG=1") +ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + MESSAGE( FATAL_ERROR "No matching build-configuration found." ) +ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + +add_library( ${BINARY_NAME} + + SHARED + + "../../../Source/Demos/DemoPIPs1.cpp" + "../../../Source/Demos/DemoPIPs2.cpp" + "../../../Source/Demos/IntroScreen.h" + "../../../Source/Demos/JUCEDemos.cpp" + "../../../Source/Demos/JUCEDemos.h" + "../../../Source/UI/DemoContentComponent.cpp" + "../../../Source/UI/DemoContentComponent.h" + "../../../Source/UI/MainComponent.cpp" + "../../../Source/UI/MainComponent.h" + "../../../Source/UI/SettingsContent.h" + "../../../Source/Main.cpp" + "../../../Source/JUCEAppIcon.png" + "../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp" + "../../../../../modules/juce_analytics/analytics/juce_Analytics.h" + "../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.cpp" + "../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.h" + "../../../../../modules/juce_analytics/destinations/juce_AnalyticsDestination.h" + "../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp" + "../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h" + "../../../../../modules/juce_analytics/juce_analytics.cpp" + "../../../../../modules/juce_analytics/juce_analytics.h" + "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" + "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" + "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" + "../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" + "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" + "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" + "../../../../../modules/juce_audio_basics/juce_audio_basics.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" + "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" + "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" + "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" + "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" + "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" + "../../../../../modules/juce_audio_devices/juce_audio_devices.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" + "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" + "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" + "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" + "../../../../../modules/juce_audio_formats/codecs/flac/export.h" + "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/flac/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" + "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" + "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" + "../../../../../modules/juce_audio_formats/juce_audio_formats.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" + "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" + "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" + "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" + "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" + "../../../../../modules/juce_audio_processors/juce_audio_processors.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" + "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" + "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" + "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" + "../../../../../modules/juce_audio_utils/juce_audio_utils.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp" + "../../../../../modules/juce_blocks_basics/blocks/juce_Block.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_BlocksVersion.cpp" + "../../../../../modules/juce_blocks_basics/blocks/juce_BlocksVersion.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h" + "../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h" + "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h" + "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h" + "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h" + "../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt" + "../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h" + "../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h" + "../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h" + "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h" + "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h" + "../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_BandwidthStatsLogger.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_BlockImplementation.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_ConnectedDeviceGroup.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_DepreciatedVersionReader.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_Detector.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_DetectorHolder.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_DeviceInfo.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_MidiDeviceConnection.cpp" + "../../../../../modules/juce_blocks_basics/topology/internal/juce_MIDIDeviceDetector.cpp" + "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp" + "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h" + "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp" + "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h" + "../../../../../modules/juce_blocks_basics/topology/juce_Topology.h" + "../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h" + "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp" + "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h" + "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp" + "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h" + "../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp" + "../../../../../modules/juce_blocks_basics/README.txt" + "../../../../../modules/juce_blocks_basics/juce_blocks_basics.h" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.h" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.h" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.h" + "../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2Shape.h" + "../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.h" + "../../../../../modules/juce_box2d/box2d/Collision/b2CollideCircle.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2CollideEdge.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2CollidePolygon.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2Collision.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2Collision.h" + "../../../../../modules/juce_box2d/box2d/Collision/b2Distance.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2Distance.h" + "../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h" + "../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.cpp" + "../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.h" + "../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.cpp" + "../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.h" + "../../../../../modules/juce_box2d/box2d/Common/b2Draw.cpp" + "../../../../../modules/juce_box2d/box2d/Common/b2Draw.h" + "../../../../../modules/juce_box2d/box2d/Common/b2GrowableStack.h" + "../../../../../modules/juce_box2d/box2d/Common/b2Math.cpp" + "../../../../../modules/juce_box2d/box2d/Common/b2Math.h" + "../../../../../modules/juce_box2d/box2d/Common/b2Settings.cpp" + "../../../../../modules/juce_box2d/box2d/Common/b2Settings.h" + "../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.cpp" + "../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.h" + "../../../../../modules/juce_box2d/box2d/Common/b2Timer.cpp" + "../../../../../modules/juce_box2d/box2d/Common/b2Timer.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2TimeStep.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2World.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2World.h" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.cpp" + "../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.h" + "../../../../../modules/juce_box2d/box2d/Rope/b2Rope.cpp" + "../../../../../modules/juce_box2d/box2d/Rope/b2Rope.h" + "../../../../../modules/juce_box2d/box2d/Box2D.h" + "../../../../../modules/juce_box2d/box2d/README.txt" + "../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.cpp" + "../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.h" + "../../../../../modules/juce_box2d/juce_box2d.cpp" + "../../../../../modules/juce_box2d/juce_box2d.h" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" + "../../../../../modules/juce_core/containers/juce_Array.h" + "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" + "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" + "../../../../../modules/juce_core/containers/juce_ArrayBase.h" + "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" + "../../../../../modules/juce_core/containers/juce_DynamicObject.h" + "../../../../../modules/juce_core/containers/juce_ElementComparator.h" + "../../../../../modules/juce_core/containers/juce_HashMap.h" + "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" + "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" + "../../../../../modules/juce_core/containers/juce_ListenerList.h" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" + "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" + "../../../../../modules/juce_core/containers/juce_OwnedArray.h" + "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" + "../../../../../modules/juce_core/containers/juce_PropertySet.h" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" + "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" + "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" + "../../../../../modules/juce_core/containers/juce_SparseSet.h" + "../../../../../modules/juce_core/containers/juce_Variant.cpp" + "../../../../../modules/juce_core/containers/juce_Variant.h" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" + "../../../../../modules/juce_core/files/juce_File.cpp" + "../../../../../modules/juce_core/files/juce_File.h" + "../../../../../modules/juce_core/files/juce_FileFilter.cpp" + "../../../../../modules/juce_core/files/juce_FileFilter.h" + "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileInputStream.h" + "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileOutputStream.h" + "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" + "../../../../../modules/juce_core/files/juce_FileSearchPath.h" + "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" + "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" + "../../../../../modules/juce_core/files/juce_TemporaryFile.h" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" + "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" + "../../../../../modules/juce_core/javascript/juce_Javascript.h" + "../../../../../modules/juce_core/javascript/juce_JSON.cpp" + "../../../../../modules/juce_core/javascript/juce_JSON.h" + "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" + "../../../../../modules/juce_core/logging/juce_FileLogger.h" + "../../../../../modules/juce_core/logging/juce_Logger.cpp" + "../../../../../modules/juce_core/logging/juce_Logger.h" + "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" + "../../../../../modules/juce_core/maths/juce_BigInteger.h" + "../../../../../modules/juce_core/maths/juce_Expression.cpp" + "../../../../../modules/juce_core/maths/juce_Expression.h" + "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" + "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" + "../../../../../modules/juce_core/maths/juce_Random.cpp" + "../../../../../modules/juce_core/maths/juce_Random.h" + "../../../../../modules/juce_core/maths/juce_Range.h" + "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" + "../../../../../modules/juce_core/memory/juce_Atomic.h" + "../../../../../modules/juce_core/memory/juce_ByteOrder.h" + "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" + "../../../../../modules/juce_core/memory/juce_HeapBlock.h" + "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_Memory.h" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" + "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" + "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" + "../../../../../modules/juce_core/memory/juce_Singleton.h" + "../../../../../modules/juce_core/memory/juce_WeakReference.h" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" + "../../../../../modules/juce_core/misc/juce_Result.cpp" + "../../../../../modules/juce_core/misc/juce_Result.h" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" + "../../../../../modules/juce_core/misc/juce_Uuid.cpp" + "../../../../../modules/juce_core/misc/juce_Uuid.h" + "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" + "../../../../../modules/juce_core/native/java/README.txt" + "../../../../../modules/juce_core/native/juce_android_Files.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" + "../../../../../modules/juce_core/native/juce_android_Misc.cpp" + "../../../../../modules/juce_core/native/juce_android_Network.cpp" + "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" + "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_android_Threads.cpp" + "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" + "../../../../../modules/juce_core/native/juce_curl_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" + "../../../../../modules/juce_core/native/juce_linux_Files.cpp" + "../../../../../modules/juce_core/native/juce_linux_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" + "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" + "../../../../../modules/juce_core/native/juce_mac_Files.mm" + "../../../../../modules/juce_core/native/juce_mac_Network.mm" + "../../../../../modules/juce_core/native/juce_mac_Strings.mm" + "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" + "../../../../../modules/juce_core/native/juce_mac_Threads.mm" + "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" + "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" + "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" + "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" + "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" + "../../../../../modules/juce_core/native/juce_win32_Files.cpp" + "../../../../../modules/juce_core/native/juce_win32_Network.cpp" + "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" + "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.h" + "../../../../../modules/juce_core/network/juce_MACAddress.cpp" + "../../../../../modules/juce_core/network/juce_MACAddress.h" + "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" + "../../../../../modules/juce_core/network/juce_NamedPipe.h" + "../../../../../modules/juce_core/network/juce_Socket.cpp" + "../../../../../modules/juce_core/network/juce_Socket.h" + "../../../../../modules/juce_core/network/juce_URL.cpp" + "../../../../../modules/juce_core/network/juce_URL.h" + "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" + "../../../../../modules/juce_core/network/juce_WebInputStream.h" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" + "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_FileInputSource.h" + "../../../../../modules/juce_core/streams/juce_InputSource.h" + "../../../../../modules/juce_core/streams/juce_InputStream.cpp" + "../../../../../modules/juce_core/streams/juce_InputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" + "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_OutputStream.h" + "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" + "../../../../../modules/juce_core/streams/juce_SubregionStream.h" + "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_URLInputSource.h" + "../../../../../modules/juce_core/system/juce_CompilerSupport.h" + "../../../../../modules/juce_core/system/juce_PlatformDefs.h" + "../../../../../modules/juce_core/system/juce_StandardHeader.h" + "../../../../../modules/juce_core/system/juce_SystemStats.cpp" + "../../../../../modules/juce_core/system/juce_SystemStats.h" + "../../../../../modules/juce_core/system/juce_TargetPlatform.h" + "../../../../../modules/juce_core/text/juce_Base64.cpp" + "../../../../../modules/juce_core/text/juce_Base64.h" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" + "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" + "../../../../../modules/juce_core/text/juce_Identifier.cpp" + "../../../../../modules/juce_core/text/juce_Identifier.h" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" + "../../../../../modules/juce_core/text/juce_NewLine.h" + "../../../../../modules/juce_core/text/juce_String.cpp" + "../../../../../modules/juce_core/text/juce_String.h" + "../../../../../modules/juce_core/text/juce_StringArray.cpp" + "../../../../../modules/juce_core/text/juce_StringArray.h" + "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" + "../../../../../modules/juce_core/text/juce_StringPairArray.h" + "../../../../../modules/juce_core/text/juce_StringPool.cpp" + "../../../../../modules/juce_core/text/juce_StringPool.h" + "../../../../../modules/juce_core/text/juce_StringRef.h" + "../../../../../modules/juce_core/text/juce_TextDiff.cpp" + "../../../../../modules/juce_core/text/juce_TextDiff.h" + "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" + "../../../../../modules/juce_core/threads/juce_ChildProcess.h" + "../../../../../modules/juce_core/threads/juce_CriticalSection.h" + "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" + "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" + "../../../../../modules/juce_core/threads/juce_Process.h" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" + "../../../../../modules/juce_core/threads/juce_SpinLock.h" + "../../../../../modules/juce_core/threads/juce_Thread.cpp" + "../../../../../modules/juce_core/threads/juce_Thread.h" + "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" + "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" + "../../../../../modules/juce_core/threads/juce_ThreadPool.h" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" + "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" + "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" + "../../../../../modules/juce_core/time/juce_RelativeTime.h" + "../../../../../modules/juce_core/time/juce_Time.cpp" + "../../../../../modules/juce_core/time/juce_Time.h" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" + "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" + "../../../../../modules/juce_core/xml/juce_XmlDocument.h" + "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" + "../../../../../modules/juce_core/xml/juce_XmlElement.h" + "../../../../../modules/juce_core/zip/zlib/adler32.c" + "../../../../../modules/juce_core/zip/zlib/compress.c" + "../../../../../modules/juce_core/zip/zlib/crc32.c" + "../../../../../modules/juce_core/zip/zlib/crc32.h" + "../../../../../modules/juce_core/zip/zlib/deflate.c" + "../../../../../modules/juce_core/zip/zlib/deflate.h" + "../../../../../modules/juce_core/zip/zlib/infback.c" + "../../../../../modules/juce_core/zip/zlib/inffast.c" + "../../../../../modules/juce_core/zip/zlib/inffast.h" + "../../../../../modules/juce_core/zip/zlib/inffixed.h" + "../../../../../modules/juce_core/zip/zlib/inflate.c" + "../../../../../modules/juce_core/zip/zlib/inflate.h" + "../../../../../modules/juce_core/zip/zlib/inftrees.c" + "../../../../../modules/juce_core/zip/zlib/inftrees.h" + "../../../../../modules/juce_core/zip/zlib/trees.c" + "../../../../../modules/juce_core/zip/zlib/trees.h" + "../../../../../modules/juce_core/zip/zlib/uncompr.c" + "../../../../../modules/juce_core/zip/zlib/zconf.h" + "../../../../../modules/juce_core/zip/zlib/zconf.in.h" + "../../../../../modules/juce_core/zip/zlib/zlib.h" + "../../../../../modules/juce_core/zip/zlib/zutil.c" + "../../../../../modules/juce_core/zip/zlib/zutil.h" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" + "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" + "../../../../../modules/juce_core/zip/juce_ZipFile.h" + "../../../../../modules/juce_core/juce_core.cpp" + "../../../../../modules/juce_core/juce_core.mm" + "../../../../../modules/juce_core/juce_core.h" + "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" + "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_Primes.h" + "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" + "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_MD5.h" + "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" + "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" + "../../../../../modules/juce_cryptography/juce_cryptography.cpp" + "../../../../../modules/juce_cryptography/juce_cryptography.mm" + "../../../../../modules/juce_cryptography/juce_cryptography.h" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" + "../../../../../modules/juce_data_structures/values/juce_Value.cpp" + "../../../../../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_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" + "../../../../../modules/juce_dsp/containers/juce_AudioBlock.h" + "../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h" + "../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h" + "../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp" + "../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.cpp" + "../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.h" + "../../../../../modules/juce_dsp/frequency/juce_Convolution.cpp" + "../../../../../modules/juce_dsp/frequency/juce_Convolution.h" + "../../../../../modules/juce_dsp/frequency/juce_FFT.cpp" + "../../../../../modules/juce_dsp/frequency/juce_FFT.h" + "../../../../../modules/juce_dsp/frequency/juce_FFT_test.cpp" + "../../../../../modules/juce_dsp/frequency/juce_Windowing.cpp" + "../../../../../modules/juce_dsp/frequency/juce_Windowing.h" + "../../../../../modules/juce_dsp/maths/juce_FastMathApproximations.h" + "../../../../../modules/juce_dsp/maths/juce_LookupTable.cpp" + "../../../../../modules/juce_dsp/maths/juce_LookupTable.h" + "../../../../../modules/juce_dsp/maths/juce_Matrix.cpp" + "../../../../../modules/juce_dsp/maths/juce_Matrix.h" + "../../../../../modules/juce_dsp/maths/juce_Matrix_test.cpp" + "../../../../../modules/juce_dsp/maths/juce_Phase.h" + "../../../../../modules/juce_dsp/maths/juce_Polynomial.h" + "../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.cpp" + "../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.h" + "../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.cpp" + "../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.h" + "../../../../../modules/juce_dsp/native/juce_fallback_SIMDNativeOps.h" + "../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.cpp" + "../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.h" + "../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.cpp" + "../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.h" + "../../../../../modules/juce_dsp/processors/juce_Bias.h" + "../../../../../modules/juce_dsp/processors/juce_FIRFilter.cpp" + "../../../../../modules/juce_dsp/processors/juce_FIRFilter.h" + "../../../../../modules/juce_dsp/processors/juce_FIRFilter_test.cpp" + "../../../../../modules/juce_dsp/processors/juce_Gain.h" + "../../../../../modules/juce_dsp/processors/juce_IIRFilter.cpp" + "../../../../../modules/juce_dsp/processors/juce_IIRFilter.h" + "../../../../../modules/juce_dsp/processors/juce_IIRFilter_Impl.h" + "../../../../../modules/juce_dsp/processors/juce_LadderFilter.cpp" + "../../../../../modules/juce_dsp/processors/juce_LadderFilter.h" + "../../../../../modules/juce_dsp/processors/juce_Oscillator.h" + "../../../../../modules/juce_dsp/processors/juce_Oversampling.cpp" + "../../../../../modules/juce_dsp/processors/juce_Oversampling.h" + "../../../../../modules/juce_dsp/processors/juce_ProcessContext.h" + "../../../../../modules/juce_dsp/processors/juce_ProcessorChain.h" + "../../../../../modules/juce_dsp/processors/juce_ProcessorDuplicator.h" + "../../../../../modules/juce_dsp/processors/juce_ProcessorWrapper.h" + "../../../../../modules/juce_dsp/processors/juce_Reverb.h" + "../../../../../modules/juce_dsp/processors/juce_StateVariableFilter.h" + "../../../../../modules/juce_dsp/processors/juce_WaveShaper.h" + "../../../../../modules/juce_dsp/juce_dsp.cpp" + "../../../../../modules/juce_dsp/juce_dsp.mm" + "../../../../../modules/juce_dsp/juce_dsp.h" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" + "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" + "../../../../../modules/juce_events/messages/juce_Initialisation.h" + "../../../../../modules/juce_events/messages/juce_Message.h" + "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" + "../../../../../modules/juce_events/messages/juce_MessageListener.h" + "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" + "../../../../../modules/juce_events/messages/juce_MessageManager.h" + "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" + "../../../../../modules/juce_events/messages/juce_NotificationType.h" + "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" + "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" + "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" + "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" + "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" + "../../../../../modules/juce_events/timers/juce_MultiTimer.h" + "../../../../../modules/juce_events/timers/juce_Timer.cpp" + "../../../../../modules/juce_events/timers/juce_Timer.h" + "../../../../../modules/juce_events/juce_events.cpp" + "../../../../../modules/juce_events/juce_events.mm" + "../../../../../modules/juce_events/juce_events.h" + "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colour.h" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" + "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colours.h" + "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" + "../../../../../modules/juce_graphics/colour/juce_FillType.h" + "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" + "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Font.h" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" + "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" + "../../../../../modules/juce_graphics/geometry/juce_Line.h" + "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" + "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" + "../../../../../modules/juce_graphics/geometry/juce_Path.h" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" + "../../../../../modules/juce_graphics/geometry/juce_Point.h" + "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" + "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" + "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.h" + "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageCache.h" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" + "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" + "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" + "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" + "../../../../../modules/juce_graphics/placement/juce_Justification.h" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" + "../../../../../modules/juce_graphics/juce_graphics.cpp" + "../../../../../modules/juce_graphics/juce_graphics.mm" + "../../../../../modules/juce_graphics/juce_graphics.h" + "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" + "../../../../../modules/juce_gui_basics/application/juce_Application.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" + "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" + "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" + "../../../../../modules/juce_gui_basics/components/juce_Component.h" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" + "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" + "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" + "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" + "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" + "../../../../../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_PropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" + "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" + "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" + "../../../../../modules/juce_gui_basics/juce_gui_basics.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" + "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" + "../../../../../modules/juce_gui_extra/juce_gui_extra.h" + "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" + "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" + "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" + "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" + "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" + "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" + "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" + "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" + "../../../../../modules/juce_opengl/juce_opengl.cpp" + "../../../../../modules/juce_opengl/juce_opengl.mm" + "../../../../../modules/juce_opengl/juce_opengl.h" + "../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCAddress.h" + "../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCArgument.h" + "../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCBundle.h" + "../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCMessage.h" + "../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" + "../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCSender.h" + "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" + "../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCTypes.h" + "../../../../../modules/juce_osc/juce_osc.cpp" + "../../../../../modules/juce_osc/juce_osc.h" + "../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.cpp" + "../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.h" + "../../../../../modules/juce_product_unlocking/marketplace/juce_KeyFileGeneration.h" + "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.cpp" + "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.h" + "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.cpp" + "../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.h" + "../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.cpp" + "../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.h" + "../../../../../modules/juce_product_unlocking/native/juce_android_InAppPurchases.cpp" + "../../../../../modules/juce_product_unlocking/native/juce_ios_InAppPurchases.cpp" + "../../../../../modules/juce_product_unlocking/juce_product_unlocking.cpp" + "../../../../../modules/juce_product_unlocking/juce_product_unlocking.mm" + "../../../../../modules/juce_product_unlocking/juce_product_unlocking.h" + "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" + "../../../../../modules/juce_video/capture/juce_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_android_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_android_Video.h" + "../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_mac_Video.h" + "../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_win32_Video.h" + "../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" + "../../../../../modules/juce_video/playback/juce_VideoComponent.h" + "../../../../../modules/juce_video/juce_video.cpp" + "../../../../../modules/juce_video/juce_video.mm" + "../../../../../modules/juce_video/juce_video.h" + "../../../JuceLibraryCode/AppConfig.h" + "../../../JuceLibraryCode/include_juce_analytics.cpp" + "../../../JuceLibraryCode/include_juce_audio_basics.cpp" + "../../../JuceLibraryCode/include_juce_audio_devices.cpp" + "../../../JuceLibraryCode/include_juce_audio_formats.cpp" + "../../../JuceLibraryCode/include_juce_audio_processors.cpp" + "../../../JuceLibraryCode/include_juce_audio_utils.cpp" + "../../../JuceLibraryCode/include_juce_blocks_basics.cpp" + "../../../JuceLibraryCode/include_juce_box2d.cpp" + "../../../JuceLibraryCode/include_juce_core.cpp" + "../../../JuceLibraryCode/include_juce_cryptography.cpp" + "../../../JuceLibraryCode/include_juce_data_structures.cpp" + "../../../JuceLibraryCode/include_juce_dsp.cpp" + "../../../JuceLibraryCode/include_juce_events.cpp" + "../../../JuceLibraryCode/include_juce_graphics.cpp" + "../../../JuceLibraryCode/include_juce_gui_basics.cpp" + "../../../JuceLibraryCode/include_juce_gui_extra.cpp" + "../../../JuceLibraryCode/include_juce_opengl.cpp" + "../../../JuceLibraryCode/include_juce_osc.cpp" + "../../../JuceLibraryCode/include_juce_product_unlocking.cpp" + "../../../JuceLibraryCode/include_juce_video.cpp" + "../../../JuceLibraryCode/JuceHeader.h" +) + +set_source_files_properties("../../../Source/Demos/IntroScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/Demos/JUCEDemos.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/UI/DemoContentComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/UI/MainComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/UI/SettingsContent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/JUCEAppIcon.png" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_Analytics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_Analytics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/analytics/juce_ButtonTracker.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/destinations/juce_AnalyticsDestination.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/juce_analytics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_analytics/juce_analytics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_Block.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_BlockConfigManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_BlocksVersion.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_BlocksVersion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_BandwidthStatsLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_BlockImplementation.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_ConnectedDeviceGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_DepreciatedVersionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_Detector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_DetectorHolder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_DeviceInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_MidiDeviceConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/internal/juce_MIDIDeviceDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_Topology.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_blocks_basics/juce_blocks_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2ChainShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2CircleShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2PolygonShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/Shapes/b2Shape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2BroadPhase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2CollideCircle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2CollideEdge.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2CollidePolygon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Collision.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Collision.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Distance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2Distance.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Collision/b2TimeOfImpact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2BlockAllocator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Draw.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Draw.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2GrowableStack.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Math.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Math.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Settings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Settings.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2StackAllocator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Common/b2Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndCircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2Contact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ContactSolver.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndCircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonAndCircleContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2PolygonContact.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2FrictionJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2GearJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2MouseJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PrismaticJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2PulleyJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RevoluteJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2RopeJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WeldJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Body.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2ContactManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Fixture.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2Island.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2TimeStep.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2World.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2World.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Dynamics/b2WorldCallbacks.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Rope/b2Rope.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Rope/b2Rope.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/Box2D.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/box2d/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/utils/juce_Box2DRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/juce_box2d.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_box2d/juce_box2d.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/java/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +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_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) +set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_AudioBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister_Impl.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/containers/juce_SIMDRegister_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/filter_design/juce_FilterDesign.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Convolution.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Convolution.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_FFT.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_FFT.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_FFT_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/frequency/juce_Windowing.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_FastMathApproximations.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_LookupTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_LookupTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Matrix.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Matrix.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Matrix_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Phase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_Polynomial.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/maths/juce_SpecialFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/native/juce_avx_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/native/juce_fallback_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/native/juce_neon_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/native/juce_sse_SIMDNativeOps.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Bias.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_FIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_FIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_FIRFilter_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Gain.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_IIRFilter_Impl.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_LadderFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_LadderFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Oscillator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Oversampling.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Oversampling.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorChain.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorDuplicator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_ProcessorWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_StateVariableFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/processors/juce_WaveShaper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/juce_dsp.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/juce_dsp.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_dsp/juce_dsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/juce_osc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/juce_osc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/in_app_purchases/juce_InAppPurchases.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_KeyFileGeneration.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockForm.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_OnlineUnlockStatus.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/marketplace/juce_TracktionMarketplaceStatus.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/native/juce_android_InAppPurchases.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/native/juce_ios_InAppPurchases.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/juce_product_unlocking.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/juce_product_unlocking.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_product_unlocking/juce_product_unlocking.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_android_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_android_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/juce_video.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/juce_video.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/juce_video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) + +find_library(log "log") +find_library(android "android") +find_library(glesv3 "GLESv3") +find_library(egl "EGL") + +target_link_libraries( ${BINARY_NAME} + + ${log} + ${android} + ${glesv3} + ${egl} + "cpufeatures" +) diff --git a/examples/DemoRunner/Builds/Android/app/build.gradle b/examples/DemoRunner/Builds/Android/app/build.gradle index c384afbb..749b29c4 100644 --- a/examples/DemoRunner/Builds/Android/app/build.gradle +++ b/examples/DemoRunner/Builds/Android/app/build.gradle @@ -1,94 +1,103 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 23 - buildToolsVersion "28.0.0" - externalNativeBuild { - cmake { - path "CMakeLists.txt" - } - } - signingConfigs { - juceSigning { - storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") - storePassword "android" - keyAlias "androiddebugkey" - keyPassword "android" - storeType "jks" - } - } - - defaultConfig { - applicationId "com.juce.demorunner" - minSdkVersion 23 - targetSdkVersion 23 - externalNativeBuild { - cmake { - arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" - cFlags "-fsigned-char", "-Wall", "-Wno-missing-field-initializers", "-Wshadow-all", "-Wstrict-aliasing", "-Wuninitialized", "-Wunused-parameter", "-Wsign-compare", "-Wint-conversion", "-Wconditional-uninitialized", "-Woverloaded-virtual", "-Wreorder", "-Wconstant-conversion", "-Wunused-private-field", "-Wbool-conversion", "-Wextra-semi", "-Wno-ignored-qualifiers", "-Wunreachable-code" - cppFlags "-fsigned-char", "-std=c++14", "-Wall", "-Wno-missing-field-initializers", "-Wshadow-all", "-Wstrict-aliasing", "-Wuninitialized", "-Wunused-parameter", "-Wsign-compare", "-Wint-conversion", "-Wconditional-uninitialized", "-Woverloaded-virtual", "-Wreorder", "-Wconstant-conversion", "-Wunused-private-field", "-Wbool-conversion", "-Wextra-semi", "-Wno-ignored-qualifiers", "-Wunreachable-code" - } - } - } - - buildTypes { - debug { - initWith debug - debuggable true - jniDebuggable true - signingConfig signingConfigs.juceSigning - } - release { - initWith release - debuggable false - jniDebuggable false - signingConfig signingConfigs.juceSigning - } - } - - flavorDimensions "default" - productFlavors { - debug_ { - ndk { - abiFilters "armeabi-v7a", "x86" - } - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" - } - } - - dimension "default" - } - release_ { - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" - } - } - - dimension "default" - } - } - - variantFilter { variant -> - def names = variant.flavors*.name - if (names.contains ("debug_") - && variant.buildType.name != "debug") { - setIgnore(true) - } - if (names.contains ("release_") - && variant.buildType.name != "release") { - setIgnore(true) - } - } - -repositories { -} - -dependencies { -} - - -} - +apply plugin: 'com.android.application' + +android { + compileSdkVersion 28 + externalNativeBuild { + cmake { + path "CMakeLists.txt" + } + } + signingConfigs { + juceSigning { + storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") + storePassword "android" + keyAlias "androiddebugkey" + keyPassword "android" + storeType "jks" + } + } + + defaultConfig { + applicationId "com.juce.demorunner" + minSdkVersion 23 + targetSdkVersion 28 + externalNativeBuild { + cmake { + arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" + cFlags "-fsigned-char", "-Wall", "-Wno-missing-field-initializers", "-Wshadow-all", "-Wstrict-aliasing", "-Wuninitialized", "-Wunused-parameter", "-Wsign-compare", "-Wint-conversion", "-Wconditional-uninitialized", "-Woverloaded-virtual", "-Wreorder", "-Wconstant-conversion", "-Wunused-private-field", "-Wbool-conversion", "-Wextra-semi", "-Wno-ignored-qualifiers", "-Wunreachable-code" + cppFlags "-fsigned-char", "-std=c++14", "-Wall", "-Wno-missing-field-initializers", "-Wshadow-all", "-Wstrict-aliasing", "-Wuninitialized", "-Wunused-parameter", "-Wsign-compare", "-Wint-conversion", "-Wconditional-uninitialized", "-Woverloaded-virtual", "-Wreorder", "-Wconstant-conversion", "-Wunused-private-field", "-Wbool-conversion", "-Wextra-semi", "-Wno-ignored-qualifiers", "-Wunreachable-code" + } + } + } + + buildTypes { + debug { + initWith debug + debuggable true + jniDebuggable true + signingConfig signingConfigs.juceSigning + } + release { + initWith release + debuggable false + jniDebuggable false + signingConfig signingConfigs.juceSigning + } + } + + flavorDimensions "default" + productFlavors { + debug_ { + ndk { + abiFilters "armeabi-v7a", "x86" + } + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" + } + } + + dimension "default" + } + release_ { + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" + } + } + + dimension "default" + } + } + + variantFilter { variant -> + def names = variant.flavors*.name + if (names.contains ("debug_") + && variant.buildType.name != "debug") { + setIgnore(true) + } + if (names.contains ("release_") + && variant.buildType.name != "release") { + setIgnore(true) + } + } + + sourceSets { + main.java.srcDirs += + ["../../../../../modules/juce_core/native/javacore/init", + "../../../../../modules/juce_core/native/javacore/app", + "../../../../../modules/juce_gui_basics/native/javacore/app"] + + main.res.srcDirs += + [] + } + + repositories { + } + + dependencies { + } + + +} + diff --git a/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml b/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml index f302ae11..5c7dfdbd 100644 --- a/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml +++ b/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ - @@ -12,15 +12,15 @@ - - + - diff --git a/examples/DemoRunner/Builds/Android/build.gradle b/examples/DemoRunner/Builds/Android/build.gradle index 647f509e..2df9a8e7 100644 --- a/examples/DemoRunner/Builds/Android/build.gradle +++ b/examples/DemoRunner/Builds/Android/build.gradle @@ -1,16 +1,16 @@ -buildscript { - repositories { - google() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} +buildscript { + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.2.1' + } +} + +allprojects { + repositories { + google() + jcenter() + } +} diff --git a/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties index d384d28f..b460908d 100644 --- a/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/examples/DemoRunner/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip \ No newline at end of file diff --git a/examples/DemoRunner/Builds/LinuxMakefile/Makefile b/examples/DemoRunner/Builds/LinuxMakefile/Makefile index 4922eb67..848f16c7 100644 --- a/examples/DemoRunner/Builds/LinuxMakefile/Makefile +++ b/examples/DemoRunner/Builds/LinuxMakefile/Makefile @@ -1,249 +1,249 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -# build with "V=1" for verbose builds -ifeq ($(V), 1) -V_AT = -else -V_AT = @ -endif - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef STRIP - STRIP=strip -endif - -ifndef AR - AR=ar -endif - -ifndef CONFIG - CONFIG=Debug -endif - -JUCE_ARCH_LABEL := $(shell uname -m) - -ifeq ($(CONFIG),Debug) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Debug - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.1 -DJUCE_APP_VERSION_HEX=0x50401 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +# build with "V=1" for verbose builds +ifeq ($(V), 1) +V_AT = +else +V_AT = @ +endif + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + +ifndef CONFIG + CONFIG=Debug +endif + +JUCE_ARCH_LABEL := $(shell uname -m) + +ifeq ($(CONFIG),Debug) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.2 -DJUCE_APP_VERSION_HEX=0x50402 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -ifeq ($(CONFIG),Release) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Release - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.1 -DJUCE_APP_VERSION_HEX=0x50401 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_TARGET_APP := DemoRunner + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +ifeq ($(CONFIG),Release) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCE_DEMO_RUNNER=1 -DJUCE_UNIT_TESTS=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.2 -DJUCE_APP_VERSION_HEX=0x50402 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -OBJECTS_APP := \ - $(JUCE_OBJDIR)/DemoPIPs1_5b52b434.o \ - $(JUCE_OBJDIR)/DemoPIPs2_5b60cbb5.o \ - $(JUCE_OBJDIR)/JUCEDemos_5a07ba05.o \ - $(JUCE_OBJDIR)/DemoContentComponent_c5bb9cc3.o \ - $(JUCE_OBJDIR)/MainComponent_a54318d2.o \ - $(JUCE_OBJDIR)/Main_90ebc5c2.o \ - $(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o \ - $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ - $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ - $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ - $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ - $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ - $(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o \ - $(JUCE_OBJDIR)/include_juce_box2d_b0305d8b.o \ - $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ - $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ - $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ - $(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o \ - $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ - $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ - $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ - $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ - $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ - $(JUCE_OBJDIR)/include_juce_osc_f3df604d.o \ - $(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o \ - $(JUCE_OBJDIR)/include_juce_video_be78589.o \ - -.PHONY: clean all strip - -all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) - -$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl - @echo Linking "DemoRunner - App" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) - -$(JUCE_OBJDIR)/DemoPIPs1_5b52b434.o: ../../Source/Demos/DemoPIPs1.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling DemoPIPs1.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/DemoPIPs2_5b60cbb5.o: ../../Source/Demos/DemoPIPs2.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling DemoPIPs2.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/JUCEDemos_5a07ba05.o: ../../Source/Demos/JUCEDemos.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling JUCEDemos.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/DemoContentComponent_c5bb9cc3.o: ../../Source/UI/DemoContentComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling DemoContentComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/MainComponent_a54318d2.o: ../../Source/UI/MainComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling MainComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling Main.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o: ../../JuceLibraryCode/include_juce_analytics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_analytics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_devices.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_formats.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_processors.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_utils.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o: ../../JuceLibraryCode/include_juce_blocks_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_blocks_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_box2d_b0305d8b.o: ../../JuceLibraryCode/include_juce_box2d.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_box2d.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_core.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_cryptography.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_data_structures.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o: ../../JuceLibraryCode/include_juce_dsp.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_dsp.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_events.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_graphics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_extra.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_opengl.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_osc_f3df604d.o: ../../JuceLibraryCode/include_juce_osc.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_osc.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o: ../../JuceLibraryCode/include_juce_product_unlocking.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_product_unlocking.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_video_be78589.o: ../../JuceLibraryCode/include_juce_video.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_video.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -clean: - @echo Cleaning DemoRunner - $(V_AT)$(CLEANCMD) - -strip: - @echo Stripping DemoRunner - -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) - --include $(OBJECTS_APP:%.o=%.d) + JUCE_TARGET_APP := DemoRunner + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +OBJECTS_APP := \ + $(JUCE_OBJDIR)/DemoPIPs1_5b52b434.o \ + $(JUCE_OBJDIR)/DemoPIPs2_5b60cbb5.o \ + $(JUCE_OBJDIR)/JUCEDemos_5a07ba05.o \ + $(JUCE_OBJDIR)/DemoContentComponent_c5bb9cc3.o \ + $(JUCE_OBJDIR)/MainComponent_a54318d2.o \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o \ + $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ + $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ + $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ + $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ + $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ + $(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o \ + $(JUCE_OBJDIR)/include_juce_box2d_b0305d8b.o \ + $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ + $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ + $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ + $(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o \ + $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ + $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ + $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ + $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ + $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ + $(JUCE_OBJDIR)/include_juce_osc_f3df604d.o \ + $(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o \ + $(JUCE_OBJDIR)/include_juce_video_be78589.o \ + +.PHONY: clean all strip + +all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) + +$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl + @echo Linking "DemoRunner - App" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) + -$(V_AT)mkdir -p $(JUCE_OUTDIR) + $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) + +$(JUCE_OBJDIR)/DemoPIPs1_5b52b434.o: ../../Source/Demos/DemoPIPs1.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling DemoPIPs1.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/DemoPIPs2_5b60cbb5.o: ../../Source/Demos/DemoPIPs2.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling DemoPIPs2.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/JUCEDemos_5a07ba05.o: ../../Source/Demos/JUCEDemos.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling JUCEDemos.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/DemoContentComponent_c5bb9cc3.o: ../../Source/UI/DemoContentComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling DemoContentComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/MainComponent_a54318d2.o: ../../Source/UI/MainComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling MainComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling Main.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o: ../../JuceLibraryCode/include_juce_analytics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_analytics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_devices.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_formats.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_processors.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_utils.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o: ../../JuceLibraryCode/include_juce_blocks_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_blocks_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_box2d_b0305d8b.o: ../../JuceLibraryCode/include_juce_box2d.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_box2d.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_core.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_cryptography.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_data_structures.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o: ../../JuceLibraryCode/include_juce_dsp.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_dsp.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_events.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_graphics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_extra.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_opengl.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_osc_f3df604d.o: ../../JuceLibraryCode/include_juce_osc.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_osc.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o: ../../JuceLibraryCode/include_juce_product_unlocking.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_product_unlocking.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_video_be78589.o: ../../JuceLibraryCode/include_juce_video.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_video.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +clean: + @echo Cleaning DemoRunner + $(V_AT)$(CLEANCMD) + +strip: + @echo Stripping DemoRunner + -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) + +-include $(OBJECTS_APP:%.o=%.d) diff --git a/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj b/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj index ab98fe59..30fbaa9c 100644 --- a/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj +++ b/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj @@ -909,8 +909,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=5.4.1", - "JUCE_APP_VERSION_HEX=0x50401", + "JUCE_APP_VERSION=5.4.2", + "JUCE_APP_VERSION_HEX=0x50402", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -954,8 +954,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=5.4.1", - "JUCE_APP_VERSION_HEX=0x50401", + "JUCE_APP_VERSION=5.4.2", + "JUCE_APP_VERSION_HEX=0x50402", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", diff --git a/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/examples/DemoRunner/Builds/MacOSX/Info-App.plist b/examples/DemoRunner/Builds/MacOSX/Info-App.plist index 600c9f9b..bcde4797 100644 --- a/examples/DemoRunner/Builds/MacOSX/Info-App.plist +++ b/examples/DemoRunner/Builds/MacOSX/Info-App.plist @@ -22,9 +22,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 5.4.1 + 5.4.2 CFBundleVersion - 5.4.1 + 5.4.2 NSHumanReadableCopyright Copyright (c) 2018 - ROLI Ltd. NSHighResolutionCapable diff --git a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj index 5a05bc53..b4b14776 100644 --- a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDebugDLL true @@ -105,7 +105,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDLL true @@ -168,15 +168,6 @@ true - - true - - - true - - - true - true @@ -249,6 +240,15 @@ true + + true + + + true + + + true + true @@ -540,6 +540,9 @@ true + + true + true @@ -663,6 +666,36 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -915,6 +948,9 @@ true + + true + true @@ -1161,6 +1197,9 @@ true + + true + true @@ -2195,12 +2234,6 @@ - - - - - - @@ -2228,6 +2261,13 @@ + + + + + + + @@ -2365,6 +2405,7 @@ + @@ -2380,8 +2421,11 @@ + + + @@ -2393,6 +2437,7 @@ + @@ -2442,6 +2487,7 @@ + @@ -3011,6 +3057,7 @@ + diff --git a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters index eab60e84..2c038644 100644 --- a/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2013/DemoRunner_App.vcxproj.filters @@ -29,9 +29,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -47,6 +44,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -203,6 +203,9 @@ {56B98154-96AF-63C0-CF58-1E2698CA95AB} + + {BBFDA49F-EE50-D570-2101-7DC71D7E7DA1} + {01174C18-A414-8669-5964-5D0BEEFB965B} @@ -263,6 +266,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -565,15 +571,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -646,6 +643,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -946,6 +952,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1090,6 +1099,36 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + JUCE Modules\juce_blocks_basics\topology @@ -1342,6 +1381,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1609,6 +1651,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2790,24 +2835,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2889,6 +2916,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -3300,6 +3348,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -3345,12 +3396,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -3384,6 +3444,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -3531,6 +3594,9 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + JUCE Modules\juce_blocks_basics\blocks @@ -5234,6 +5300,9 @@ JUCE Modules\juce_box2d\box2d + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/examples/DemoRunner/Builds/VisualStudio2013/resources.rc b/examples/DemoRunner/Builds/VisualStudio2013/resources.rc index 0c739d38..e22698f3 100644 --- a/examples/DemoRunner/Builds/VisualStudio2013/resources.rc +++ b/examples/DemoRunner/Builds/VisualStudio2013/resources.rc @@ -7,7 +7,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 5,4,1,0 +FILEVERSION 5,4,2,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -16,9 +16,9 @@ BEGIN VALUE "CompanyName", "ROLI Ltd.\0" VALUE "LegalCopyright", "Copyright (c) 2018 - ROLI Ltd.\0" VALUE "FileDescription", "DemoRunner\0" - VALUE "FileVersion", "5.4.1\0" + VALUE "FileVersion", "5.4.2\0" VALUE "ProductName", "DemoRunner\0" - VALUE "ProductVersion", "5.4.1\0" + VALUE "ProductVersion", "5.4.2\0" END END diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj index 20fb0d41..fb16a1d6 100644 --- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDebugDLL true @@ -105,7 +105,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDLL true @@ -168,15 +168,6 @@ true - - true - - - true - - - true - true @@ -249,6 +240,15 @@ true + + true + + + true + + + true + true @@ -540,6 +540,9 @@ true + + true + true @@ -663,6 +666,36 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -915,6 +948,9 @@ true + + true + true @@ -1161,6 +1197,9 @@ true + + true + true @@ -2195,12 +2234,6 @@ - - - - - - @@ -2228,6 +2261,13 @@ + + + + + + + @@ -2365,6 +2405,7 @@ + @@ -2380,8 +2421,11 @@ + + + @@ -2393,6 +2437,7 @@ + @@ -2442,6 +2487,7 @@ + @@ -3011,6 +3057,7 @@ + diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters index a9d95373..e6a62f9b 100644 --- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters @@ -29,9 +29,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -47,6 +44,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -203,6 +203,9 @@ {56B98154-96AF-63C0-CF58-1E2698CA95AB} + + {BBFDA49F-EE50-D570-2101-7DC71D7E7DA1} + {01174C18-A414-8669-5964-5D0BEEFB965B} @@ -263,6 +266,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -565,15 +571,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -646,6 +643,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -946,6 +952,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1090,6 +1099,36 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + JUCE Modules\juce_blocks_basics\topology @@ -1342,6 +1381,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1609,6 +1651,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2790,24 +2835,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2889,6 +2916,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -3300,6 +3348,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -3345,12 +3396,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -3384,6 +3444,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -3531,6 +3594,9 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + JUCE Modules\juce_blocks_basics\blocks @@ -5234,6 +5300,9 @@ JUCE Modules\juce_box2d\box2d + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/examples/DemoRunner/Builds/VisualStudio2015/resources.rc b/examples/DemoRunner/Builds/VisualStudio2015/resources.rc index 0c739d38..e22698f3 100644 --- a/examples/DemoRunner/Builds/VisualStudio2015/resources.rc +++ b/examples/DemoRunner/Builds/VisualStudio2015/resources.rc @@ -7,7 +7,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 5,4,1,0 +FILEVERSION 5,4,2,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -16,9 +16,9 @@ BEGIN VALUE "CompanyName", "ROLI Ltd.\0" VALUE "LegalCopyright", "Copyright (c) 2018 - ROLI Ltd.\0" VALUE "FileDescription", "DemoRunner\0" - VALUE "FileVersion", "5.4.1\0" + VALUE "FileVersion", "5.4.2\0" VALUE "ProductName", "DemoRunner\0" - VALUE "ProductVersion", "5.4.1\0" + VALUE "ProductVersion", "5.4.2\0" END END diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj index ee10af15..2de25bd4 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDebugDLL true @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreaded true @@ -170,15 +170,6 @@ true - - true - - - true - - - true - true @@ -251,6 +242,15 @@ true + + true + + + true + + + true + true @@ -542,6 +542,9 @@ true + + true + true @@ -665,6 +668,36 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -917,6 +950,9 @@ true + + true + true @@ -1163,6 +1199,9 @@ true + + true + true @@ -2197,12 +2236,6 @@ - - - - - - @@ -2230,6 +2263,13 @@ + + + + + + + @@ -2367,6 +2407,7 @@ + @@ -2382,8 +2423,11 @@ + + + @@ -2395,6 +2439,7 @@ + @@ -2444,6 +2489,7 @@ + @@ -3013,6 +3059,7 @@ + diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters index 219a2189..4f9b6922 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters @@ -29,9 +29,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -47,6 +44,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -203,6 +203,9 @@ {56B98154-96AF-63C0-CF58-1E2698CA95AB} + + {BBFDA49F-EE50-D570-2101-7DC71D7E7DA1} + {01174C18-A414-8669-5964-5D0BEEFB965B} @@ -263,6 +266,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -565,15 +571,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -646,6 +643,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -946,6 +952,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1090,6 +1099,36 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + JUCE Modules\juce_blocks_basics\topology @@ -1342,6 +1381,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1609,6 +1651,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2790,24 +2835,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2889,6 +2916,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -3300,6 +3348,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -3345,12 +3396,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -3384,6 +3444,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -3531,6 +3594,9 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + JUCE Modules\juce_blocks_basics\blocks @@ -5234,6 +5300,9 @@ JUCE Modules\juce_box2d\box2d + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/examples/DemoRunner/Builds/VisualStudio2017/resources.rc b/examples/DemoRunner/Builds/VisualStudio2017/resources.rc index 0c739d38..e22698f3 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/resources.rc +++ b/examples/DemoRunner/Builds/VisualStudio2017/resources.rc @@ -7,7 +7,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 5,4,1,0 +FILEVERSION 5,4,2,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -16,9 +16,9 @@ BEGIN VALUE "CompanyName", "ROLI Ltd.\0" VALUE "LegalCopyright", "Copyright (c) 2018 - ROLI Ltd.\0" VALUE "FileDescription", "DemoRunner\0" - VALUE "FileVersion", "5.4.1\0" + VALUE "FileVersion", "5.4.2\0" VALUE "ProductName", "DemoRunner\0" - VALUE "ProductVersion", "5.4.1\0" + VALUE "ProductVersion", "5.4.2\0" END END diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj b/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj index 7187cd88..8b087fd2 100644 --- a/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj +++ b/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj @@ -85,6 +85,10 @@ isa = PBXBuildFile; fileRef = 8135645508EEFDBDCDF2ADC6; }; + 1C9AA8660D0DE180064ACF7B = { + isa = PBXBuildFile; + fileRef = 7FBD555B32197FEACDFF5AFB; + }; 75DB074DBAE04408A0A917B7 = { isa = PBXBuildFile; fileRef = E0A3F113BC27B7B4D6F1D693; @@ -487,6 +491,13 @@ path = ../../Source/UI/SettingsContent.h; sourceTree = "SOURCE_ROOT"; }; + 7FBD555B32197FEACDFF5AFB = { + isa = PBXFileReference; + lastKnownFileType = file.storyboard; + name = LaunchScreen.storyboard; + path = LaunchScreen.storyboard; + sourceTree = "SOURCE_ROOT"; + }; 8135645508EEFDBDCDF2ADC6 = { isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; @@ -837,6 +848,7 @@ 685A261BE78585293F3EAD36, 4EC2782DE1779A130835B64D, 8135645508EEFDBDCDF2ADC6, + 7FBD555B32197FEACDFF5AFB, E0A3F113BC27B7B4D6F1D693, ); name = Resources; @@ -908,8 +920,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_IPHONE_5BC26AE3=1", - "JUCE_APP_VERSION=5.4.1", - "JUCE_APP_VERSION_HEX=0x50401", + "JUCE_APP_VERSION=5.4.2", + "JUCE_APP_VERSION_HEX=0x50402", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -955,8 +967,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_IPHONE_5BC26AE3=1", - "JUCE_APP_VERSION=5.4.1", - "JUCE_APP_VERSION_HEX=0x50401", + "JUCE_APP_VERSION=5.4.2", + "JUCE_APP_VERSION_HEX=0x50402", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -1110,6 +1122,7 @@ files = ( 47ED2C78B05B8A6A00E36C46, 8E63755144E29269FD82C897, + 1C9AA8660D0DE180064ACF7B, 75DB074DBAE04408A0A917B7, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/examples/DemoRunner/Builds/iOS/Info-App.plist b/examples/DemoRunner/Builds/iOS/Info-App.plist index 89280a4c..594be6ff 100644 --- a/examples/DemoRunner/Builds/iOS/Info-App.plist +++ b/examples/DemoRunner/Builds/iOS/Info-App.plist @@ -11,6 +11,8 @@ UIViewControllerBasedStatusBarAppearance + UILaunchStoryboardName + LaunchScreen CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier @@ -24,9 +26,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 5.4.1 + 5.4.2 CFBundleVersion - 5.4.1 + 5.4.2 NSHumanReadableCopyright Copyright (c) 2018 - ROLI Ltd. NSHighResolutionCapable diff --git a/examples/DemoRunner/Builds/iOS/LaunchScreen.storyboard b/examples/DemoRunner/Builds/iOS/LaunchScreen.storyboard new file mode 100644 index 00000000..ce0d6fd7 --- /dev/null +++ b/examples/DemoRunner/Builds/iOS/LaunchScreen.storyboard @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/examples/DemoRunner/DemoRunner.jucer b/examples/DemoRunner/DemoRunner.jucer index e014c34e..5d43c491 100644 --- a/examples/DemoRunner/DemoRunner.jucer +++ b/examples/DemoRunner/DemoRunner.jucer @@ -1,7 +1,7 @@ - diff --git a/examples/DemoRunner/JuceLibraryCode/JuceHeader.h b/examples/DemoRunner/JuceLibraryCode/JuceHeader.h index f7084709..1a5d8a00 100644 --- a/examples/DemoRunner/JuceLibraryCode/JuceHeader.h +++ b/examples/DemoRunner/JuceLibraryCode/JuceHeader.h @@ -47,7 +47,7 @@ namespace ProjectInfo { const char* const projectName = "DemoRunner"; const char* const companyName = "ROLI Ltd."; - const char* const versionString = "5.4.1"; - const int versionNumber = 0x50401; + const char* const versionString = "5.4.2"; + const int versionNumber = 0x50402; } #endif diff --git a/extras/AudioPerformanceTest/AudioPerformanceTest.jucer b/extras/AudioPerformanceTest/AudioPerformanceTest.jucer index e27f832a..76cc1cfb 100644 --- a/extras/AudioPerformanceTest/AudioPerformanceTest.jucer +++ b/extras/AudioPerformanceTest/AudioPerformanceTest.jucer @@ -1,7 +1,7 @@ diff --git a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt index e7c72285..a792e18e 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt +++ b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt @@ -1,2574 +1,2594 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -cmake_minimum_required(VERSION 3.4.1) - -SET(BINARY_NAME "juce_jni") - -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_ANDROID_ACTIVITY_CLASSNAME=com_juce_audioperformancetest_AudioPerformanceTest" "-DJUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/audioperformancetest/AudioPerformanceTest\"" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSNAME=com_juce_audioperformancetest_SharingContentProvider" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSPATH=\"com/juce/audioperformancetest/SharingContentProvider\"" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") - -include_directories( AFTER - "../../../JuceLibraryCode" - "../../../../../modules" - "${ANDROID_NDK}/sources/android/cpufeatures" -) - -enable_language(ASM) - -IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - add_definitions("-DDEBUG=1" "-D_DEBUG=1") -ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") - add_definitions("-DNDEBUG=1") -ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - MESSAGE( FATAL_ERROR "No matching build-configuration found." ) -ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - -add_library( ${BINARY_NAME} - - SHARED - - "../../../Source/Main.cpp" - "../../../Source/MainComponent.h" - "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" - "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" - "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" - "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" - "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" - "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" - "../../../../../modules/juce_audio_basics/juce_audio_basics.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" - "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" - "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" - "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" - "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" - "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" - "../../../../../modules/juce_audio_devices/juce_audio_devices.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" - "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" - "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" - "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" - "../../../../../modules/juce_audio_formats/codecs/flac/export.h" - "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/flac/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" - "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" - "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" - "../../../../../modules/juce_audio_formats/juce_audio_formats.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" - "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" - "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" - "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" - "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" - "../../../../../modules/juce_audio_processors/juce_audio_processors.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" - "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" - "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" - "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" - "../../../../../modules/juce_audio_utils/juce_audio_utils.h" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" - "../../../../../modules/juce_core/containers/juce_Array.h" - "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" - "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" - "../../../../../modules/juce_core/containers/juce_ArrayBase.h" - "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" - "../../../../../modules/juce_core/containers/juce_DynamicObject.h" - "../../../../../modules/juce_core/containers/juce_ElementComparator.h" - "../../../../../modules/juce_core/containers/juce_HashMap.h" - "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" - "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" - "../../../../../modules/juce_core/containers/juce_ListenerList.h" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" - "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" - "../../../../../modules/juce_core/containers/juce_OwnedArray.h" - "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" - "../../../../../modules/juce_core/containers/juce_PropertySet.h" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" - "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" - "../../../../../modules/juce_core/containers/juce_SortedSet.h" - "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" - "../../../../../modules/juce_core/containers/juce_SparseSet.h" - "../../../../../modules/juce_core/containers/juce_Variant.cpp" - "../../../../../modules/juce_core/containers/juce_Variant.h" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" - "../../../../../modules/juce_core/files/juce_File.cpp" - "../../../../../modules/juce_core/files/juce_File.h" - "../../../../../modules/juce_core/files/juce_FileFilter.cpp" - "../../../../../modules/juce_core/files/juce_FileFilter.h" - "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileInputStream.h" - "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileOutputStream.h" - "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" - "../../../../../modules/juce_core/files/juce_FileSearchPath.h" - "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" - "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" - "../../../../../modules/juce_core/files/juce_TemporaryFile.h" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" - "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" - "../../../../../modules/juce_core/javascript/juce_Javascript.h" - "../../../../../modules/juce_core/javascript/juce_JSON.cpp" - "../../../../../modules/juce_core/javascript/juce_JSON.h" - "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" - "../../../../../modules/juce_core/logging/juce_FileLogger.h" - "../../../../../modules/juce_core/logging/juce_Logger.cpp" - "../../../../../modules/juce_core/logging/juce_Logger.h" - "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" - "../../../../../modules/juce_core/maths/juce_BigInteger.h" - "../../../../../modules/juce_core/maths/juce_Expression.cpp" - "../../../../../modules/juce_core/maths/juce_Expression.h" - "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" - "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" - "../../../../../modules/juce_core/maths/juce_Random.cpp" - "../../../../../modules/juce_core/maths/juce_Random.h" - "../../../../../modules/juce_core/maths/juce_Range.h" - "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" - "../../../../../modules/juce_core/memory/juce_Atomic.h" - "../../../../../modules/juce_core/memory/juce_ByteOrder.h" - "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" - "../../../../../modules/juce_core/memory/juce_HeapBlock.h" - "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_Memory.h" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" - "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" - "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" - "../../../../../modules/juce_core/memory/juce_Singleton.h" - "../../../../../modules/juce_core/memory/juce_WeakReference.h" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" - "../../../../../modules/juce_core/misc/juce_Result.cpp" - "../../../../../modules/juce_core/misc/juce_Result.h" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" - "../../../../../modules/juce_core/misc/juce_Uuid.cpp" - "../../../../../modules/juce_core/misc/juce_Uuid.h" - "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" - "../../../../../modules/juce_core/native/juce_android_Files.cpp" - "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" - "../../../../../modules/juce_core/native/juce_android_Misc.cpp" - "../../../../../modules/juce_core/native/juce_android_Network.cpp" - "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" - "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_android_Threads.cpp" - "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" - "../../../../../modules/juce_core/native/juce_curl_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" - "../../../../../modules/juce_core/native/juce_linux_Files.cpp" - "../../../../../modules/juce_core/native/juce_linux_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" - "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" - "../../../../../modules/juce_core/native/juce_mac_Files.mm" - "../../../../../modules/juce_core/native/juce_mac_Network.mm" - "../../../../../modules/juce_core/native/juce_mac_Strings.mm" - "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" - "../../../../../modules/juce_core/native/juce_mac_Threads.mm" - "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" - "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" - "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" - "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" - "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" - "../../../../../modules/juce_core/native/juce_win32_Files.cpp" - "../../../../../modules/juce_core/native/juce_win32_Network.cpp" - "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" - "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.h" - "../../../../../modules/juce_core/network/juce_MACAddress.cpp" - "../../../../../modules/juce_core/network/juce_MACAddress.h" - "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" - "../../../../../modules/juce_core/network/juce_NamedPipe.h" - "../../../../../modules/juce_core/network/juce_Socket.cpp" - "../../../../../modules/juce_core/network/juce_Socket.h" - "../../../../../modules/juce_core/network/juce_URL.cpp" - "../../../../../modules/juce_core/network/juce_URL.h" - "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" - "../../../../../modules/juce_core/network/juce_WebInputStream.h" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" - "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_FileInputSource.h" - "../../../../../modules/juce_core/streams/juce_InputSource.h" - "../../../../../modules/juce_core/streams/juce_InputStream.cpp" - "../../../../../modules/juce_core/streams/juce_InputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" - "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_OutputStream.h" - "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" - "../../../../../modules/juce_core/streams/juce_SubregionStream.h" - "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_URLInputSource.h" - "../../../../../modules/juce_core/system/juce_CompilerSupport.h" - "../../../../../modules/juce_core/system/juce_PlatformDefs.h" - "../../../../../modules/juce_core/system/juce_StandardHeader.h" - "../../../../../modules/juce_core/system/juce_SystemStats.cpp" - "../../../../../modules/juce_core/system/juce_SystemStats.h" - "../../../../../modules/juce_core/system/juce_TargetPlatform.h" - "../../../../../modules/juce_core/text/juce_Base64.cpp" - "../../../../../modules/juce_core/text/juce_Base64.h" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" - "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" - "../../../../../modules/juce_core/text/juce_Identifier.cpp" - "../../../../../modules/juce_core/text/juce_Identifier.h" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" - "../../../../../modules/juce_core/text/juce_NewLine.h" - "../../../../../modules/juce_core/text/juce_String.cpp" - "../../../../../modules/juce_core/text/juce_String.h" - "../../../../../modules/juce_core/text/juce_StringArray.cpp" - "../../../../../modules/juce_core/text/juce_StringArray.h" - "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" - "../../../../../modules/juce_core/text/juce_StringPairArray.h" - "../../../../../modules/juce_core/text/juce_StringPool.cpp" - "../../../../../modules/juce_core/text/juce_StringPool.h" - "../../../../../modules/juce_core/text/juce_StringRef.h" - "../../../../../modules/juce_core/text/juce_TextDiff.cpp" - "../../../../../modules/juce_core/text/juce_TextDiff.h" - "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" - "../../../../../modules/juce_core/threads/juce_ChildProcess.h" - "../../../../../modules/juce_core/threads/juce_CriticalSection.h" - "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" - "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" - "../../../../../modules/juce_core/threads/juce_Process.h" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" - "../../../../../modules/juce_core/threads/juce_SpinLock.h" - "../../../../../modules/juce_core/threads/juce_Thread.cpp" - "../../../../../modules/juce_core/threads/juce_Thread.h" - "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" - "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" - "../../../../../modules/juce_core/threads/juce_ThreadPool.h" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" - "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" - "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" - "../../../../../modules/juce_core/time/juce_RelativeTime.h" - "../../../../../modules/juce_core/time/juce_Time.cpp" - "../../../../../modules/juce_core/time/juce_Time.h" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" - "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" - "../../../../../modules/juce_core/xml/juce_XmlDocument.h" - "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" - "../../../../../modules/juce_core/xml/juce_XmlElement.h" - "../../../../../modules/juce_core/zip/zlib/adler32.c" - "../../../../../modules/juce_core/zip/zlib/compress.c" - "../../../../../modules/juce_core/zip/zlib/crc32.c" - "../../../../../modules/juce_core/zip/zlib/crc32.h" - "../../../../../modules/juce_core/zip/zlib/deflate.c" - "../../../../../modules/juce_core/zip/zlib/deflate.h" - "../../../../../modules/juce_core/zip/zlib/infback.c" - "../../../../../modules/juce_core/zip/zlib/inffast.c" - "../../../../../modules/juce_core/zip/zlib/inffast.h" - "../../../../../modules/juce_core/zip/zlib/inffixed.h" - "../../../../../modules/juce_core/zip/zlib/inflate.c" - "../../../../../modules/juce_core/zip/zlib/inflate.h" - "../../../../../modules/juce_core/zip/zlib/inftrees.c" - "../../../../../modules/juce_core/zip/zlib/inftrees.h" - "../../../../../modules/juce_core/zip/zlib/trees.c" - "../../../../../modules/juce_core/zip/zlib/trees.h" - "../../../../../modules/juce_core/zip/zlib/uncompr.c" - "../../../../../modules/juce_core/zip/zlib/zconf.h" - "../../../../../modules/juce_core/zip/zlib/zconf.in.h" - "../../../../../modules/juce_core/zip/zlib/zlib.h" - "../../../../../modules/juce_core/zip/zlib/zutil.c" - "../../../../../modules/juce_core/zip/zlib/zutil.h" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" - "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" - "../../../../../modules/juce_core/zip/juce_ZipFile.h" - "../../../../../modules/juce_core/juce_core.cpp" - "../../../../../modules/juce_core/juce_core.mm" - "../../../../../modules/juce_core/juce_core.h" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" - "../../../../../modules/juce_data_structures/values/juce_Value.cpp" - "../../../../../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_ValueTreeSynchroniser.cpp" - "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" - "../../../../../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" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" - "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" - "../../../../../modules/juce_events/messages/juce_Initialisation.h" - "../../../../../modules/juce_events/messages/juce_Message.h" - "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" - "../../../../../modules/juce_events/messages/juce_MessageListener.h" - "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" - "../../../../../modules/juce_events/messages/juce_MessageManager.h" - "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" - "../../../../../modules/juce_events/messages/juce_NotificationType.h" - "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" - "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" - "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" - "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" - "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" - "../../../../../modules/juce_events/timers/juce_MultiTimer.h" - "../../../../../modules/juce_events/timers/juce_Timer.cpp" - "../../../../../modules/juce_events/timers/juce_Timer.h" - "../../../../../modules/juce_events/juce_events.cpp" - "../../../../../modules/juce_events/juce_events.mm" - "../../../../../modules/juce_events/juce_events.h" - "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colour.h" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" - "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colours.h" - "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" - "../../../../../modules/juce_graphics/colour/juce_FillType.h" - "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" - "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Font.h" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" - "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" - "../../../../../modules/juce_graphics/geometry/juce_Line.h" - "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" - "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" - "../../../../../modules/juce_graphics/geometry/juce_Path.h" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" - "../../../../../modules/juce_graphics/geometry/juce_Point.h" - "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" - "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" - "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.h" - "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageCache.h" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" - "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" - "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" - "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" - "../../../../../modules/juce_graphics/placement/juce_Justification.h" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" - "../../../../../modules/juce_graphics/juce_graphics.cpp" - "../../../../../modules/juce_graphics/juce_graphics.mm" - "../../../../../modules/juce_graphics/juce_graphics.h" - "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" - "../../../../../modules/juce_gui_basics/application/juce_Application.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" - "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" - "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" - "../../../../../modules/juce_gui_basics/components/juce_Component.h" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" - "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" - "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" - "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" - "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" - "../../../../../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_PropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" - "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" - "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" - "../../../../../modules/juce_gui_basics/juce_gui_basics.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" - "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" - "../../../../../modules/juce_gui_extra/juce_gui_extra.h" - "../../../JuceLibraryCode/AppConfig.h" - "../../../JuceLibraryCode/include_juce_audio_basics.cpp" - "../../../JuceLibraryCode/include_juce_audio_devices.cpp" - "../../../JuceLibraryCode/include_juce_audio_formats.cpp" - "../../../JuceLibraryCode/include_juce_audio_processors.cpp" - "../../../JuceLibraryCode/include_juce_audio_utils.cpp" - "../../../JuceLibraryCode/include_juce_core.cpp" - "../../../JuceLibraryCode/include_juce_data_structures.cpp" - "../../../JuceLibraryCode/include_juce_events.cpp" - "../../../JuceLibraryCode/include_juce_graphics.cpp" - "../../../JuceLibraryCode/include_juce_gui_basics.cpp" - "../../../JuceLibraryCode/include_juce_gui_extra.cpp" - "../../../JuceLibraryCode/JuceHeader.h" -) - -set_source_files_properties("../../../Source/MainComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -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_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.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) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) - -find_library(log "log") -find_library(android "android") -find_library(glesv3 "GLESv3") -find_library(egl "EGL") - -target_link_libraries( ${BINARY_NAME} - - ${log} - ${android} - ${glesv3} - ${egl} - "cpufeatures" -) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +cmake_minimum_required(VERSION 3.4.1) + +SET(BINARY_NAME "juce_jni") + +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_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") + +include_directories( AFTER + "../../../JuceLibraryCode" + "../../../../../modules" + "${ANDROID_NDK}/sources/android/cpufeatures" +) + +enable_language(ASM) + +IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + add_definitions("-DDEBUG=1" "-D_DEBUG=1") +ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") + add_definitions("-DNDEBUG=1") +ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + MESSAGE( FATAL_ERROR "No matching build-configuration found." ) +ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + +add_library( ${BINARY_NAME} + + SHARED + + "../../../Source/Main.cpp" + "../../../Source/MainComponent.h" + "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" + "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" + "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" + "../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" + "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" + "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" + "../../../../../modules/juce_audio_basics/juce_audio_basics.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" + "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" + "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" + "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" + "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" + "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" + "../../../../../modules/juce_audio_devices/juce_audio_devices.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" + "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" + "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" + "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" + "../../../../../modules/juce_audio_formats/codecs/flac/export.h" + "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/flac/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" + "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" + "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" + "../../../../../modules/juce_audio_formats/juce_audio_formats.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" + "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" + "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" + "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" + "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" + "../../../../../modules/juce_audio_processors/juce_audio_processors.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" + "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" + "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" + "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" + "../../../../../modules/juce_audio_utils/juce_audio_utils.h" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" + "../../../../../modules/juce_core/containers/juce_Array.h" + "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" + "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" + "../../../../../modules/juce_core/containers/juce_ArrayBase.h" + "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" + "../../../../../modules/juce_core/containers/juce_DynamicObject.h" + "../../../../../modules/juce_core/containers/juce_ElementComparator.h" + "../../../../../modules/juce_core/containers/juce_HashMap.h" + "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" + "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" + "../../../../../modules/juce_core/containers/juce_ListenerList.h" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" + "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" + "../../../../../modules/juce_core/containers/juce_OwnedArray.h" + "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" + "../../../../../modules/juce_core/containers/juce_PropertySet.h" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" + "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" + "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" + "../../../../../modules/juce_core/containers/juce_SparseSet.h" + "../../../../../modules/juce_core/containers/juce_Variant.cpp" + "../../../../../modules/juce_core/containers/juce_Variant.h" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" + "../../../../../modules/juce_core/files/juce_File.cpp" + "../../../../../modules/juce_core/files/juce_File.h" + "../../../../../modules/juce_core/files/juce_FileFilter.cpp" + "../../../../../modules/juce_core/files/juce_FileFilter.h" + "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileInputStream.h" + "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileOutputStream.h" + "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" + "../../../../../modules/juce_core/files/juce_FileSearchPath.h" + "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" + "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" + "../../../../../modules/juce_core/files/juce_TemporaryFile.h" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" + "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" + "../../../../../modules/juce_core/javascript/juce_Javascript.h" + "../../../../../modules/juce_core/javascript/juce_JSON.cpp" + "../../../../../modules/juce_core/javascript/juce_JSON.h" + "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" + "../../../../../modules/juce_core/logging/juce_FileLogger.h" + "../../../../../modules/juce_core/logging/juce_Logger.cpp" + "../../../../../modules/juce_core/logging/juce_Logger.h" + "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" + "../../../../../modules/juce_core/maths/juce_BigInteger.h" + "../../../../../modules/juce_core/maths/juce_Expression.cpp" + "../../../../../modules/juce_core/maths/juce_Expression.h" + "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" + "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" + "../../../../../modules/juce_core/maths/juce_Random.cpp" + "../../../../../modules/juce_core/maths/juce_Random.h" + "../../../../../modules/juce_core/maths/juce_Range.h" + "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" + "../../../../../modules/juce_core/memory/juce_Atomic.h" + "../../../../../modules/juce_core/memory/juce_ByteOrder.h" + "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" + "../../../../../modules/juce_core/memory/juce_HeapBlock.h" + "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_Memory.h" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" + "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" + "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" + "../../../../../modules/juce_core/memory/juce_Singleton.h" + "../../../../../modules/juce_core/memory/juce_WeakReference.h" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" + "../../../../../modules/juce_core/misc/juce_Result.cpp" + "../../../../../modules/juce_core/misc/juce_Result.h" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" + "../../../../../modules/juce_core/misc/juce_Uuid.cpp" + "../../../../../modules/juce_core/misc/juce_Uuid.h" + "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" + "../../../../../modules/juce_core/native/java/README.txt" + "../../../../../modules/juce_core/native/juce_android_Files.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" + "../../../../../modules/juce_core/native/juce_android_Misc.cpp" + "../../../../../modules/juce_core/native/juce_android_Network.cpp" + "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" + "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_android_Threads.cpp" + "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" + "../../../../../modules/juce_core/native/juce_curl_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" + "../../../../../modules/juce_core/native/juce_linux_Files.cpp" + "../../../../../modules/juce_core/native/juce_linux_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" + "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" + "../../../../../modules/juce_core/native/juce_mac_Files.mm" + "../../../../../modules/juce_core/native/juce_mac_Network.mm" + "../../../../../modules/juce_core/native/juce_mac_Strings.mm" + "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" + "../../../../../modules/juce_core/native/juce_mac_Threads.mm" + "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" + "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" + "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" + "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" + "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" + "../../../../../modules/juce_core/native/juce_win32_Files.cpp" + "../../../../../modules/juce_core/native/juce_win32_Network.cpp" + "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" + "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.h" + "../../../../../modules/juce_core/network/juce_MACAddress.cpp" + "../../../../../modules/juce_core/network/juce_MACAddress.h" + "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" + "../../../../../modules/juce_core/network/juce_NamedPipe.h" + "../../../../../modules/juce_core/network/juce_Socket.cpp" + "../../../../../modules/juce_core/network/juce_Socket.h" + "../../../../../modules/juce_core/network/juce_URL.cpp" + "../../../../../modules/juce_core/network/juce_URL.h" + "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" + "../../../../../modules/juce_core/network/juce_WebInputStream.h" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" + "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_FileInputSource.h" + "../../../../../modules/juce_core/streams/juce_InputSource.h" + "../../../../../modules/juce_core/streams/juce_InputStream.cpp" + "../../../../../modules/juce_core/streams/juce_InputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" + "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_OutputStream.h" + "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" + "../../../../../modules/juce_core/streams/juce_SubregionStream.h" + "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_URLInputSource.h" + "../../../../../modules/juce_core/system/juce_CompilerSupport.h" + "../../../../../modules/juce_core/system/juce_PlatformDefs.h" + "../../../../../modules/juce_core/system/juce_StandardHeader.h" + "../../../../../modules/juce_core/system/juce_SystemStats.cpp" + "../../../../../modules/juce_core/system/juce_SystemStats.h" + "../../../../../modules/juce_core/system/juce_TargetPlatform.h" + "../../../../../modules/juce_core/text/juce_Base64.cpp" + "../../../../../modules/juce_core/text/juce_Base64.h" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" + "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" + "../../../../../modules/juce_core/text/juce_Identifier.cpp" + "../../../../../modules/juce_core/text/juce_Identifier.h" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" + "../../../../../modules/juce_core/text/juce_NewLine.h" + "../../../../../modules/juce_core/text/juce_String.cpp" + "../../../../../modules/juce_core/text/juce_String.h" + "../../../../../modules/juce_core/text/juce_StringArray.cpp" + "../../../../../modules/juce_core/text/juce_StringArray.h" + "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" + "../../../../../modules/juce_core/text/juce_StringPairArray.h" + "../../../../../modules/juce_core/text/juce_StringPool.cpp" + "../../../../../modules/juce_core/text/juce_StringPool.h" + "../../../../../modules/juce_core/text/juce_StringRef.h" + "../../../../../modules/juce_core/text/juce_TextDiff.cpp" + "../../../../../modules/juce_core/text/juce_TextDiff.h" + "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" + "../../../../../modules/juce_core/threads/juce_ChildProcess.h" + "../../../../../modules/juce_core/threads/juce_CriticalSection.h" + "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" + "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" + "../../../../../modules/juce_core/threads/juce_Process.h" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" + "../../../../../modules/juce_core/threads/juce_SpinLock.h" + "../../../../../modules/juce_core/threads/juce_Thread.cpp" + "../../../../../modules/juce_core/threads/juce_Thread.h" + "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" + "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" + "../../../../../modules/juce_core/threads/juce_ThreadPool.h" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" + "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" + "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" + "../../../../../modules/juce_core/time/juce_RelativeTime.h" + "../../../../../modules/juce_core/time/juce_Time.cpp" + "../../../../../modules/juce_core/time/juce_Time.h" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" + "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" + "../../../../../modules/juce_core/xml/juce_XmlDocument.h" + "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" + "../../../../../modules/juce_core/xml/juce_XmlElement.h" + "../../../../../modules/juce_core/zip/zlib/adler32.c" + "../../../../../modules/juce_core/zip/zlib/compress.c" + "../../../../../modules/juce_core/zip/zlib/crc32.c" + "../../../../../modules/juce_core/zip/zlib/crc32.h" + "../../../../../modules/juce_core/zip/zlib/deflate.c" + "../../../../../modules/juce_core/zip/zlib/deflate.h" + "../../../../../modules/juce_core/zip/zlib/infback.c" + "../../../../../modules/juce_core/zip/zlib/inffast.c" + "../../../../../modules/juce_core/zip/zlib/inffast.h" + "../../../../../modules/juce_core/zip/zlib/inffixed.h" + "../../../../../modules/juce_core/zip/zlib/inflate.c" + "../../../../../modules/juce_core/zip/zlib/inflate.h" + "../../../../../modules/juce_core/zip/zlib/inftrees.c" + "../../../../../modules/juce_core/zip/zlib/inftrees.h" + "../../../../../modules/juce_core/zip/zlib/trees.c" + "../../../../../modules/juce_core/zip/zlib/trees.h" + "../../../../../modules/juce_core/zip/zlib/uncompr.c" + "../../../../../modules/juce_core/zip/zlib/zconf.h" + "../../../../../modules/juce_core/zip/zlib/zconf.in.h" + "../../../../../modules/juce_core/zip/zlib/zlib.h" + "../../../../../modules/juce_core/zip/zlib/zutil.c" + "../../../../../modules/juce_core/zip/zlib/zutil.h" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" + "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" + "../../../../../modules/juce_core/zip/juce_ZipFile.h" + "../../../../../modules/juce_core/juce_core.cpp" + "../../../../../modules/juce_core/juce_core.mm" + "../../../../../modules/juce_core/juce_core.h" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" + "../../../../../modules/juce_data_structures/values/juce_Value.cpp" + "../../../../../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_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" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" + "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" + "../../../../../modules/juce_events/messages/juce_Initialisation.h" + "../../../../../modules/juce_events/messages/juce_Message.h" + "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" + "../../../../../modules/juce_events/messages/juce_MessageListener.h" + "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" + "../../../../../modules/juce_events/messages/juce_MessageManager.h" + "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" + "../../../../../modules/juce_events/messages/juce_NotificationType.h" + "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" + "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" + "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" + "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" + "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" + "../../../../../modules/juce_events/timers/juce_MultiTimer.h" + "../../../../../modules/juce_events/timers/juce_Timer.cpp" + "../../../../../modules/juce_events/timers/juce_Timer.h" + "../../../../../modules/juce_events/juce_events.cpp" + "../../../../../modules/juce_events/juce_events.mm" + "../../../../../modules/juce_events/juce_events.h" + "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colour.h" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" + "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colours.h" + "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" + "../../../../../modules/juce_graphics/colour/juce_FillType.h" + "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" + "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Font.h" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" + "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" + "../../../../../modules/juce_graphics/geometry/juce_Line.h" + "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" + "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" + "../../../../../modules/juce_graphics/geometry/juce_Path.h" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" + "../../../../../modules/juce_graphics/geometry/juce_Point.h" + "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" + "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" + "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.h" + "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageCache.h" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" + "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" + "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" + "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" + "../../../../../modules/juce_graphics/placement/juce_Justification.h" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" + "../../../../../modules/juce_graphics/juce_graphics.cpp" + "../../../../../modules/juce_graphics/juce_graphics.mm" + "../../../../../modules/juce_graphics/juce_graphics.h" + "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" + "../../../../../modules/juce_gui_basics/application/juce_Application.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" + "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" + "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" + "../../../../../modules/juce_gui_basics/components/juce_Component.h" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" + "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" + "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" + "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" + "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" + "../../../../../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_PropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" + "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" + "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" + "../../../../../modules/juce_gui_basics/juce_gui_basics.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" + "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" + "../../../../../modules/juce_gui_extra/juce_gui_extra.h" + "../../../JuceLibraryCode/AppConfig.h" + "../../../JuceLibraryCode/include_juce_audio_basics.cpp" + "../../../JuceLibraryCode/include_juce_audio_devices.cpp" + "../../../JuceLibraryCode/include_juce_audio_formats.cpp" + "../../../JuceLibraryCode/include_juce_audio_processors.cpp" + "../../../JuceLibraryCode/include_juce_audio_utils.cpp" + "../../../JuceLibraryCode/include_juce_core.cpp" + "../../../JuceLibraryCode/include_juce_data_structures.cpp" + "../../../JuceLibraryCode/include_juce_events.cpp" + "../../../JuceLibraryCode/include_juce_graphics.cpp" + "../../../JuceLibraryCode/include_juce_gui_basics.cpp" + "../../../JuceLibraryCode/include_juce_gui_extra.cpp" + "../../../JuceLibraryCode/JuceHeader.h" +) + +set_source_files_properties("../../../Source/MainComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/java/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +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_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) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) + +find_library(log "log") +find_library(android "android") +find_library(glesv3 "GLESv3") +find_library(egl "EGL") + +target_link_libraries( ${BINARY_NAME} + + ${log} + ${android} + ${glesv3} + ${egl} + "cpufeatures" +) diff --git a/extras/AudioPerformanceTest/Builds/Android/app/build.gradle b/extras/AudioPerformanceTest/Builds/Android/app/build.gradle index a9566718..a1119b36 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/build.gradle +++ b/extras/AudioPerformanceTest/Builds/Android/app/build.gradle @@ -1,97 +1,106 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 23 - buildToolsVersion "28.0.0" - externalNativeBuild { - cmake { - path "CMakeLists.txt" - } - } - signingConfigs { - juceSigning { - storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") - storePassword "android" - keyAlias "androiddebugkey" - keyPassword "android" - storeType "jks" - } - } - - defaultConfig { - applicationId "com.juce.audioperformancetest" - minSdkVersion 23 - targetSdkVersion 23 - externalNativeBuild { - cmake { - arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" - cFlags "-fsigned-char", "-mfpu=neon", "-mfloat-abi=hard", "-ffast-math", "-funroll-loops", "--param", "max-unroll-times=8", "-mhard-float", "-D_NDK_MATH_NO_SOFTFP=1", "-DJUCE_DISABLE_ASSERTIONS=1" - cppFlags "-fsigned-char", "-std=c++14", "-mfpu=neon", "-mfloat-abi=hard", "-ffast-math", "-funroll-loops", "--param", "max-unroll-times=8", "-mhard-float", "-D_NDK_MATH_NO_SOFTFP=1", "-DJUCE_DISABLE_ASSERTIONS=1" - } - } - } - - buildTypes { - debug { - initWith debug - debuggable true - jniDebuggable true - signingConfig signingConfigs.juceSigning - } - release { - initWith release - debuggable false - jniDebuggable false - signingConfig signingConfigs.juceSigning - } - } - - flavorDimensions "default" - productFlavors { - debug_ { - ndk { - abiFilters "arm64-v8a" - } - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" - } - } - - dimension "default" - } - release_ { - ndk { - abiFilters "arm64-v8a" - } - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-Ofast", "-DCMAKE_C_FLAGS_RELEASE=-Ofast" - } - } - - dimension "default" - } - } - - variantFilter { variant -> - def names = variant.flavors*.name - if (names.contains ("debug_") - && variant.buildType.name != "debug") { - setIgnore(true) - } - if (names.contains ("release_") - && variant.buildType.name != "release") { - setIgnore(true) - } - } - -repositories { -} - -dependencies { -} - - -} - +apply plugin: 'com.android.application' + +android { + compileSdkVersion 28 + externalNativeBuild { + cmake { + path "CMakeLists.txt" + } + } + signingConfigs { + juceSigning { + storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") + storePassword "android" + keyAlias "androiddebugkey" + keyPassword "android" + storeType "jks" + } + } + + defaultConfig { + applicationId "com.juce.audioperformancetest" + minSdkVersion 23 + targetSdkVersion 28 + externalNativeBuild { + cmake { + arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" + cFlags "-fsigned-char", "-mfpu=neon", "-mfloat-abi=hard", "-ffast-math", "-funroll-loops", "--param", "max-unroll-times=8", "-mhard-float", "-D_NDK_MATH_NO_SOFTFP=1", "-DJUCE_DISABLE_ASSERTIONS=1" + cppFlags "-fsigned-char", "-std=c++14", "-mfpu=neon", "-mfloat-abi=hard", "-ffast-math", "-funroll-loops", "--param", "max-unroll-times=8", "-mhard-float", "-D_NDK_MATH_NO_SOFTFP=1", "-DJUCE_DISABLE_ASSERTIONS=1" + } + } + } + + buildTypes { + debug { + initWith debug + debuggable true + jniDebuggable true + signingConfig signingConfigs.juceSigning + } + release { + initWith release + debuggable false + jniDebuggable false + signingConfig signingConfigs.juceSigning + } + } + + flavorDimensions "default" + productFlavors { + debug_ { + ndk { + abiFilters "arm64-v8a" + } + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" + } + } + + dimension "default" + } + release_ { + ndk { + abiFilters "arm64-v8a" + } + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-Ofast", "-DCMAKE_C_FLAGS_RELEASE=-Ofast" + } + } + + dimension "default" + } + } + + variantFilter { variant -> + def names = variant.flavors*.name + if (names.contains ("debug_") + && variant.buildType.name != "debug") { + setIgnore(true) + } + if (names.contains ("release_") + && variant.buildType.name != "release") { + setIgnore(true) + } + } + + sourceSets { + main.java.srcDirs += + ["../../../../../modules/juce_core/native/javacore/init", + "../../../../../modules/juce_core/native/javacore/app", + "../../../../../modules/juce_gui_basics/native/javacore/app"] + + main.res.srcDirs += + [] + } + + repositories { + } + + dependencies { + } + + +} + diff --git a/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml b/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml index 447fd462..78eb2521 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml +++ b/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + package="com.juce.AudioPerformanceTest"> @@ -9,8 +9,8 @@ - - + diff --git a/extras/AudioPerformanceTest/Builds/Android/build.gradle b/extras/AudioPerformanceTest/Builds/Android/build.gradle index 647f509e..2df9a8e7 100644 --- a/extras/AudioPerformanceTest/Builds/Android/build.gradle +++ b/extras/AudioPerformanceTest/Builds/Android/build.gradle @@ -1,16 +1,16 @@ -buildscript { - repositories { - google() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} +buildscript { + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.2.1' + } +} + +allprojects { + repositories { + google() + jcenter() + } +} diff --git a/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties index d384d28f..b460908d 100644 --- a/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/extras/AudioPerformanceTest/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip \ No newline at end of file diff --git a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile index 114cbfc4..299fb0d4 100644 --- a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile +++ b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile @@ -1,165 +1,165 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -# build with "V=1" for verbose builds -ifeq ($(V), 1) -V_AT = -else -V_AT = @ -endif - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef STRIP - STRIP=strip -endif - -ifndef AR - AR=ar -endif - -ifndef CONFIG - CONFIG=Debug -endif - -JUCE_ARCH_LABEL := $(shell uname -m) - -ifeq ($(CONFIG),Debug) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Debug - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +# build with "V=1" for verbose builds +ifeq ($(V), 1) +V_AT = +else +V_AT = @ +endif + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + +ifndef CONFIG + CONFIG=Debug +endif + +JUCE_ARCH_LABEL := $(shell uname -m) + +ifeq ($(CONFIG),Debug) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -ifeq ($(CONFIG),Release) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Release - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_TARGET_APP := AudioPerformanceTest + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +ifeq ($(CONFIG),Release) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -OBJECTS_APP := \ - $(JUCE_OBJDIR)/Main_90ebc5c2.o \ - $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ - $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ - $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ - $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ - $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ - $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ - $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ - $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ - $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ - $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ - $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ - -.PHONY: clean all strip - -all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) - -$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl - @echo Linking "AudioPerformanceTest - App" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) - -$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling Main.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_devices.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_formats.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_processors.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_utils.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_core.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_data_structures.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_events.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_graphics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_extra.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -clean: - @echo Cleaning AudioPerformanceTest - $(V_AT)$(CLEANCMD) - -strip: - @echo Stripping AudioPerformanceTest - -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) - --include $(OBJECTS_APP:%.o=%.d) + JUCE_TARGET_APP := AudioPerformanceTest + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +OBJECTS_APP := \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ + $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ + $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ + $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ + $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ + $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ + $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ + $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ + $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ + $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ + $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ + +.PHONY: clean all strip + +all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) + +$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl + @echo Linking "AudioPerformanceTest - App" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) + -$(V_AT)mkdir -p $(JUCE_OUTDIR) + $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) + +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling Main.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_devices.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_formats.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_processors.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_utils.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_core.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_data_structures.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_events.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_graphics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_extra.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +clean: + @echo Cleaning AudioPerformanceTest + $(V_AT)$(CLEANCMD) + +strip: + @echo Stripping AudioPerformanceTest + -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) + +-include $(OBJECTS_APP:%.o=%.d) diff --git a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj index 3b78d984..0ea89c95 100644 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj @@ -151,15 +151,6 @@ true - - true - - - true - - - true - true @@ -232,6 +223,15 @@ true + + true + + + true + + + true + true @@ -523,6 +523,9 @@ true + + true + true @@ -739,6 +742,9 @@ true + + true + true @@ -964,6 +970,9 @@ true + + true + true @@ -1836,12 +1845,6 @@ - - - - - - @@ -1869,6 +1872,13 @@ + + + + + + + @@ -2006,6 +2016,7 @@ + @@ -2021,8 +2032,11 @@ + + + @@ -2034,6 +2048,7 @@ + @@ -2489,6 +2504,7 @@ + diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters index 1a923753..4e413d44 100644 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2017/AudioPerformanceTest_App.vcxproj.filters @@ -14,9 +14,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -32,6 +29,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -200,6 +200,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -400,15 +403,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -481,6 +475,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -781,6 +784,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1018,6 +1024,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1261,6 +1270,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2232,24 +2244,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2331,6 +2325,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -2742,6 +2757,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -2787,12 +2805,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -2826,6 +2853,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -4187,6 +4217,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj index 60e4b368..ca80812a 100644 --- a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj +++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj @@ -65,6 +65,10 @@ isa = PBXBuildFile; fileRef = 8693552B5FA53C2003A66302; }; + 3C0CA1E555411B8B5B8F8FF0 = { + isa = PBXBuildFile; + fileRef = C8D9488DE9A88E4FBF28D417; + }; 07451DA87757F9EF80E31BE8 = { isa = PBXBuildFile; fileRef = 0564535EEA7E4462926EA0C9; @@ -358,6 +362,13 @@ path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + C8D9488DE9A88E4FBF28D417 = { + isa = PBXFileReference; + lastKnownFileType = file.storyboard; + name = LaunchScreen.storyboard; + path = LaunchScreen.storyboard; + sourceTree = "SOURCE_ROOT"; + }; C8EE61FDD1F06817A014B881 = { isa = PBXFileReference; lastKnownFileType = file; @@ -467,6 +478,7 @@ children = ( 9516A19EE58DED8326DD0306, 8693552B5FA53C2003A66302, + C8D9488DE9A88E4FBF28D417, ); name = Resources; sourceTree = ""; @@ -725,6 +737,7 @@ buildActionMask = 2147483647; files = ( A783F6E198806332E7FB9744, + 3C0CA1E555411B8B5B8F8FF0, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist index 2df957ac..0834f3fb 100644 --- a/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist +++ b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist @@ -7,6 +7,8 @@ UIViewControllerBasedStatusBarAppearance + UILaunchStoryboardName + LaunchScreen CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/extras/AudioPerformanceTest/Builds/iOS/LaunchScreen.storyboard b/extras/AudioPerformanceTest/Builds/iOS/LaunchScreen.storyboard new file mode 100644 index 00000000..ce0d6fd7 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/iOS/LaunchScreen.storyboard @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/extras/AudioPluginHost/AudioPluginHost.jucer b/extras/AudioPluginHost/AudioPluginHost.jucer index c1f30a99..8d10bca1 100644 --- a/extras/AudioPluginHost/AudioPluginHost.jucer +++ b/extras/AudioPluginHost/AudioPluginHost.jucer @@ -2,7 +2,7 @@ diff --git a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt index 937852bf..d2964f4a 100644 --- a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt +++ b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt @@ -1,2727 +1,2747 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -cmake_minimum_required(VERSION 3.4.1) - -SET(BINARY_NAME "juce_jni") - -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_ANDROID_ACTIVITY_CLASSNAME=com_roli_juce_pluginhost_AudioPluginHost" "-DJUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/roli/juce/pluginhost/AudioPluginHost\"" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSNAME=com_roli_juce_pluginhost_SharingContentProvider" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSPATH=\"com/roli/juce/pluginhost/SharingContentProvider\"" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") - -include_directories( AFTER - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK" - "../../../JuceLibraryCode" - "../../../../../modules" - "${ANDROID_NDK}/sources/android/cpufeatures" -) - -enable_language(ASM) - -IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - add_definitions("-DDEBUG=1" "-D_DEBUG=1") -ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") - add_definitions("-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") - SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -flto") - ENDIF(NOT (ANDROID_ABI STREQUAL "mips" OR ANDROID_ABI STREQUAL "mips64")) -ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - MESSAGE( FATAL_ERROR "No matching build-configuration found." ) -ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - -add_library( ${BINARY_NAME} - - SHARED - - "../../../Source/Filters/FilterGraph.cpp" - "../../../Source/Filters/FilterGraph.h" - "../../../Source/Filters/FilterIOConfiguration.cpp" - "../../../Source/Filters/FilterIOConfiguration.h" - "../../../Source/Filters/InternalFilters.cpp" - "../../../Source/Filters/InternalFilters.h" - "../../../Source/UI/GraphEditorPanel.cpp" - "../../../Source/UI/GraphEditorPanel.h" - "../../../Source/UI/MainHostWindow.cpp" - "../../../Source/UI/MainHostWindow.h" - "../../../Source/UI/PluginWindow.h" - "../../../Source/HostStartup.cpp" - "../../../Source/JUCEAppIcon.png" - "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" - "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" - "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" - "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" - "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" - "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" - "../../../../../modules/juce_audio_basics/juce_audio_basics.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" - "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" - "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" - "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" - "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" - "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" - "../../../../../modules/juce_audio_devices/juce_audio_devices.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" - "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" - "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" - "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" - "../../../../../modules/juce_audio_formats/codecs/flac/export.h" - "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/flac/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" - "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" - "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" - "../../../../../modules/juce_audio_formats/juce_audio_formats.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" - "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" - "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" - "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" - "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" - "../../../../../modules/juce_audio_processors/juce_audio_processors.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" - "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" - "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" - "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" - "../../../../../modules/juce_audio_utils/juce_audio_utils.h" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" - "../../../../../modules/juce_core/containers/juce_Array.h" - "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" - "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" - "../../../../../modules/juce_core/containers/juce_ArrayBase.h" - "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" - "../../../../../modules/juce_core/containers/juce_DynamicObject.h" - "../../../../../modules/juce_core/containers/juce_ElementComparator.h" - "../../../../../modules/juce_core/containers/juce_HashMap.h" - "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" - "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" - "../../../../../modules/juce_core/containers/juce_ListenerList.h" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" - "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" - "../../../../../modules/juce_core/containers/juce_OwnedArray.h" - "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" - "../../../../../modules/juce_core/containers/juce_PropertySet.h" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" - "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" - "../../../../../modules/juce_core/containers/juce_SortedSet.h" - "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" - "../../../../../modules/juce_core/containers/juce_SparseSet.h" - "../../../../../modules/juce_core/containers/juce_Variant.cpp" - "../../../../../modules/juce_core/containers/juce_Variant.h" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" - "../../../../../modules/juce_core/files/juce_File.cpp" - "../../../../../modules/juce_core/files/juce_File.h" - "../../../../../modules/juce_core/files/juce_FileFilter.cpp" - "../../../../../modules/juce_core/files/juce_FileFilter.h" - "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileInputStream.h" - "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileOutputStream.h" - "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" - "../../../../../modules/juce_core/files/juce_FileSearchPath.h" - "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" - "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" - "../../../../../modules/juce_core/files/juce_TemporaryFile.h" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" - "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" - "../../../../../modules/juce_core/javascript/juce_Javascript.h" - "../../../../../modules/juce_core/javascript/juce_JSON.cpp" - "../../../../../modules/juce_core/javascript/juce_JSON.h" - "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" - "../../../../../modules/juce_core/logging/juce_FileLogger.h" - "../../../../../modules/juce_core/logging/juce_Logger.cpp" - "../../../../../modules/juce_core/logging/juce_Logger.h" - "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" - "../../../../../modules/juce_core/maths/juce_BigInteger.h" - "../../../../../modules/juce_core/maths/juce_Expression.cpp" - "../../../../../modules/juce_core/maths/juce_Expression.h" - "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" - "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" - "../../../../../modules/juce_core/maths/juce_Random.cpp" - "../../../../../modules/juce_core/maths/juce_Random.h" - "../../../../../modules/juce_core/maths/juce_Range.h" - "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" - "../../../../../modules/juce_core/memory/juce_Atomic.h" - "../../../../../modules/juce_core/memory/juce_ByteOrder.h" - "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" - "../../../../../modules/juce_core/memory/juce_HeapBlock.h" - "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_Memory.h" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" - "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" - "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" - "../../../../../modules/juce_core/memory/juce_Singleton.h" - "../../../../../modules/juce_core/memory/juce_WeakReference.h" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" - "../../../../../modules/juce_core/misc/juce_Result.cpp" - "../../../../../modules/juce_core/misc/juce_Result.h" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" - "../../../../../modules/juce_core/misc/juce_Uuid.cpp" - "../../../../../modules/juce_core/misc/juce_Uuid.h" - "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" - "../../../../../modules/juce_core/native/juce_android_Files.cpp" - "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" - "../../../../../modules/juce_core/native/juce_android_Misc.cpp" - "../../../../../modules/juce_core/native/juce_android_Network.cpp" - "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" - "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_android_Threads.cpp" - "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" - "../../../../../modules/juce_core/native/juce_curl_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" - "../../../../../modules/juce_core/native/juce_linux_Files.cpp" - "../../../../../modules/juce_core/native/juce_linux_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" - "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" - "../../../../../modules/juce_core/native/juce_mac_Files.mm" - "../../../../../modules/juce_core/native/juce_mac_Network.mm" - "../../../../../modules/juce_core/native/juce_mac_Strings.mm" - "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" - "../../../../../modules/juce_core/native/juce_mac_Threads.mm" - "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" - "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" - "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" - "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" - "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" - "../../../../../modules/juce_core/native/juce_win32_Files.cpp" - "../../../../../modules/juce_core/native/juce_win32_Network.cpp" - "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" - "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.h" - "../../../../../modules/juce_core/network/juce_MACAddress.cpp" - "../../../../../modules/juce_core/network/juce_MACAddress.h" - "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" - "../../../../../modules/juce_core/network/juce_NamedPipe.h" - "../../../../../modules/juce_core/network/juce_Socket.cpp" - "../../../../../modules/juce_core/network/juce_Socket.h" - "../../../../../modules/juce_core/network/juce_URL.cpp" - "../../../../../modules/juce_core/network/juce_URL.h" - "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" - "../../../../../modules/juce_core/network/juce_WebInputStream.h" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" - "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_FileInputSource.h" - "../../../../../modules/juce_core/streams/juce_InputSource.h" - "../../../../../modules/juce_core/streams/juce_InputStream.cpp" - "../../../../../modules/juce_core/streams/juce_InputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" - "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_OutputStream.h" - "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" - "../../../../../modules/juce_core/streams/juce_SubregionStream.h" - "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_URLInputSource.h" - "../../../../../modules/juce_core/system/juce_CompilerSupport.h" - "../../../../../modules/juce_core/system/juce_PlatformDefs.h" - "../../../../../modules/juce_core/system/juce_StandardHeader.h" - "../../../../../modules/juce_core/system/juce_SystemStats.cpp" - "../../../../../modules/juce_core/system/juce_SystemStats.h" - "../../../../../modules/juce_core/system/juce_TargetPlatform.h" - "../../../../../modules/juce_core/text/juce_Base64.cpp" - "../../../../../modules/juce_core/text/juce_Base64.h" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" - "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" - "../../../../../modules/juce_core/text/juce_Identifier.cpp" - "../../../../../modules/juce_core/text/juce_Identifier.h" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" - "../../../../../modules/juce_core/text/juce_NewLine.h" - "../../../../../modules/juce_core/text/juce_String.cpp" - "../../../../../modules/juce_core/text/juce_String.h" - "../../../../../modules/juce_core/text/juce_StringArray.cpp" - "../../../../../modules/juce_core/text/juce_StringArray.h" - "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" - "../../../../../modules/juce_core/text/juce_StringPairArray.h" - "../../../../../modules/juce_core/text/juce_StringPool.cpp" - "../../../../../modules/juce_core/text/juce_StringPool.h" - "../../../../../modules/juce_core/text/juce_StringRef.h" - "../../../../../modules/juce_core/text/juce_TextDiff.cpp" - "../../../../../modules/juce_core/text/juce_TextDiff.h" - "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" - "../../../../../modules/juce_core/threads/juce_ChildProcess.h" - "../../../../../modules/juce_core/threads/juce_CriticalSection.h" - "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" - "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" - "../../../../../modules/juce_core/threads/juce_Process.h" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" - "../../../../../modules/juce_core/threads/juce_SpinLock.h" - "../../../../../modules/juce_core/threads/juce_Thread.cpp" - "../../../../../modules/juce_core/threads/juce_Thread.h" - "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" - "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" - "../../../../../modules/juce_core/threads/juce_ThreadPool.h" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" - "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" - "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" - "../../../../../modules/juce_core/time/juce_RelativeTime.h" - "../../../../../modules/juce_core/time/juce_Time.cpp" - "../../../../../modules/juce_core/time/juce_Time.h" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" - "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" - "../../../../../modules/juce_core/xml/juce_XmlDocument.h" - "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" - "../../../../../modules/juce_core/xml/juce_XmlElement.h" - "../../../../../modules/juce_core/zip/zlib/adler32.c" - "../../../../../modules/juce_core/zip/zlib/compress.c" - "../../../../../modules/juce_core/zip/zlib/crc32.c" - "../../../../../modules/juce_core/zip/zlib/crc32.h" - "../../../../../modules/juce_core/zip/zlib/deflate.c" - "../../../../../modules/juce_core/zip/zlib/deflate.h" - "../../../../../modules/juce_core/zip/zlib/infback.c" - "../../../../../modules/juce_core/zip/zlib/inffast.c" - "../../../../../modules/juce_core/zip/zlib/inffast.h" - "../../../../../modules/juce_core/zip/zlib/inffixed.h" - "../../../../../modules/juce_core/zip/zlib/inflate.c" - "../../../../../modules/juce_core/zip/zlib/inflate.h" - "../../../../../modules/juce_core/zip/zlib/inftrees.c" - "../../../../../modules/juce_core/zip/zlib/inftrees.h" - "../../../../../modules/juce_core/zip/zlib/trees.c" - "../../../../../modules/juce_core/zip/zlib/trees.h" - "../../../../../modules/juce_core/zip/zlib/uncompr.c" - "../../../../../modules/juce_core/zip/zlib/zconf.h" - "../../../../../modules/juce_core/zip/zlib/zconf.in.h" - "../../../../../modules/juce_core/zip/zlib/zlib.h" - "../../../../../modules/juce_core/zip/zlib/zutil.c" - "../../../../../modules/juce_core/zip/zlib/zutil.h" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" - "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" - "../../../../../modules/juce_core/zip/juce_ZipFile.h" - "../../../../../modules/juce_core/juce_core.cpp" - "../../../../../modules/juce_core/juce_core.mm" - "../../../../../modules/juce_core/juce_core.h" - "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" - "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_Primes.h" - "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" - "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_MD5.h" - "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" - "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" - "../../../../../modules/juce_cryptography/juce_cryptography.cpp" - "../../../../../modules/juce_cryptography/juce_cryptography.mm" - "../../../../../modules/juce_cryptography/juce_cryptography.h" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" - "../../../../../modules/juce_data_structures/values/juce_Value.cpp" - "../../../../../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_ValueTreeSynchroniser.cpp" - "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" - "../../../../../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" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" - "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" - "../../../../../modules/juce_events/messages/juce_Initialisation.h" - "../../../../../modules/juce_events/messages/juce_Message.h" - "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" - "../../../../../modules/juce_events/messages/juce_MessageListener.h" - "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" - "../../../../../modules/juce_events/messages/juce_MessageManager.h" - "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" - "../../../../../modules/juce_events/messages/juce_NotificationType.h" - "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" - "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" - "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" - "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" - "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" - "../../../../../modules/juce_events/timers/juce_MultiTimer.h" - "../../../../../modules/juce_events/timers/juce_Timer.cpp" - "../../../../../modules/juce_events/timers/juce_Timer.h" - "../../../../../modules/juce_events/juce_events.cpp" - "../../../../../modules/juce_events/juce_events.mm" - "../../../../../modules/juce_events/juce_events.h" - "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colour.h" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" - "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colours.h" - "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" - "../../../../../modules/juce_graphics/colour/juce_FillType.h" - "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" - "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Font.h" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" - "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" - "../../../../../modules/juce_graphics/geometry/juce_Line.h" - "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" - "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" - "../../../../../modules/juce_graphics/geometry/juce_Path.h" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" - "../../../../../modules/juce_graphics/geometry/juce_Point.h" - "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" - "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" - "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.h" - "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageCache.h" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" - "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" - "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" - "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" - "../../../../../modules/juce_graphics/placement/juce_Justification.h" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" - "../../../../../modules/juce_graphics/juce_graphics.cpp" - "../../../../../modules/juce_graphics/juce_graphics.mm" - "../../../../../modules/juce_graphics/juce_graphics.h" - "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" - "../../../../../modules/juce_gui_basics/application/juce_Application.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" - "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" - "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" - "../../../../../modules/juce_gui_basics/components/juce_Component.h" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" - "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" - "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" - "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" - "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" - "../../../../../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_PropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" - "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" - "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" - "../../../../../modules/juce_gui_basics/juce_gui_basics.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" - "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" - "../../../../../modules/juce_gui_extra/juce_gui_extra.h" - "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" - "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" - "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" - "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" - "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" - "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" - "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" - "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" - "../../../../../modules/juce_opengl/juce_opengl.cpp" - "../../../../../modules/juce_opengl/juce_opengl.mm" - "../../../../../modules/juce_opengl/juce_opengl.h" - "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" - "../../../../../modules/juce_video/capture/juce_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_android_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_android_Video.h" - "../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_mac_Video.h" - "../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" - "../../../../../modules/juce_video/native/juce_win32_Video.h" - "../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" - "../../../../../modules/juce_video/playback/juce_VideoComponent.h" - "../../../../../modules/juce_video/juce_video.cpp" - "../../../../../modules/juce_video/juce_video.mm" - "../../../../../modules/juce_video/juce_video.h" - "../../../JuceLibraryCode/AppConfig.h" - "../../../JuceLibraryCode/BinaryData.cpp" - "../../../JuceLibraryCode/BinaryData.h" - "../../../JuceLibraryCode/include_juce_audio_basics.cpp" - "../../../JuceLibraryCode/include_juce_audio_devices.cpp" - "../../../JuceLibraryCode/include_juce_audio_formats.cpp" - "../../../JuceLibraryCode/include_juce_audio_processors.cpp" - "../../../JuceLibraryCode/include_juce_audio_utils.cpp" - "../../../JuceLibraryCode/include_juce_core.cpp" - "../../../JuceLibraryCode/include_juce_cryptography.cpp" - "../../../JuceLibraryCode/include_juce_data_structures.cpp" - "../../../JuceLibraryCode/include_juce_events.cpp" - "../../../JuceLibraryCode/include_juce_graphics.cpp" - "../../../JuceLibraryCode/include_juce_gui_basics.cpp" - "../../../JuceLibraryCode/include_juce_gui_extra.cpp" - "../../../JuceLibraryCode/include_juce_opengl.cpp" - "../../../JuceLibraryCode/include_juce_video.cpp" - "../../../JuceLibraryCode/JuceHeader.h" -) - -set_source_files_properties("../../../Source/Filters/FilterGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/Filters/FilterIOConfiguration.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/Filters/InternalFilters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/UI/GraphEditorPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/UI/MainHostWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/UI/PluginWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/JUCEAppIcon.png" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -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_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.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) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_android_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_android_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/juce_video.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/juce_video.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_video/juce_video.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/BinaryData.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) - -find_library(log "log") -find_library(android "android") -find_library(glesv3 "GLESv3") -find_library(egl "EGL") - -target_link_libraries( ${BINARY_NAME} - - ${log} - ${android} - ${glesv3} - ${egl} - "cpufeatures" -) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +cmake_minimum_required(VERSION 3.4.1) + +SET(BINARY_NAME "juce_jni") + +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_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") + +include_directories( AFTER + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK" + "../../../JuceLibraryCode" + "../../../../../modules" + "${ANDROID_NDK}/sources/android/cpufeatures" +) + +enable_language(ASM) + +IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + add_definitions("-DDEBUG=1" "-D_DEBUG=1") +ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") + add_definitions("-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") + SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -flto") + ENDIF(NOT (ANDROID_ABI STREQUAL "mips" OR ANDROID_ABI STREQUAL "mips64")) +ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + MESSAGE( FATAL_ERROR "No matching build-configuration found." ) +ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + +add_library( ${BINARY_NAME} + + SHARED + + "../../../Source/Filters/FilterGraph.cpp" + "../../../Source/Filters/FilterGraph.h" + "../../../Source/Filters/FilterIOConfiguration.cpp" + "../../../Source/Filters/FilterIOConfiguration.h" + "../../../Source/Filters/InternalFilters.cpp" + "../../../Source/Filters/InternalFilters.h" + "../../../Source/UI/GraphEditorPanel.cpp" + "../../../Source/UI/GraphEditorPanel.h" + "../../../Source/UI/MainHostWindow.cpp" + "../../../Source/UI/MainHostWindow.h" + "../../../Source/UI/PluginWindow.h" + "../../../Source/HostStartup.cpp" + "../../../Source/JUCEAppIcon.png" + "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" + "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" + "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" + "../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" + "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" + "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" + "../../../../../modules/juce_audio_basics/juce_audio_basics.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" + "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" + "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" + "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" + "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" + "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" + "../../../../../modules/juce_audio_devices/juce_audio_devices.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" + "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" + "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" + "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" + "../../../../../modules/juce_audio_formats/codecs/flac/export.h" + "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/flac/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" + "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" + "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" + "../../../../../modules/juce_audio_formats/juce_audio_formats.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" + "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" + "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" + "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" + "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" + "../../../../../modules/juce_audio_processors/juce_audio_processors.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" + "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" + "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" + "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" + "../../../../../modules/juce_audio_utils/juce_audio_utils.h" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" + "../../../../../modules/juce_core/containers/juce_Array.h" + "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" + "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" + "../../../../../modules/juce_core/containers/juce_ArrayBase.h" + "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" + "../../../../../modules/juce_core/containers/juce_DynamicObject.h" + "../../../../../modules/juce_core/containers/juce_ElementComparator.h" + "../../../../../modules/juce_core/containers/juce_HashMap.h" + "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" + "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" + "../../../../../modules/juce_core/containers/juce_ListenerList.h" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" + "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" + "../../../../../modules/juce_core/containers/juce_OwnedArray.h" + "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" + "../../../../../modules/juce_core/containers/juce_PropertySet.h" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" + "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" + "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" + "../../../../../modules/juce_core/containers/juce_SparseSet.h" + "../../../../../modules/juce_core/containers/juce_Variant.cpp" + "../../../../../modules/juce_core/containers/juce_Variant.h" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" + "../../../../../modules/juce_core/files/juce_File.cpp" + "../../../../../modules/juce_core/files/juce_File.h" + "../../../../../modules/juce_core/files/juce_FileFilter.cpp" + "../../../../../modules/juce_core/files/juce_FileFilter.h" + "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileInputStream.h" + "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileOutputStream.h" + "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" + "../../../../../modules/juce_core/files/juce_FileSearchPath.h" + "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" + "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" + "../../../../../modules/juce_core/files/juce_TemporaryFile.h" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" + "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" + "../../../../../modules/juce_core/javascript/juce_Javascript.h" + "../../../../../modules/juce_core/javascript/juce_JSON.cpp" + "../../../../../modules/juce_core/javascript/juce_JSON.h" + "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" + "../../../../../modules/juce_core/logging/juce_FileLogger.h" + "../../../../../modules/juce_core/logging/juce_Logger.cpp" + "../../../../../modules/juce_core/logging/juce_Logger.h" + "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" + "../../../../../modules/juce_core/maths/juce_BigInteger.h" + "../../../../../modules/juce_core/maths/juce_Expression.cpp" + "../../../../../modules/juce_core/maths/juce_Expression.h" + "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" + "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" + "../../../../../modules/juce_core/maths/juce_Random.cpp" + "../../../../../modules/juce_core/maths/juce_Random.h" + "../../../../../modules/juce_core/maths/juce_Range.h" + "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" + "../../../../../modules/juce_core/memory/juce_Atomic.h" + "../../../../../modules/juce_core/memory/juce_ByteOrder.h" + "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" + "../../../../../modules/juce_core/memory/juce_HeapBlock.h" + "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_Memory.h" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" + "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" + "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" + "../../../../../modules/juce_core/memory/juce_Singleton.h" + "../../../../../modules/juce_core/memory/juce_WeakReference.h" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" + "../../../../../modules/juce_core/misc/juce_Result.cpp" + "../../../../../modules/juce_core/misc/juce_Result.h" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" + "../../../../../modules/juce_core/misc/juce_Uuid.cpp" + "../../../../../modules/juce_core/misc/juce_Uuid.h" + "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" + "../../../../../modules/juce_core/native/java/README.txt" + "../../../../../modules/juce_core/native/juce_android_Files.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" + "../../../../../modules/juce_core/native/juce_android_Misc.cpp" + "../../../../../modules/juce_core/native/juce_android_Network.cpp" + "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" + "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_android_Threads.cpp" + "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" + "../../../../../modules/juce_core/native/juce_curl_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" + "../../../../../modules/juce_core/native/juce_linux_Files.cpp" + "../../../../../modules/juce_core/native/juce_linux_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" + "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" + "../../../../../modules/juce_core/native/juce_mac_Files.mm" + "../../../../../modules/juce_core/native/juce_mac_Network.mm" + "../../../../../modules/juce_core/native/juce_mac_Strings.mm" + "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" + "../../../../../modules/juce_core/native/juce_mac_Threads.mm" + "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" + "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" + "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" + "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" + "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" + "../../../../../modules/juce_core/native/juce_win32_Files.cpp" + "../../../../../modules/juce_core/native/juce_win32_Network.cpp" + "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" + "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.h" + "../../../../../modules/juce_core/network/juce_MACAddress.cpp" + "../../../../../modules/juce_core/network/juce_MACAddress.h" + "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" + "../../../../../modules/juce_core/network/juce_NamedPipe.h" + "../../../../../modules/juce_core/network/juce_Socket.cpp" + "../../../../../modules/juce_core/network/juce_Socket.h" + "../../../../../modules/juce_core/network/juce_URL.cpp" + "../../../../../modules/juce_core/network/juce_URL.h" + "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" + "../../../../../modules/juce_core/network/juce_WebInputStream.h" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" + "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_FileInputSource.h" + "../../../../../modules/juce_core/streams/juce_InputSource.h" + "../../../../../modules/juce_core/streams/juce_InputStream.cpp" + "../../../../../modules/juce_core/streams/juce_InputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" + "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_OutputStream.h" + "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" + "../../../../../modules/juce_core/streams/juce_SubregionStream.h" + "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_URLInputSource.h" + "../../../../../modules/juce_core/system/juce_CompilerSupport.h" + "../../../../../modules/juce_core/system/juce_PlatformDefs.h" + "../../../../../modules/juce_core/system/juce_StandardHeader.h" + "../../../../../modules/juce_core/system/juce_SystemStats.cpp" + "../../../../../modules/juce_core/system/juce_SystemStats.h" + "../../../../../modules/juce_core/system/juce_TargetPlatform.h" + "../../../../../modules/juce_core/text/juce_Base64.cpp" + "../../../../../modules/juce_core/text/juce_Base64.h" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" + "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" + "../../../../../modules/juce_core/text/juce_Identifier.cpp" + "../../../../../modules/juce_core/text/juce_Identifier.h" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" + "../../../../../modules/juce_core/text/juce_NewLine.h" + "../../../../../modules/juce_core/text/juce_String.cpp" + "../../../../../modules/juce_core/text/juce_String.h" + "../../../../../modules/juce_core/text/juce_StringArray.cpp" + "../../../../../modules/juce_core/text/juce_StringArray.h" + "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" + "../../../../../modules/juce_core/text/juce_StringPairArray.h" + "../../../../../modules/juce_core/text/juce_StringPool.cpp" + "../../../../../modules/juce_core/text/juce_StringPool.h" + "../../../../../modules/juce_core/text/juce_StringRef.h" + "../../../../../modules/juce_core/text/juce_TextDiff.cpp" + "../../../../../modules/juce_core/text/juce_TextDiff.h" + "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" + "../../../../../modules/juce_core/threads/juce_ChildProcess.h" + "../../../../../modules/juce_core/threads/juce_CriticalSection.h" + "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" + "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" + "../../../../../modules/juce_core/threads/juce_Process.h" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" + "../../../../../modules/juce_core/threads/juce_SpinLock.h" + "../../../../../modules/juce_core/threads/juce_Thread.cpp" + "../../../../../modules/juce_core/threads/juce_Thread.h" + "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" + "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" + "../../../../../modules/juce_core/threads/juce_ThreadPool.h" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" + "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" + "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" + "../../../../../modules/juce_core/time/juce_RelativeTime.h" + "../../../../../modules/juce_core/time/juce_Time.cpp" + "../../../../../modules/juce_core/time/juce_Time.h" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" + "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" + "../../../../../modules/juce_core/xml/juce_XmlDocument.h" + "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" + "../../../../../modules/juce_core/xml/juce_XmlElement.h" + "../../../../../modules/juce_core/zip/zlib/adler32.c" + "../../../../../modules/juce_core/zip/zlib/compress.c" + "../../../../../modules/juce_core/zip/zlib/crc32.c" + "../../../../../modules/juce_core/zip/zlib/crc32.h" + "../../../../../modules/juce_core/zip/zlib/deflate.c" + "../../../../../modules/juce_core/zip/zlib/deflate.h" + "../../../../../modules/juce_core/zip/zlib/infback.c" + "../../../../../modules/juce_core/zip/zlib/inffast.c" + "../../../../../modules/juce_core/zip/zlib/inffast.h" + "../../../../../modules/juce_core/zip/zlib/inffixed.h" + "../../../../../modules/juce_core/zip/zlib/inflate.c" + "../../../../../modules/juce_core/zip/zlib/inflate.h" + "../../../../../modules/juce_core/zip/zlib/inftrees.c" + "../../../../../modules/juce_core/zip/zlib/inftrees.h" + "../../../../../modules/juce_core/zip/zlib/trees.c" + "../../../../../modules/juce_core/zip/zlib/trees.h" + "../../../../../modules/juce_core/zip/zlib/uncompr.c" + "../../../../../modules/juce_core/zip/zlib/zconf.h" + "../../../../../modules/juce_core/zip/zlib/zconf.in.h" + "../../../../../modules/juce_core/zip/zlib/zlib.h" + "../../../../../modules/juce_core/zip/zlib/zutil.c" + "../../../../../modules/juce_core/zip/zlib/zutil.h" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" + "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" + "../../../../../modules/juce_core/zip/juce_ZipFile.h" + "../../../../../modules/juce_core/juce_core.cpp" + "../../../../../modules/juce_core/juce_core.mm" + "../../../../../modules/juce_core/juce_core.h" + "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" + "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_Primes.h" + "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" + "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_MD5.h" + "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" + "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" + "../../../../../modules/juce_cryptography/juce_cryptography.cpp" + "../../../../../modules/juce_cryptography/juce_cryptography.mm" + "../../../../../modules/juce_cryptography/juce_cryptography.h" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" + "../../../../../modules/juce_data_structures/values/juce_Value.cpp" + "../../../../../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_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" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" + "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" + "../../../../../modules/juce_events/messages/juce_Initialisation.h" + "../../../../../modules/juce_events/messages/juce_Message.h" + "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" + "../../../../../modules/juce_events/messages/juce_MessageListener.h" + "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" + "../../../../../modules/juce_events/messages/juce_MessageManager.h" + "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" + "../../../../../modules/juce_events/messages/juce_NotificationType.h" + "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" + "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" + "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" + "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" + "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" + "../../../../../modules/juce_events/timers/juce_MultiTimer.h" + "../../../../../modules/juce_events/timers/juce_Timer.cpp" + "../../../../../modules/juce_events/timers/juce_Timer.h" + "../../../../../modules/juce_events/juce_events.cpp" + "../../../../../modules/juce_events/juce_events.mm" + "../../../../../modules/juce_events/juce_events.h" + "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colour.h" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" + "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colours.h" + "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" + "../../../../../modules/juce_graphics/colour/juce_FillType.h" + "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" + "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Font.h" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" + "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" + "../../../../../modules/juce_graphics/geometry/juce_Line.h" + "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" + "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" + "../../../../../modules/juce_graphics/geometry/juce_Path.h" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" + "../../../../../modules/juce_graphics/geometry/juce_Point.h" + "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" + "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" + "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.h" + "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageCache.h" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" + "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" + "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" + "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" + "../../../../../modules/juce_graphics/placement/juce_Justification.h" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" + "../../../../../modules/juce_graphics/juce_graphics.cpp" + "../../../../../modules/juce_graphics/juce_graphics.mm" + "../../../../../modules/juce_graphics/juce_graphics.h" + "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" + "../../../../../modules/juce_gui_basics/application/juce_Application.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" + "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" + "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" + "../../../../../modules/juce_gui_basics/components/juce_Component.h" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" + "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" + "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" + "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" + "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" + "../../../../../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_PropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" + "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" + "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" + "../../../../../modules/juce_gui_basics/juce_gui_basics.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" + "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" + "../../../../../modules/juce_gui_extra/juce_gui_extra.h" + "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" + "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" + "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" + "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" + "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" + "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" + "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" + "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" + "../../../../../modules/juce_opengl/juce_opengl.cpp" + "../../../../../modules/juce_opengl/juce_opengl.mm" + "../../../../../modules/juce_opengl/juce_opengl.h" + "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" + "../../../../../modules/juce_video/capture/juce_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_android_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_android_Video.h" + "../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_mac_Video.h" + "../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" + "../../../../../modules/juce_video/native/juce_win32_Video.h" + "../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" + "../../../../../modules/juce_video/playback/juce_VideoComponent.h" + "../../../../../modules/juce_video/juce_video.cpp" + "../../../../../modules/juce_video/juce_video.mm" + "../../../../../modules/juce_video/juce_video.h" + "../../../JuceLibraryCode/AppConfig.h" + "../../../JuceLibraryCode/BinaryData.cpp" + "../../../JuceLibraryCode/BinaryData.h" + "../../../JuceLibraryCode/include_juce_audio_basics.cpp" + "../../../JuceLibraryCode/include_juce_audio_devices.cpp" + "../../../JuceLibraryCode/include_juce_audio_formats.cpp" + "../../../JuceLibraryCode/include_juce_audio_processors.cpp" + "../../../JuceLibraryCode/include_juce_audio_utils.cpp" + "../../../JuceLibraryCode/include_juce_core.cpp" + "../../../JuceLibraryCode/include_juce_cryptography.cpp" + "../../../JuceLibraryCode/include_juce_data_structures.cpp" + "../../../JuceLibraryCode/include_juce_events.cpp" + "../../../JuceLibraryCode/include_juce_graphics.cpp" + "../../../JuceLibraryCode/include_juce_gui_basics.cpp" + "../../../JuceLibraryCode/include_juce_gui_extra.cpp" + "../../../JuceLibraryCode/include_juce_opengl.cpp" + "../../../JuceLibraryCode/include_juce_video.cpp" + "../../../JuceLibraryCode/JuceHeader.h" +) + +set_source_files_properties("../../../Source/Filters/FilterGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/Filters/FilterIOConfiguration.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/Filters/InternalFilters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/UI/GraphEditorPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/UI/MainHostWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/UI/PluginWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/JUCEAppIcon.png" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/java/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +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_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) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/capture/juce_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_android_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_android_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_ios_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_mac_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_CameraDevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/native/juce_win32_Video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/playback/juce_VideoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/juce_video.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/juce_video.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_video/juce_video.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/BinaryData.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) + +find_library(log "log") +find_library(android "android") +find_library(glesv3 "GLESv3") +find_library(egl "EGL") + +target_link_libraries( ${BINARY_NAME} + + ${log} + ${android} + ${glesv3} + ${egl} + "cpufeatures" +) diff --git a/extras/AudioPluginHost/Builds/Android/app/build.gradle b/extras/AudioPluginHost/Builds/Android/app/build.gradle index 31fc97b3..2887ac63 100644 --- a/extras/AudioPluginHost/Builds/Android/app/build.gradle +++ b/extras/AudioPluginHost/Builds/Android/app/build.gradle @@ -1,94 +1,103 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 23 - buildToolsVersion "28.0.0" - externalNativeBuild { - cmake { - path "CMakeLists.txt" - } - } - signingConfigs { - juceSigning { - storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") - storePassword "android" - keyAlias "androiddebugkey" - keyPassword "android" - storeType "jks" - } - } - - defaultConfig { - applicationId "com.roli.juce.pluginhost" - minSdkVersion 23 - targetSdkVersion 23 - externalNativeBuild { - cmake { - arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" - cFlags "-fsigned-char" - cppFlags "-fsigned-char", "-std=c++14" - } - } - } - - buildTypes { - debug { - initWith debug - debuggable true - jniDebuggable true - signingConfig signingConfigs.juceSigning - } - release { - initWith release - debuggable false - jniDebuggable false - signingConfig signingConfigs.juceSigning - } - } - - flavorDimensions "default" - productFlavors { - debug_ { - ndk { - abiFilters "armeabi-v7a", "x86" - } - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" - } - } - - dimension "default" - } - release_ { - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" - } - } - - dimension "default" - } - } - - variantFilter { variant -> - def names = variant.flavors*.name - if (names.contains ("debug_") - && variant.buildType.name != "debug") { - setIgnore(true) - } - if (names.contains ("release_") - && variant.buildType.name != "release") { - setIgnore(true) - } - } - -repositories { -} - -dependencies { -} - - -} - +apply plugin: 'com.android.application' + +android { + compileSdkVersion 28 + externalNativeBuild { + cmake { + path "CMakeLists.txt" + } + } + signingConfigs { + juceSigning { + storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") + storePassword "android" + keyAlias "androiddebugkey" + keyPassword "android" + storeType "jks" + } + } + + defaultConfig { + applicationId "com.roli.juce.pluginhost" + minSdkVersion 23 + targetSdkVersion 28 + externalNativeBuild { + cmake { + arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" + cFlags "-fsigned-char" + cppFlags "-fsigned-char", "-std=c++14" + } + } + } + + buildTypes { + debug { + initWith debug + debuggable true + jniDebuggable true + signingConfig signingConfigs.juceSigning + } + release { + initWith release + debuggable false + jniDebuggable false + signingConfig signingConfigs.juceSigning + } + } + + flavorDimensions "default" + productFlavors { + debug_ { + ndk { + abiFilters "armeabi-v7a", "x86" + } + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-O0", "-DCMAKE_C_FLAGS_DEBUG=-O0" + } + } + + dimension "default" + } + release_ { + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" + } + } + + dimension "default" + } + } + + variantFilter { variant -> + def names = variant.flavors*.name + if (names.contains ("debug_") + && variant.buildType.name != "debug") { + setIgnore(true) + } + if (names.contains ("release_") + && variant.buildType.name != "release") { + setIgnore(true) + } + } + + sourceSets { + main.java.srcDirs += + ["../../../../../modules/juce_core/native/javacore/init", + "../../../../../modules/juce_core/native/javacore/app", + "../../../../../modules/juce_gui_basics/native/javacore/app"] + + main.res.srcDirs += + [] + } + + repositories { + } + + dependencies { + } + + +} + diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/AndroidManifest.xml b/extras/AudioPluginHost/Builds/Android/app/src/main/AndroidManifest.xml index 7a68c4f7..100f7634 100644 --- a/extras/AudioPluginHost/Builds/Android/app/src/main/AndroidManifest.xml +++ b/extras/AudioPluginHost/Builds/Android/app/src/main/AndroidManifest.xml @@ -11,8 +11,8 @@ - - + diff --git a/extras/AudioPluginHost/Builds/Android/build.gradle b/extras/AudioPluginHost/Builds/Android/build.gradle index 647f509e..2df9a8e7 100644 --- a/extras/AudioPluginHost/Builds/Android/build.gradle +++ b/extras/AudioPluginHost/Builds/Android/build.gradle @@ -1,16 +1,16 @@ -buildscript { - repositories { - google() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} +buildscript { + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.2.1' + } +} + +allprojects { + repositories { + google() + jcenter() + } +} diff --git a/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties index d384d28f..b460908d 100644 --- a/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/extras/AudioPluginHost/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip \ No newline at end of file diff --git a/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile b/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile index a43b4166..65b7508f 100644 --- a/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile +++ b/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile @@ -1,219 +1,219 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -# build with "V=1" for verbose builds -ifeq ($(V), 1) -V_AT = -else -V_AT = @ -endif - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef STRIP - STRIP=strip -endif - -ifndef AR - AR=ar -endif - -ifndef CONFIG - CONFIG=Debug -endif - -JUCE_ARCH_LABEL := $(shell uname -m) - -ifeq ($(CONFIG),Debug) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Debug - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +# build with "V=1" for verbose builds +ifeq ($(V), 1) +V_AT = +else +V_AT = @ +endif + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + +ifndef CONFIG + CONFIG=Debug +endif + +JUCE_ARCH_LABEL := $(shell uname -m) + +ifeq ($(CONFIG),Debug) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama 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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -ifeq ($(CONFIG),Release) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Release - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_TARGET_APP := AudioPluginHost + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +ifeq ($(CONFIG),Release) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama 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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -OBJECTS_APP := \ - $(JUCE_OBJDIR)/FilterGraph_769715e3.o \ - $(JUCE_OBJDIR)/FilterIOConfiguration_d1cf3d25.o \ - $(JUCE_OBJDIR)/InternalFilters_eceadbab.o \ - $(JUCE_OBJDIR)/GraphEditorPanel_2223d925.o \ - $(JUCE_OBJDIR)/MainHostWindow_b3494acd.o \ - $(JUCE_OBJDIR)/HostStartup_5ce96f96.o \ - $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ - $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ - $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ - $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ - $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ - $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ - $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ - $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ - $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ - $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ - $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ - $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ - $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ - $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ - $(JUCE_OBJDIR)/include_juce_video_be78589.o \ - -.PHONY: clean all strip - -all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) - -$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 x11 xext xinerama libcurl - @echo Linking "AudioPluginHost - App" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) - -$(JUCE_OBJDIR)/FilterGraph_769715e3.o: ../../Source/Filters/FilterGraph.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling FilterGraph.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/FilterIOConfiguration_d1cf3d25.o: ../../Source/Filters/FilterIOConfiguration.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling FilterIOConfiguration.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/InternalFilters_eceadbab.o: ../../Source/Filters/InternalFilters.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling InternalFilters.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/GraphEditorPanel_2223d925.o: ../../Source/UI/GraphEditorPanel.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling GraphEditorPanel.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/MainHostWindow_b3494acd.o: ../../Source/UI/MainHostWindow.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling MainHostWindow.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/HostStartup_5ce96f96.o: ../../Source/HostStartup.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling HostStartup.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling BinaryData.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_devices.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_formats.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_processors.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_utils.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_core.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_cryptography.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_data_structures.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_events.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_graphics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_extra.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_opengl.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_video_be78589.o: ../../JuceLibraryCode/include_juce_video.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_video.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -clean: - @echo Cleaning AudioPluginHost - $(V_AT)$(CLEANCMD) - -strip: - @echo Stripping AudioPluginHost - -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) - --include $(OBJECTS_APP:%.o=%.d) + JUCE_TARGET_APP := AudioPluginHost + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +OBJECTS_APP := \ + $(JUCE_OBJDIR)/FilterGraph_769715e3.o \ + $(JUCE_OBJDIR)/FilterIOConfiguration_d1cf3d25.o \ + $(JUCE_OBJDIR)/InternalFilters_eceadbab.o \ + $(JUCE_OBJDIR)/GraphEditorPanel_2223d925.o \ + $(JUCE_OBJDIR)/MainHostWindow_b3494acd.o \ + $(JUCE_OBJDIR)/HostStartup_5ce96f96.o \ + $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ + $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ + $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ + $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ + $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ + $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ + $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ + $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ + $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ + $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ + $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ + $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ + $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ + $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ + $(JUCE_OBJDIR)/include_juce_video_be78589.o \ + +.PHONY: clean all strip + +all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) + +$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 x11 xext xinerama libcurl + @echo Linking "AudioPluginHost - App" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) + -$(V_AT)mkdir -p $(JUCE_OUTDIR) + $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) + +$(JUCE_OBJDIR)/FilterGraph_769715e3.o: ../../Source/Filters/FilterGraph.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling FilterGraph.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/FilterIOConfiguration_d1cf3d25.o: ../../Source/Filters/FilterIOConfiguration.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling FilterIOConfiguration.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/InternalFilters_eceadbab.o: ../../Source/Filters/InternalFilters.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling InternalFilters.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/GraphEditorPanel_2223d925.o: ../../Source/UI/GraphEditorPanel.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling GraphEditorPanel.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/MainHostWindow_b3494acd.o: ../../Source/UI/MainHostWindow.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling MainHostWindow.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/HostStartup_5ce96f96.o: ../../Source/HostStartup.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling HostStartup.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling BinaryData.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_devices.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_formats.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_processors.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_utils.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_core.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_cryptography.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_data_structures.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_events.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_graphics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_extra.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_opengl.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_video_be78589.o: ../../JuceLibraryCode/include_juce_video.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_video.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +clean: + @echo Cleaning AudioPluginHost + $(V_AT)$(CLEANCMD) + +strip: + @echo Stripping AudioPluginHost + -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) + +-include $(OBJECTS_APP:%.o=%.d) diff --git a/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj index d7353969..8e20ebbc 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj @@ -158,15 +158,6 @@ true - - true - - - true - - - true - true @@ -239,6 +230,15 @@ true + + true + + + true + + + true + true @@ -530,6 +530,9 @@ true + + true + true @@ -746,6 +749,9 @@ true + + true + true @@ -992,6 +998,9 @@ true + + true + true @@ -1912,12 +1921,6 @@ - - - - - - @@ -1945,6 +1948,13 @@ + + + + + + + @@ -2082,6 +2092,7 @@ + @@ -2097,8 +2108,11 @@ + + + @@ -2110,6 +2124,7 @@ + @@ -2606,6 +2621,7 @@ + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters index 7afc1bca..d1a0fb60 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2013/AudioPluginHost_App.vcxproj.filters @@ -20,9 +20,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -38,6 +35,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -206,6 +206,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -457,15 +460,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -538,6 +532,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -838,6 +841,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1075,6 +1081,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1342,6 +1351,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2385,24 +2397,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2484,6 +2478,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -2895,6 +2910,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -2940,12 +2958,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -2979,6 +3006,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -4463,6 +4493,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj index 61878faa..b8021926 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj @@ -156,15 +156,6 @@ true - - true - - - true - - - true - true @@ -237,6 +228,15 @@ true + + true + + + true + + + true + true @@ -528,6 +528,9 @@ true + + true + true @@ -744,6 +747,9 @@ true + + true + true @@ -990,6 +996,9 @@ true + + true + true @@ -1910,12 +1919,6 @@ - - - - - - @@ -1943,6 +1946,13 @@ + + + + + + + @@ -2080,6 +2090,7 @@ + @@ -2095,8 +2106,11 @@ + + + @@ -2108,6 +2122,7 @@ + @@ -2604,6 +2619,7 @@ + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters index e1bf89e0..3199fa45 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters @@ -20,9 +20,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -38,6 +35,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -206,6 +206,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -457,15 +460,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -538,6 +532,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -838,6 +841,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1075,6 +1081,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1342,6 +1351,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2385,24 +2397,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2484,6 +2478,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -2895,6 +2910,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -2940,12 +2958,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -2979,6 +3006,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -4463,6 +4493,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj index f6645ecc..22df94ac 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj @@ -158,15 +158,6 @@ true - - true - - - true - - - true - true @@ -239,6 +230,15 @@ true + + true + + + true + + + true + true @@ -530,6 +530,9 @@ true + + true + true @@ -746,6 +749,9 @@ true + + true + true @@ -992,6 +998,9 @@ true + + true + true @@ -1912,12 +1921,6 @@ - - - - - - @@ -1945,6 +1948,13 @@ + + + + + + + @@ -2082,6 +2092,7 @@ + @@ -2097,8 +2108,11 @@ + + + @@ -2110,6 +2124,7 @@ + @@ -2606,6 +2621,7 @@ + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters index f61d76de..ffc6618f 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters @@ -20,9 +20,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -38,6 +35,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -206,6 +206,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -457,15 +460,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -538,6 +532,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -838,6 +841,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1075,6 +1081,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1342,6 +1351,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2385,24 +2397,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2484,6 +2478,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -2895,6 +2910,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -2940,12 +2958,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -2979,6 +3006,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -4463,6 +4493,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj index 349d1ce3..0a7f1cbc 100644 --- a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj +++ b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj @@ -77,6 +77,10 @@ isa = PBXBuildFile; fileRef = 29E0972229FB44D969035B4E; }; + E283262A07376A7EDFCEAF6F = { + isa = PBXBuildFile; + fileRef = F58EBA72DA53F75945B91321; + }; 443244451A0F2064D4767337 = { isa = PBXBuildFile; fileRef = 2A6983F82B13F9E8B10299AE; @@ -592,6 +596,13 @@ path = "../../../../modules/juce_gui_extra"; sourceTree = "SOURCE_ROOT"; }; + F58EBA72DA53F75945B91321 = { + isa = PBXFileReference; + lastKnownFileType = file.storyboard; + name = LaunchScreen.storyboard; + path = LaunchScreen.storyboard; + sourceTree = "SOURCE_ROOT"; + }; F9AC862E9A3583B6C1488EE0 = { isa = PBXFileReference; lastKnownFileType = file; @@ -715,6 +726,7 @@ children = ( 57DF618F1DE781556B7AFC32, 29E0972229FB44D969035B4E, + F58EBA72DA53F75945B91321, 2A6983F82B13F9E8B10299AE, ); name = Resources; @@ -979,6 +991,7 @@ buildActionMask = 2147483647; files = ( 59F4F23BFFDAB414B4801F85, + E283262A07376A7EDFCEAF6F, 443244451A0F2064D4767337, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/AudioPluginHost/Builds/iOS/Info-App.plist b/extras/AudioPluginHost/Builds/iOS/Info-App.plist index 5cc40c08..6d0ce749 100644 --- a/extras/AudioPluginHost/Builds/iOS/Info-App.plist +++ b/extras/AudioPluginHost/Builds/iOS/Info-App.plist @@ -9,6 +9,8 @@ UIViewControllerBasedStatusBarAppearance + UILaunchStoryboardName + LaunchScreen CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/extras/AudioPluginHost/Builds/iOS/LaunchScreen.storyboard b/extras/AudioPluginHost/Builds/iOS/LaunchScreen.storyboard new file mode 100644 index 00000000..ce0d6fd7 --- /dev/null +++ b/extras/AudioPluginHost/Builds/iOS/LaunchScreen.storyboard @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/extras/AudioPluginHost/Source/Filters/InternalFilters.cpp b/extras/AudioPluginHost/Source/Filters/InternalFilters.cpp index c024e13c..e2f96328 100644 --- a/extras/AudioPluginHost/Source/Filters/InternalFilters.cpp +++ b/extras/AudioPluginHost/Source/Filters/InternalFilters.cpp @@ -98,7 +98,7 @@ public: descr.descriptiveName = pluginName; descr.pluginFormatName = "Internal"; descr.category = (registerAsGenerator ? (acceptsMidi ? "Synth" : "Generator") : "Effect"); - descr.manufacturerName = "ROLI Ltd."; + descr.manufacturerName = "JUCE"; descr.version = ProjectInfo::versionString; descr.fileOrIdentifier = pluginName + ":" + pluginState; descr.uid = pluginName.hashCode(); diff --git a/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp b/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp index 2b7b8d04..3803bf0b 100644 --- a/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp +++ b/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp @@ -417,6 +417,7 @@ struct GraphEditorPanel::FilterComponent : public Component, menu->addItem (13, "Enable DPI awareness", true, isTicked); #endif + menu->addItem (14, "Show debug log"); } menu->addSeparator(); @@ -447,6 +448,7 @@ struct GraphEditorPanel::FilterComponent : public Component, node->properties.set ("DPIAware", ! node->properties ["DPIAware"]); break; } + case 14: showWindow (PluginWindow::Type::debug); break; case 20: showWindow (PluginWindow::Type::audioIO); break; case 21: testStateSaveLoad(); break; diff --git a/extras/AudioPluginHost/Source/UI/PluginWindow.h b/extras/AudioPluginHost/Source/UI/PluginWindow.h index d593ba78..0fc39c3f 100644 --- a/extras/AudioPluginHost/Source/UI/PluginWindow.h +++ b/extras/AudioPluginHost/Source/UI/PluginWindow.h @@ -30,6 +30,99 @@ class FilterGraph; +/** + A window that shows a log of parameter change messagse sent by the plugin. +*/ +class FilterDebugWindow : public AudioProcessorEditor, + public AudioProcessorParameter::Listener, + public ListBoxModel, + public AsyncUpdater +{ +public: + FilterDebugWindow (AudioProcessor& proc) + : AudioProcessorEditor (proc), processor (proc) + { + setSize (500, 200); + addAndMakeVisible (list); + + for (auto* p : processor.getParameters()) + p->addListener (this); + + log.add ("Parameter debug log started"); + } + + void parameterValueChanged (int parameterIndex, float newValue) override + { + auto* param = processor.getParameters()[parameterIndex]; + auto value = param->getCurrentValueAsText().quoted() + " (" + String (newValue, 4) + ")"; + + appendToLog ("parameter change", *param, value); + } + + void parameterGestureChanged (int parameterIndex, bool gestureIsStarting) override + { + auto* param = processor.getParameters()[parameterIndex]; + appendToLog ("gesture", *param, gestureIsStarting ? "start" : "end"); + } + +private: + void appendToLog (StringRef action, AudioProcessorParameter& param, StringRef value) + { + String entry (action + " " + param.getName (30).quoted() + " [" + String (param.getParameterIndex()) + "]: " + value); + + { + ScopedLock lock (pendingLogLock); + pendingLogEntries.add (entry); + } + + triggerAsyncUpdate(); + } + + void resized() override + { + list.setBounds(getLocalBounds()); + } + + int getNumRows() override + { + return log.size(); + } + + void paintListBoxItem (int rowNumber, Graphics& g, int width, int height, bool) override + { + g.setColour (getLookAndFeel().findColour (TextEditor::textColourId)); + + if (isPositiveAndBelow (rowNumber, log.size())) + g.drawText (log[rowNumber], Rectangle { 0, 0, width, height }, Justification::left, true); + } + + void handleAsyncUpdate() override + { + if (log.size() > logSizeTrimThreshold) + log.removeRange (0, log.size() - maxLogSize); + + { + ScopedLock lock (pendingLogLock); + log.addArray (pendingLogEntries); + pendingLogEntries.clear(); + } + + list.updateContent(); + list.scrollToEnsureRowIsOnscreen (log.size() - 1); + } + + constexpr static int maxLogSize = 300; + constexpr static int logSizeTrimThreshold = 400; + + ListBox list { "Log", this }; + + StringArray log; + StringArray pendingLogEntries; + CriticalSection pendingLogLock; + + AudioProcessor& processor; +}; + //============================================================================== /** A desktop window containing a plugin's GUI. @@ -43,6 +136,7 @@ public: generic, programs, audioIO, + debug, numTypes }; @@ -123,6 +217,9 @@ private: if (type == PluginWindow::Type::audioIO) return new FilterIOConfigurationWindow (processor); + if (type == PluginWindow::Type::debug) + return new FilterDebugWindow (processor); + jassertfalse; return {}; } @@ -135,6 +232,7 @@ private: case Type::generic: return "Generic"; case Type::programs: return "Programs"; case Type::audioIO: return "IO"; + case Type::debug: return "Debug"; default: return {}; } } diff --git a/extras/BinaryBuilder/BinaryBuilder.jucer b/extras/BinaryBuilder/BinaryBuilder.jucer index 53fdfb18..c123888f 100644 --- a/extras/BinaryBuilder/BinaryBuilder.jucer +++ b/extras/BinaryBuilder/BinaryBuilder.jucer @@ -1,7 +1,7 @@ diff --git a/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile b/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile index da7f2587..6866b98a 100644 --- a/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile +++ b/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile @@ -1,105 +1,105 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -# build with "V=1" for verbose builds -ifeq ($(V), 1) -V_AT = -else -V_AT = @ -endif - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef STRIP - STRIP=strip -endif - -ifndef AR - AR=ar -endif - -ifndef CONFIG - CONFIG=Debug -endif - -JUCE_ARCH_LABEL := $(shell uname -m) - -ifeq ($(CONFIG),Debug) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Debug - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=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) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +# build with "V=1" for verbose builds +ifeq ($(V), 1) +V_AT = +else +V_AT = @ +endif + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + +ifndef CONFIG + CONFIG=Debug +endif + +JUCE_ARCH_LABEL := $(shell uname -m) + +ifeq ($(CONFIG),Debug) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs libcurl) -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -ifeq ($(CONFIG),Release) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Release - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=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_TARGET_CONSOLEAPP := BinaryBuilder + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs libcurl) -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +ifeq ($(CONFIG),Release) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs libcurl) -fvisibility=hidden -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -OBJECTS_CONSOLEAPP := \ - $(JUCE_OBJDIR)/Main_90ebc5c2.o \ - $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ - -.PHONY: clean all strip - -all : $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) - -$(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) : $(OBJECTS_CONSOLEAPP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors libcurl - @echo Linking "BinaryBuilder - ConsoleApp" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) $(OBJECTS_CONSOLEAPP) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - -$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling Main.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_core.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -clean: - @echo Cleaning BinaryBuilder - $(V_AT)$(CLEANCMD) - -strip: - @echo Stripping BinaryBuilder - -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) - --include $(OBJECTS_CONSOLEAPP:%.o=%.d) + JUCE_TARGET_CONSOLEAPP := BinaryBuilder + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -Os $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs libcurl) -fvisibility=hidden -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +OBJECTS_CONSOLEAPP := \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ + +.PHONY: clean all strip + +all : $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) + +$(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) : $(OBJECTS_CONSOLEAPP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors libcurl + @echo Linking "BinaryBuilder - ConsoleApp" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) + -$(V_AT)mkdir -p $(JUCE_OUTDIR) + $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) $(OBJECTS_CONSOLEAPP) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling Main.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_core.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +clean: + @echo Cleaning BinaryBuilder + $(V_AT)$(CLEANCMD) + +strip: + @echo Stripping BinaryBuilder + -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) + +-include $(OBJECTS_CONSOLEAPP:%.o=%.d) diff --git a/extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj b/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj index baa54a83..e0633a77 100644 --- a/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj +++ b/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj @@ -235,6 +235,9 @@ true + + true + true @@ -581,6 +584,9 @@ + + + diff --git a/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj.filters b/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj.filters index 0173574e..bd6ded2a 100644 --- a/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj.filters +++ b/extras/BinaryBuilder/Builds/VisualStudio2017/BinaryBuilder_ConsoleApp.vcxproj.filters @@ -29,6 +29,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -172,6 +175,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -814,6 +820,11 @@ JUCE Library Code + + + JUCE Modules\juce_core\native\java + + JUCE Library Code diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt index 5a8da270..43d0981e 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt @@ -1,2720 +1,2740 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -cmake_minimum_required(VERSION 3.4.1) - -SET(BINARY_NAME "juce_jni") - -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=10" "-DJUCE_ANDROID_ACTIVITY_CLASSNAME=com_juce_networkgraphicsdemo_JUCENetworkGraphicsDemo" "-DJUCE_ANDROID_ACTIVITY_CLASSPATH=\"com/juce/networkgraphicsdemo/JUCENetworkGraphicsDemo\"" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSNAME=com_juce_networkgraphicsdemo_SharingContentProvider" "-DJUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSPATH=\"com/juce/networkgraphicsdemo/SharingContentProvider\"" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") - -include_directories( AFTER - "../../../JuceLibraryCode" - "../../../../../modules" - "${ANDROID_NDK}/sources/android/cpufeatures" -) - -enable_language(ASM) - -IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - add_definitions("-DJUCE_DEBUG=0" "-DDEBUG=1" "-D_DEBUG=1") -ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") - add_definitions("-DNDEBUG=1") -ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - MESSAGE( FATAL_ERROR "No matching build-configuration found." ) -ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - -add_library( ${BINARY_NAME} - - SHARED - - "../../../Source/Demos.h" - "../../../Source/Main.cpp" - "../../../Source/MasterComponent.h" - "../../../Source/SlaveComponent.h" - "../../../Source/SharedCanvas.h" - "../../../Source/juce_icon.png" - "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" - "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" - "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" - "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" - "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" - "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" - "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" - "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" - "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" - "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" - "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" - "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" - "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" - "../../../../../modules/juce_audio_basics/juce_audio_basics.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" - "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" - "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" - "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" - "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" - "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" - "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" - "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" - "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" - "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" - "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" - "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" - "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" - "../../../../../modules/juce_audio_devices/juce_audio_devices.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" - "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" - "../../../../../modules/juce_audio_formats/codecs/flac/all.h" - "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" - "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" - "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" - "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" - "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" - "../../../../../modules/juce_audio_formats/codecs/flac/export.h" - "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/flac/format.h" - "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" - "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" - "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" - "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" - "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" - "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" - "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" - "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" - "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" - "../../../../../modules/juce_audio_formats/juce_audio_formats.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" - "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" - "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" - "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" - "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" - "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" - "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" - "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" - "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" - "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" - "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" - "../../../../../modules/juce_audio_processors/juce_audio_processors.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" - "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" - "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" - "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" - "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" - "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" - "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" - "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" - "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" - "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" - "../../../../../modules/juce_audio_utils/juce_audio_utils.h" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" - "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" - "../../../../../modules/juce_core/containers/juce_Array.h" - "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" - "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" - "../../../../../modules/juce_core/containers/juce_ArrayBase.h" - "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" - "../../../../../modules/juce_core/containers/juce_DynamicObject.h" - "../../../../../modules/juce_core/containers/juce_ElementComparator.h" - "../../../../../modules/juce_core/containers/juce_HashMap.h" - "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" - "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" - "../../../../../modules/juce_core/containers/juce_ListenerList.h" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" - "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" - "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" - "../../../../../modules/juce_core/containers/juce_OwnedArray.h" - "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" - "../../../../../modules/juce_core/containers/juce_PropertySet.h" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" - "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" - "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" - "../../../../../modules/juce_core/containers/juce_SortedSet.h" - "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" - "../../../../../modules/juce_core/containers/juce_SparseSet.h" - "../../../../../modules/juce_core/containers/juce_Variant.cpp" - "../../../../../modules/juce_core/containers/juce_Variant.h" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" - "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" - "../../../../../modules/juce_core/files/juce_File.cpp" - "../../../../../modules/juce_core/files/juce_File.h" - "../../../../../modules/juce_core/files/juce_FileFilter.cpp" - "../../../../../modules/juce_core/files/juce_FileFilter.h" - "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileInputStream.h" - "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" - "../../../../../modules/juce_core/files/juce_FileOutputStream.h" - "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" - "../../../../../modules/juce_core/files/juce_FileSearchPath.h" - "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" - "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" - "../../../../../modules/juce_core/files/juce_TemporaryFile.h" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" - "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" - "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" - "../../../../../modules/juce_core/javascript/juce_Javascript.h" - "../../../../../modules/juce_core/javascript/juce_JSON.cpp" - "../../../../../modules/juce_core/javascript/juce_JSON.h" - "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" - "../../../../../modules/juce_core/logging/juce_FileLogger.h" - "../../../../../modules/juce_core/logging/juce_Logger.cpp" - "../../../../../modules/juce_core/logging/juce_Logger.h" - "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" - "../../../../../modules/juce_core/maths/juce_BigInteger.h" - "../../../../../modules/juce_core/maths/juce_Expression.cpp" - "../../../../../modules/juce_core/maths/juce_Expression.h" - "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" - "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" - "../../../../../modules/juce_core/maths/juce_Random.cpp" - "../../../../../modules/juce_core/maths/juce_Random.h" - "../../../../../modules/juce_core/maths/juce_Range.h" - "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" - "../../../../../modules/juce_core/memory/juce_Atomic.h" - "../../../../../modules/juce_core/memory/juce_ByteOrder.h" - "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" - "../../../../../modules/juce_core/memory/juce_HeapBlock.h" - "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" - "../../../../../modules/juce_core/memory/juce_Memory.h" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" - "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" - "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" - "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" - "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" - "../../../../../modules/juce_core/memory/juce_Singleton.h" - "../../../../../modules/juce_core/memory/juce_WeakReference.h" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" - "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" - "../../../../../modules/juce_core/misc/juce_Result.cpp" - "../../../../../modules/juce_core/misc/juce_Result.h" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" - "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" - "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" - "../../../../../modules/juce_core/misc/juce_Uuid.cpp" - "../../../../../modules/juce_core/misc/juce_Uuid.h" - "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" - "../../../../../modules/juce_core/native/juce_android_Files.cpp" - "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" - "../../../../../modules/juce_core/native/juce_android_Misc.cpp" - "../../../../../modules/juce_core/native/juce_android_Network.cpp" - "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" - "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_android_Threads.cpp" - "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" - "../../../../../modules/juce_core/native/juce_curl_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" - "../../../../../modules/juce_core/native/juce_linux_Files.cpp" - "../../../../../modules/juce_core/native/juce_linux_Network.cpp" - "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" - "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" - "../../../../../modules/juce_core/native/juce_mac_Files.mm" - "../../../../../modules/juce_core/native/juce_mac_Network.mm" - "../../../../../modules/juce_core/native/juce_mac_Strings.mm" - "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" - "../../../../../modules/juce_core/native/juce_mac_Threads.mm" - "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" - "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" - "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" - "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" - "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" - "../../../../../modules/juce_core/native/juce_win32_Files.cpp" - "../../../../../modules/juce_core/native/juce_win32_Network.cpp" - "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" - "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" - "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.cpp" - "../../../../../modules/juce_core/network/juce_IPAddress.h" - "../../../../../modules/juce_core/network/juce_MACAddress.cpp" - "../../../../../modules/juce_core/network/juce_MACAddress.h" - "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" - "../../../../../modules/juce_core/network/juce_NamedPipe.h" - "../../../../../modules/juce_core/network/juce_Socket.cpp" - "../../../../../modules/juce_core/network/juce_Socket.h" - "../../../../../modules/juce_core/network/juce_URL.cpp" - "../../../../../modules/juce_core/network/juce_URL.h" - "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" - "../../../../../modules/juce_core/network/juce_WebInputStream.h" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" - "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_FileInputSource.h" - "../../../../../modules/juce_core/streams/juce_InputSource.h" - "../../../../../modules/juce_core/streams/juce_InputStream.cpp" - "../../../../../modules/juce_core/streams/juce_InputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" - "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" - "../../../../../modules/juce_core/streams/juce_OutputStream.h" - "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" - "../../../../../modules/juce_core/streams/juce_SubregionStream.h" - "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" - "../../../../../modules/juce_core/streams/juce_URLInputSource.h" - "../../../../../modules/juce_core/system/juce_CompilerSupport.h" - "../../../../../modules/juce_core/system/juce_PlatformDefs.h" - "../../../../../modules/juce_core/system/juce_StandardHeader.h" - "../../../../../modules/juce_core/system/juce_SystemStats.cpp" - "../../../../../modules/juce_core/system/juce_SystemStats.h" - "../../../../../modules/juce_core/system/juce_TargetPlatform.h" - "../../../../../modules/juce_core/text/juce_Base64.cpp" - "../../../../../modules/juce_core/text/juce_Base64.h" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" - "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" - "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" - "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" - "../../../../../modules/juce_core/text/juce_Identifier.cpp" - "../../../../../modules/juce_core/text/juce_Identifier.h" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" - "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" - "../../../../../modules/juce_core/text/juce_NewLine.h" - "../../../../../modules/juce_core/text/juce_String.cpp" - "../../../../../modules/juce_core/text/juce_String.h" - "../../../../../modules/juce_core/text/juce_StringArray.cpp" - "../../../../../modules/juce_core/text/juce_StringArray.h" - "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" - "../../../../../modules/juce_core/text/juce_StringPairArray.h" - "../../../../../modules/juce_core/text/juce_StringPool.cpp" - "../../../../../modules/juce_core/text/juce_StringPool.h" - "../../../../../modules/juce_core/text/juce_StringRef.h" - "../../../../../modules/juce_core/text/juce_TextDiff.cpp" - "../../../../../modules/juce_core/text/juce_TextDiff.h" - "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" - "../../../../../modules/juce_core/threads/juce_ChildProcess.h" - "../../../../../modules/juce_core/threads/juce_CriticalSection.h" - "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" - "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" - "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" - "../../../../../modules/juce_core/threads/juce_Process.h" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" - "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" - "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" - "../../../../../modules/juce_core/threads/juce_SpinLock.h" - "../../../../../modules/juce_core/threads/juce_Thread.cpp" - "../../../../../modules/juce_core/threads/juce_Thread.h" - "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" - "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" - "../../../../../modules/juce_core/threads/juce_ThreadPool.h" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" - "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" - "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" - "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" - "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" - "../../../../../modules/juce_core/time/juce_RelativeTime.h" - "../../../../../modules/juce_core/time/juce_Time.cpp" - "../../../../../modules/juce_core/time/juce_Time.h" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" - "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" - "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" - "../../../../../modules/juce_core/xml/juce_XmlDocument.h" - "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" - "../../../../../modules/juce_core/xml/juce_XmlElement.h" - "../../../../../modules/juce_core/zip/zlib/adler32.c" - "../../../../../modules/juce_core/zip/zlib/compress.c" - "../../../../../modules/juce_core/zip/zlib/crc32.c" - "../../../../../modules/juce_core/zip/zlib/crc32.h" - "../../../../../modules/juce_core/zip/zlib/deflate.c" - "../../../../../modules/juce_core/zip/zlib/deflate.h" - "../../../../../modules/juce_core/zip/zlib/infback.c" - "../../../../../modules/juce_core/zip/zlib/inffast.c" - "../../../../../modules/juce_core/zip/zlib/inffast.h" - "../../../../../modules/juce_core/zip/zlib/inffixed.h" - "../../../../../modules/juce_core/zip/zlib/inflate.c" - "../../../../../modules/juce_core/zip/zlib/inflate.h" - "../../../../../modules/juce_core/zip/zlib/inftrees.c" - "../../../../../modules/juce_core/zip/zlib/inftrees.h" - "../../../../../modules/juce_core/zip/zlib/trees.c" - "../../../../../modules/juce_core/zip/zlib/trees.h" - "../../../../../modules/juce_core/zip/zlib/uncompr.c" - "../../../../../modules/juce_core/zip/zlib/zconf.h" - "../../../../../modules/juce_core/zip/zlib/zconf.in.h" - "../../../../../modules/juce_core/zip/zlib/zlib.h" - "../../../../../modules/juce_core/zip/zlib/zutil.c" - "../../../../../modules/juce_core/zip/zlib/zutil.h" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" - "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" - "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" - "../../../../../modules/juce_core/zip/juce_ZipFile.h" - "../../../../../modules/juce_core/juce_core.cpp" - "../../../../../modules/juce_core/juce_core.mm" - "../../../../../modules/juce_core/juce_core.h" - "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" - "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_Primes.h" - "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" - "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" - "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_MD5.h" - "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" - "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" - "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" - "../../../../../modules/juce_cryptography/juce_cryptography.cpp" - "../../../../../modules/juce_cryptography/juce_cryptography.mm" - "../../../../../modules/juce_cryptography/juce_cryptography.h" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" - "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" - "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" - "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" - "../../../../../modules/juce_data_structures/values/juce_Value.cpp" - "../../../../../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_ValueTreeSynchroniser.cpp" - "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h" - "../../../../../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" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" - "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" - "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" - "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" - "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" - "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" - "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" - "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" - "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" - "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" - "../../../../../modules/juce_events/messages/juce_Initialisation.h" - "../../../../../modules/juce_events/messages/juce_Message.h" - "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" - "../../../../../modules/juce_events/messages/juce_MessageListener.h" - "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" - "../../../../../modules/juce_events/messages/juce_MessageManager.h" - "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" - "../../../../../modules/juce_events/messages/juce_NotificationType.h" - "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" - "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" - "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" - "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" - "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" - "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" - "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" - "../../../../../modules/juce_events/timers/juce_MultiTimer.h" - "../../../../../modules/juce_events/timers/juce_Timer.cpp" - "../../../../../modules/juce_events/timers/juce_Timer.h" - "../../../../../modules/juce_events/juce_events.cpp" - "../../../../../modules/juce_events/juce_events.mm" - "../../../../../modules/juce_events/juce_events.h" - "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colour.h" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" - "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" - "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" - "../../../../../modules/juce_graphics/colour/juce_Colours.h" - "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" - "../../../../../modules/juce_graphics/colour/juce_FillType.h" - "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" - "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" - "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" - "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" - "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" - "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Font.h" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" - "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" - "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" - "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" - "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" - "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" - "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" - "../../../../../modules/juce_graphics/geometry/juce_Line.h" - "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" - "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" - "../../../../../modules/juce_graphics/geometry/juce_Path.h" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" - "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" - "../../../../../modules/juce_graphics/geometry/juce_Point.h" - "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" - "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" - "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" - "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" - "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" - "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.cpp" - "../../../../../modules/juce_graphics/images/juce_Image.h" - "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageCache.h" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" - "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" - "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" - "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" - "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" - "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" - "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" - "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" - "../../../../../modules/juce_graphics/placement/juce_Justification.h" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" - "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" - "../../../../../modules/juce_graphics/juce_graphics.cpp" - "../../../../../modules/juce_graphics/juce_graphics.mm" - "../../../../../modules/juce_graphics/juce_graphics.h" - "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" - "../../../../../modules/juce_gui_basics/application/juce_Application.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" - "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" - "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" - "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" - "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" - "../../../../../modules/juce_gui_basics/components/juce_Component.h" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" - "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" - "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" - "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" - "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" - "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" - "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" - "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" - "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" - "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" - "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" - "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" - "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" - "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" - "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" - "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" - "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" - "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" - "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" - "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" - "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" - "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" - "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" - "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" - "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" - "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" - "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" - "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" - "../../../../../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_PropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" - "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" - "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" - "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" - "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" - "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" - "../../../../../modules/juce_gui_basics/juce_gui_basics.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" - "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" - "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" - "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" - "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" - "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" - "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" - "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" - "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" - "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" - "../../../../../modules/juce_gui_extra/juce_gui_extra.h" - "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" - "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" - "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" - "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" - "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" - "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" - "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" - "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" - "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" - "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" - "../../../../../modules/juce_opengl/juce_opengl.cpp" - "../../../../../modules/juce_opengl/juce_opengl.mm" - "../../../../../modules/juce_opengl/juce_opengl.h" - "../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCAddress.h" - "../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCArgument.h" - "../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCBundle.h" - "../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCMessage.h" - "../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" - "../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCSender.h" - "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" - "../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" - "../../../../../modules/juce_osc/osc/juce_OSCTypes.h" - "../../../../../modules/juce_osc/juce_osc.cpp" - "../../../../../modules/juce_osc/juce_osc.h" - "../../../JuceLibraryCode/AppConfig.h" - "../../../JuceLibraryCode/BinaryData.cpp" - "../../../JuceLibraryCode/BinaryData.h" - "../../../JuceLibraryCode/include_juce_audio_basics.cpp" - "../../../JuceLibraryCode/include_juce_audio_devices.cpp" - "../../../JuceLibraryCode/include_juce_audio_formats.cpp" - "../../../JuceLibraryCode/include_juce_audio_processors.cpp" - "../../../JuceLibraryCode/include_juce_audio_utils.cpp" - "../../../JuceLibraryCode/include_juce_core.cpp" - "../../../JuceLibraryCode/include_juce_cryptography.cpp" - "../../../JuceLibraryCode/include_juce_data_structures.cpp" - "../../../JuceLibraryCode/include_juce_events.cpp" - "../../../JuceLibraryCode/include_juce_graphics.cpp" - "../../../JuceLibraryCode/include_juce_gui_basics.cpp" - "../../../JuceLibraryCode/include_juce_gui_extra.cpp" - "../../../JuceLibraryCode/include_juce_opengl.cpp" - "../../../JuceLibraryCode/include_juce_osc.cpp" - "../../../JuceLibraryCode/JuceHeader.h" -) - -set_source_files_properties("../../../Source/Demos.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/MasterComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/SlaveComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/SharedCanvas.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/juce_icon.png" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/effects/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -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_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.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) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.mm" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/juce_osc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_osc/juce_osc.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/BinaryData.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) - -find_library(log "log") -find_library(android "android") -find_library(glesv2 "GLESv2") -find_library(egl "EGL") - -target_link_libraries( ${BINARY_NAME} - - ${log} - ${android} - ${glesv2} - ${egl} - "cpufeatures" -) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +cmake_minimum_required(VERSION 3.4.1) + +SET(BINARY_NAME "juce_jni") + +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=16" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") + +include_directories( AFTER + "../../../JuceLibraryCode" + "../../../../../modules" + "${ANDROID_NDK}/sources/android/cpufeatures" +) + +enable_language(ASM) + +IF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + add_definitions("-DJUCE_DEBUG=0" "-DDEBUG=1" "-D_DEBUG=1") +ELSEIF(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") + add_definitions("-DNDEBUG=1") +ELSE(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + MESSAGE( FATAL_ERROR "No matching build-configuration found." ) +ENDIF(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") + +add_library( ${BINARY_NAME} + + SHARED + + "../../../Source/Demos.h" + "../../../Source/Main.cpp" + "../../../Source/MasterComponent.h" + "../../../Source/SlaveComponent.h" + "../../../Source/SharedCanvas.h" + "../../../Source/juce_icon.png" + "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" + "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" + "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" + "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" + "../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" + "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" + "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" + "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" + "../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" + "../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" + "../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" + "../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" + "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" + "../../../../../modules/juce_audio_basics/juce_audio_basics.mm" + "../../../../../modules/juce_audio_basics/juce_audio_basics.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" + "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" + "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" + "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" + "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" + "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" + "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" + "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" + "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" + "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" + "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" + "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" + "../../../../../modules/juce_audio_devices/juce_audio_devices.mm" + "../../../../../modules/juce_audio_devices/juce_audio_devices.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" + "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" + "../../../../../modules/juce_audio_formats/codecs/flac/all.h" + "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" + "../../../../../modules/juce_audio_formats/codecs/flac/assert.h" + "../../../../../modules/juce_audio_formats/codecs/flac/callback.h" + "../../../../../modules/juce_audio_formats/codecs/flac/compat.h" + "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" + "../../../../../modules/juce_audio_formats/codecs/flac/export.h" + "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/flac/format.h" + "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" + "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" + "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" + "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" + "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" + "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" + "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" + "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" + "../../../../../modules/juce_audio_formats/juce_audio_formats.mm" + "../../../../../modules/juce_audio_formats/juce_audio_formats.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" + "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" + "../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" + "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" + "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" + "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" + "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" + "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" + "../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" + "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" + "../../../../../modules/juce_audio_processors/juce_audio_processors.mm" + "../../../../../modules/juce_audio_processors/juce_audio_processors.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" + "../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" + "../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" + "../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" + "../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" + "../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" + "../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" + "../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" + "../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" + "../../../../../modules/juce_audio_utils/juce_audio_utils.mm" + "../../../../../modules/juce_audio_utils/juce_audio_utils.h" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" + "../../../../../modules/juce_core/containers/juce_AbstractFifo.h" + "../../../../../modules/juce_core/containers/juce_Array.h" + "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" + "../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" + "../../../../../modules/juce_core/containers/juce_ArrayBase.h" + "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" + "../../../../../modules/juce_core/containers/juce_DynamicObject.h" + "../../../../../modules/juce_core/containers/juce_ElementComparator.h" + "../../../../../modules/juce_core/containers/juce_HashMap.h" + "../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" + "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" + "../../../../../modules/juce_core/containers/juce_ListenerList.h" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" + "../../../../../modules/juce_core/containers/juce_NamedValueSet.h" + "../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" + "../../../../../modules/juce_core/containers/juce_OwnedArray.h" + "../../../../../modules/juce_core/containers/juce_PropertySet.cpp" + "../../../../../modules/juce_core/containers/juce_PropertySet.h" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" + "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" + "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" + "../../../../../modules/juce_core/containers/juce_SortedSet.h" + "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" + "../../../../../modules/juce_core/containers/juce_SparseSet.h" + "../../../../../modules/juce_core/containers/juce_Variant.cpp" + "../../../../../modules/juce_core/containers/juce_Variant.h" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" + "../../../../../modules/juce_core/files/juce_DirectoryIterator.h" + "../../../../../modules/juce_core/files/juce_File.cpp" + "../../../../../modules/juce_core/files/juce_File.h" + "../../../../../modules/juce_core/files/juce_FileFilter.cpp" + "../../../../../modules/juce_core/files/juce_FileFilter.h" + "../../../../../modules/juce_core/files/juce_FileInputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileInputStream.h" + "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" + "../../../../../modules/juce_core/files/juce_FileOutputStream.h" + "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" + "../../../../../modules/juce_core/files/juce_FileSearchPath.h" + "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" + "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" + "../../../../../modules/juce_core/files/juce_TemporaryFile.h" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" + "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" + "../../../../../modules/juce_core/javascript/juce_Javascript.cpp" + "../../../../../modules/juce_core/javascript/juce_Javascript.h" + "../../../../../modules/juce_core/javascript/juce_JSON.cpp" + "../../../../../modules/juce_core/javascript/juce_JSON.h" + "../../../../../modules/juce_core/logging/juce_FileLogger.cpp" + "../../../../../modules/juce_core/logging/juce_FileLogger.h" + "../../../../../modules/juce_core/logging/juce_Logger.cpp" + "../../../../../modules/juce_core/logging/juce_Logger.h" + "../../../../../modules/juce_core/maths/juce_BigInteger.cpp" + "../../../../../modules/juce_core/maths/juce_BigInteger.h" + "../../../../../modules/juce_core/maths/juce_Expression.cpp" + "../../../../../modules/juce_core/maths/juce_Expression.h" + "../../../../../modules/juce_core/maths/juce_MathsFunctions.h" + "../../../../../modules/juce_core/maths/juce_NormalisableRange.h" + "../../../../../modules/juce_core/maths/juce_Random.cpp" + "../../../../../modules/juce_core/maths/juce_Random.h" + "../../../../../modules/juce_core/maths/juce_Range.h" + "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" + "../../../../../modules/juce_core/memory/juce_Atomic.h" + "../../../../../modules/juce_core/memory/juce_ByteOrder.h" + "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" + "../../../../../modules/juce_core/memory/juce_HeapBlock.h" + "../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" + "../../../../../modules/juce_core/memory/juce_Memory.h" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" + "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" + "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" + "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" + "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" + "../../../../../modules/juce_core/memory/juce_Singleton.h" + "../../../../../modules/juce_core/memory/juce_WeakReference.h" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" + "../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" + "../../../../../modules/juce_core/misc/juce_Result.cpp" + "../../../../../modules/juce_core/misc/juce_Result.h" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" + "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" + "../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" + "../../../../../modules/juce_core/misc/juce_Uuid.cpp" + "../../../../../modules/juce_core/misc/juce_Uuid.h" + "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" + "../../../../../modules/juce_core/native/java/README.txt" + "../../../../../modules/juce_core/native/juce_android_Files.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" + "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" + "../../../../../modules/juce_core/native/juce_android_Misc.cpp" + "../../../../../modules/juce_core/native/juce_android_Network.cpp" + "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" + "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_android_Threads.cpp" + "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" + "../../../../../modules/juce_core/native/juce_curl_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" + "../../../../../modules/juce_core/native/juce_linux_Files.cpp" + "../../../../../modules/juce_core/native/juce_linux_Network.cpp" + "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_linux_Threads.cpp" + "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" + "../../../../../modules/juce_core/native/juce_mac_Files.mm" + "../../../../../modules/juce_core/native/juce_mac_Network.mm" + "../../../../../modules/juce_core/native/juce_mac_Strings.mm" + "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" + "../../../../../modules/juce_core/native/juce_mac_Threads.mm" + "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" + "../../../../../modules/juce_core/native/juce_posix_IPAddress.h" + "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" + "../../../../../modules/juce_core/native/juce_posix_SharedCode.h" + "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" + "../../../../../modules/juce_core/native/juce_win32_Files.cpp" + "../../../../../modules/juce_core/native/juce_win32_Network.cpp" + "../../../../../modules/juce_core/native/juce_win32_Registry.cpp" + "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" + "../../../../../modules/juce_core/native/juce_win32_Threads.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.cpp" + "../../../../../modules/juce_core/network/juce_IPAddress.h" + "../../../../../modules/juce_core/network/juce_MACAddress.cpp" + "../../../../../modules/juce_core/network/juce_MACAddress.h" + "../../../../../modules/juce_core/network/juce_NamedPipe.cpp" + "../../../../../modules/juce_core/network/juce_NamedPipe.h" + "../../../../../modules/juce_core/network/juce_Socket.cpp" + "../../../../../modules/juce_core/network/juce_Socket.h" + "../../../../../modules/juce_core/network/juce_URL.cpp" + "../../../../../modules/juce_core/network/juce_URL.h" + "../../../../../modules/juce_core/network/juce_WebInputStream.cpp" + "../../../../../modules/juce_core/network/juce_WebInputStream.h" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" + "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_FileInputSource.h" + "../../../../../modules/juce_core/streams/juce_InputSource.h" + "../../../../../modules/juce_core/streams/juce_InputStream.cpp" + "../../../../../modules/juce_core/streams/juce_InputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" + "../../../../../modules/juce_core/streams/juce_OutputStream.cpp" + "../../../../../modules/juce_core/streams/juce_OutputStream.h" + "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" + "../../../../../modules/juce_core/streams/juce_SubregionStream.h" + "../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" + "../../../../../modules/juce_core/streams/juce_URLInputSource.h" + "../../../../../modules/juce_core/system/juce_CompilerSupport.h" + "../../../../../modules/juce_core/system/juce_PlatformDefs.h" + "../../../../../modules/juce_core/system/juce_StandardHeader.h" + "../../../../../modules/juce_core/system/juce_SystemStats.cpp" + "../../../../../modules/juce_core/system/juce_SystemStats.h" + "../../../../../modules/juce_core/system/juce_TargetPlatform.h" + "../../../../../modules/juce_core/text/juce_Base64.cpp" + "../../../../../modules/juce_core/text/juce_Base64.h" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" + "../../../../../modules/juce_core/text/juce_CharacterFunctions.h" + "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" + "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" + "../../../../../modules/juce_core/text/juce_Identifier.cpp" + "../../../../../modules/juce_core/text/juce_Identifier.h" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" + "../../../../../modules/juce_core/text/juce_LocalisedStrings.h" + "../../../../../modules/juce_core/text/juce_NewLine.h" + "../../../../../modules/juce_core/text/juce_String.cpp" + "../../../../../modules/juce_core/text/juce_String.h" + "../../../../../modules/juce_core/text/juce_StringArray.cpp" + "../../../../../modules/juce_core/text/juce_StringArray.h" + "../../../../../modules/juce_core/text/juce_StringPairArray.cpp" + "../../../../../modules/juce_core/text/juce_StringPairArray.h" + "../../../../../modules/juce_core/text/juce_StringPool.cpp" + "../../../../../modules/juce_core/text/juce_StringPool.h" + "../../../../../modules/juce_core/text/juce_StringRef.h" + "../../../../../modules/juce_core/text/juce_TextDiff.cpp" + "../../../../../modules/juce_core/text/juce_TextDiff.h" + "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" + "../../../../../modules/juce_core/threads/juce_ChildProcess.h" + "../../../../../modules/juce_core/threads/juce_CriticalSection.h" + "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" + "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" + "../../../../../modules/juce_core/threads/juce_InterProcessLock.h" + "../../../../../modules/juce_core/threads/juce_Process.h" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" + "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" + "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" + "../../../../../modules/juce_core/threads/juce_SpinLock.h" + "../../../../../modules/juce_core/threads/juce_Thread.cpp" + "../../../../../modules/juce_core/threads/juce_Thread.h" + "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" + "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" + "../../../../../modules/juce_core/threads/juce_ThreadPool.h" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" + "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" + "../../../../../modules/juce_core/threads/juce_WaitableEvent.h" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" + "../../../../../modules/juce_core/time/juce_PerformanceCounter.h" + "../../../../../modules/juce_core/time/juce_RelativeTime.cpp" + "../../../../../modules/juce_core/time/juce_RelativeTime.h" + "../../../../../modules/juce_core/time/juce_Time.cpp" + "../../../../../modules/juce_core/time/juce_Time.h" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" + "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" + "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" + "../../../../../modules/juce_core/xml/juce_XmlDocument.h" + "../../../../../modules/juce_core/xml/juce_XmlElement.cpp" + "../../../../../modules/juce_core/xml/juce_XmlElement.h" + "../../../../../modules/juce_core/zip/zlib/adler32.c" + "../../../../../modules/juce_core/zip/zlib/compress.c" + "../../../../../modules/juce_core/zip/zlib/crc32.c" + "../../../../../modules/juce_core/zip/zlib/crc32.h" + "../../../../../modules/juce_core/zip/zlib/deflate.c" + "../../../../../modules/juce_core/zip/zlib/deflate.h" + "../../../../../modules/juce_core/zip/zlib/infback.c" + "../../../../../modules/juce_core/zip/zlib/inffast.c" + "../../../../../modules/juce_core/zip/zlib/inffast.h" + "../../../../../modules/juce_core/zip/zlib/inffixed.h" + "../../../../../modules/juce_core/zip/zlib/inflate.c" + "../../../../../modules/juce_core/zip/zlib/inflate.h" + "../../../../../modules/juce_core/zip/zlib/inftrees.c" + "../../../../../modules/juce_core/zip/zlib/inftrees.h" + "../../../../../modules/juce_core/zip/zlib/trees.c" + "../../../../../modules/juce_core/zip/zlib/trees.h" + "../../../../../modules/juce_core/zip/zlib/uncompr.c" + "../../../../../modules/juce_core/zip/zlib/zconf.h" + "../../../../../modules/juce_core/zip/zlib/zconf.in.h" + "../../../../../modules/juce_core/zip/zlib/zlib.h" + "../../../../../modules/juce_core/zip/zlib/zutil.c" + "../../../../../modules/juce_core/zip/zlib/zutil.h" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" + "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" + "../../../../../modules/juce_core/zip/juce_ZipFile.cpp" + "../../../../../modules/juce_core/zip/juce_ZipFile.h" + "../../../../../modules/juce_core/juce_core.cpp" + "../../../../../modules/juce_core/juce_core.mm" + "../../../../../modules/juce_core/juce_core.h" + "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" + "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_Primes.h" + "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" + "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" + "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_MD5.h" + "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" + "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" + "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" + "../../../../../modules/juce_cryptography/juce_cryptography.cpp" + "../../../../../modules/juce_cryptography/juce_cryptography.mm" + "../../../../../modules/juce_cryptography/juce_cryptography.h" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" + "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" + "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" + "../../../../../modules/juce_data_structures/values/juce_CachedValue.h" + "../../../../../modules/juce_data_structures/values/juce_Value.cpp" + "../../../../../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_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" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" + "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" + "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" + "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" + "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" + "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" + "../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" + "../../../../../modules/juce_events/messages/juce_ApplicationBase.h" + "../../../../../modules/juce_events/messages/juce_CallbackMessage.h" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" + "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" + "../../../../../modules/juce_events/messages/juce_Initialisation.h" + "../../../../../modules/juce_events/messages/juce_Message.h" + "../../../../../modules/juce_events/messages/juce_MessageListener.cpp" + "../../../../../modules/juce_events/messages/juce_MessageListener.h" + "../../../../../modules/juce_events/messages/juce_MessageManager.cpp" + "../../../../../modules/juce_events/messages/juce_MessageManager.h" + "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" + "../../../../../modules/juce_events/messages/juce_NotificationType.h" + "../../../../../modules/juce_events/native/juce_android_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_linux_EventLoop.h" + "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" + "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" + "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" + "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" + "../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" + "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" + "../../../../../modules/juce_events/timers/juce_MultiTimer.h" + "../../../../../modules/juce_events/timers/juce_Timer.cpp" + "../../../../../modules/juce_events/timers/juce_Timer.h" + "../../../../../modules/juce_events/juce_events.cpp" + "../../../../../modules/juce_events/juce_events.mm" + "../../../../../modules/juce_events/juce_events.h" + "../../../../../modules/juce_graphics/colour/juce_Colour.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colour.h" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" + "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" + "../../../../../modules/juce_graphics/colour/juce_Colours.cpp" + "../../../../../modules/juce_graphics/colour/juce_Colours.h" + "../../../../../modules/juce_graphics/colour/juce_FillType.cpp" + "../../../../../modules/juce_graphics/colour/juce_FillType.h" + "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" + "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" + "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" + "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" + "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" + "../../../../../modules/juce_graphics/fonts/juce_Font.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Font.h" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" + "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" + "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" + "../../../../../modules/juce_graphics/fonts/juce_Typeface.h" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" + "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" + "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" + "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" + "../../../../../modules/juce_graphics/geometry/juce_Line.h" + "../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" + "../../../../../modules/juce_graphics/geometry/juce_Path.cpp" + "../../../../../modules/juce_graphics/geometry/juce_Path.h" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" + "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" + "../../../../../modules/juce_graphics/geometry/juce_Point.h" + "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" + "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" + "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/png.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" + "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" + "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" + "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.cpp" + "../../../../../modules/juce_graphics/images/juce_Image.h" + "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageCache.h" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" + "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" + "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" + "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" + "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" + "../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" + "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" + "../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" + "../../../../../modules/juce_graphics/placement/juce_Justification.h" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" + "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" + "../../../../../modules/juce_graphics/juce_graphics.cpp" + "../../../../../modules/juce_graphics/juce_graphics.mm" + "../../../../../modules/juce_graphics/juce_graphics.h" + "../../../../../modules/juce_gui_basics/application/juce_Application.cpp" + "../../../../../modules/juce_gui_basics/application/juce_Application.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_Button.h" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" + "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" + "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" + "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" + "../../../../../modules/juce_gui_basics/components/juce_Component.cpp" + "../../../../../modules/juce_gui_basics/components/juce_Component.h" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" + "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" + "../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" + "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" + "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" + "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" + "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" + "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" + "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" + "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Grid.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" + "../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" + "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" + "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" + "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" + "../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" + "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" + "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" + "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" + "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" + "../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" + "../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" + "../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" + "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" + "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" + "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" + "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" + "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" + "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" + "../../../../../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_PropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" + "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Label.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" + "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" + "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" + "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" + "../../../../../modules/juce_gui_basics/juce_gui_basics.mm" + "../../../../../modules/juce_gui_basics/juce_gui_basics.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" + "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" + "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" + "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" + "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" + "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" + "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" + "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" + "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" + "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" + "../../../../../modules/juce_gui_extra/juce_gui_extra.mm" + "../../../../../modules/juce_gui_extra/juce_gui_extra.h" + "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" + "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" + "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" + "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" + "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" + "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" + "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" + "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" + "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" + "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" + "../../../../../modules/juce_opengl/juce_opengl.cpp" + "../../../../../modules/juce_opengl/juce_opengl.mm" + "../../../../../modules/juce_opengl/juce_opengl.h" + "../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCAddress.h" + "../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCArgument.h" + "../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCBundle.h" + "../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCMessage.h" + "../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" + "../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCSender.h" + "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" + "../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" + "../../../../../modules/juce_osc/osc/juce_OSCTypes.h" + "../../../../../modules/juce_osc/juce_osc.cpp" + "../../../../../modules/juce_osc/juce_osc.h" + "../../../JuceLibraryCode/AppConfig.h" + "../../../JuceLibraryCode/BinaryData.cpp" + "../../../JuceLibraryCode/BinaryData.h" + "../../../JuceLibraryCode/include_juce_audio_basics.cpp" + "../../../JuceLibraryCode/include_juce_audio_devices.cpp" + "../../../JuceLibraryCode/include_juce_audio_formats.cpp" + "../../../JuceLibraryCode/include_juce_audio_processors.cpp" + "../../../JuceLibraryCode/include_juce_audio_utils.cpp" + "../../../JuceLibraryCode/include_juce_core.cpp" + "../../../JuceLibraryCode/include_juce_cryptography.cpp" + "../../../JuceLibraryCode/include_juce_data_structures.cpp" + "../../../JuceLibraryCode/include_juce_events.cpp" + "../../../JuceLibraryCode/include_juce_graphics.cpp" + "../../../JuceLibraryCode/include_juce_gui_basics.cpp" + "../../../JuceLibraryCode/include_juce_gui_extra.cpp" + "../../../JuceLibraryCode/include_juce_opengl.cpp" + "../../../JuceLibraryCode/include_juce_osc.cpp" + "../../../JuceLibraryCode/JuceHeader.h" +) + +set_source_files_properties("../../../Source/Demos.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/MasterComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/SlaveComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/SharedCanvas.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/juce_icon.png" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEUtils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MemoryAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_ADSR.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Decibels.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_IIRFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/utilities/juce_Reverb.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_basics/juce_audio_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_Oboe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_ios_Audio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Bela.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_devices/juce_audio_devices.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/alloc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/assert.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/callback.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/compat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/endswap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/export.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/format.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/metadata.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_formats/juce_audio_formats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/base/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/typesizecheck.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ustring.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/gui/iplugviewcontentscalesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstattributes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstaudioprocessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstautomationstate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstchannelcontextinfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstcontextmenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstevents.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivsthostapplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstinterappaudio.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidicontrollers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstmidilearn.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstnoteexpression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstparameterchanges.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstphysicalui.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstpluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstplugview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprefetchablesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstprocesscontext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstrepresentation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/ivstunits.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstpshpack4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vstspeaker.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/vst/vsttypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/memorystream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/common/pluginview.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/hostclasses.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/hosting/pluginterfacesupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstbus.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstcomponentbase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vsteditcontroller.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstinitiids.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstparameters.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/source/vst/vstpresetfile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/public.sdk/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/VST3_SDK/README.md" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/juce_audio_processors.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_utils/juce_audio_utils.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_AbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Array.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ArrayBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_DynamicObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ElementComparator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_HashMap_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_LinkedListPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ListenerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_NamedValueSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_OwnedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_PropertySet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_Variant.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_DirectoryIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_File.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_FileSearchPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_MemoryMappedFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_TemporaryFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/files/juce_WildcardFileFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_Javascript.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/javascript/juce_JSON.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_FileLogger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/logging/juce_Logger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_BigInteger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Expression.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_MathsFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_NormalisableRange.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Random.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_Range.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Atomic.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ByteOrder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeapBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_WeakReference.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_ConsoleApplication.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Result.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_RuntimePermissions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_StdFunctionCompat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_Uuid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/misc/juce_WindowsRegistry.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/java/README.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_JNIHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Misc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_android_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_curl_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_linux_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Files.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Network.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Strings.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_SystemStats.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_mac_Threads.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_posix_SharedCode.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Files.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Network.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Registry.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/native/juce_win32_Threads.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_IPAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_MACAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_NamedPipe.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_Socket.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_URL.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/network/juce_WebInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_BufferedInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_FileInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_InputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_OutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_SubregionStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/streams/juce_URLInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_CompilerSupport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_PlatformDefs.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_StandardHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_SystemStats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/system/juce_TargetPlatform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Base64.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharacterFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_Identifier.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_LocalisedStrings.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_NewLine.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_String.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPairArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_StringRef.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/text/juce_TextDiff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_CriticalSection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_DynamicLibrary.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_InterProcessLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Process.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ReadWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedReadLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_SpinLock.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_Thread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_ThreadPool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_TimeSliceThread.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/threads/juce_WaitableEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_PerformanceCounter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_RelativeTime.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/time/juce_Time.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/unit_tests/juce_UnitTest.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/xml/juce_XmlElement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/adler32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/compress.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/crc32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/deflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/infback.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffast.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inffixed.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inflate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/inftrees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/trees.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/uncompr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zconf.in.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zlib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/zlib/zutil.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/zip/juce_ZipFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/juce_core.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_Primes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_MD5.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_SHA256.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_cryptography/juce_cryptography.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_CachedValue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_data_structures/values/juce_Value.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +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_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) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ActionListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/interprocess/juce_NetworkServiceDiscovery.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_ApplicationBase.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_CallbackMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Initialisation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_Message.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MessageManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/messages/juce_NotificationType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_android_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_ios_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_EventLoop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_linux_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_mac_MessageManager.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_osx_MessageQueue.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_Messaging.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/native/juce_win32_WinRTWrapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_MultiTimer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/timers/juce_Timer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_events/juce_events.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colour.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_ColourGradient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_Colours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_FillType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/colour/juce_PixelFormats.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_GlowEffect.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_AttributedString.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Font.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_TextLayout.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/fonts/juce_Typeface.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_BorderSize.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Line.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Parallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Path.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathIterator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/png.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Image.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageCache.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_linux_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_mac_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/native/juce_win32_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_Justification.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/juce_graphics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/application/juce_Application.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_Button.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_Component.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Desktop.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/desktop/juce_Displays.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ContentSharer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Grid.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridItem.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GridUnitTests.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_SidePanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/layout/juce_Viewport.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V4.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_BurgerMenuComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/misc/juce_JUCESplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_common_MimeTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_ContentSharer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Clipboard.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Label.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Slider.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/juce_gui_basics.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_PushNotifications.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_AndroidViewComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_X11_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_linux_XEmbedComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_PushNotifications.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Quaternion.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/geometry/juce_Vector3D.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_android.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_linux_X11.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.mm" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_opengl/juce_opengl.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCAddress.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCArgument.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCBundle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCMessage.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCReceiver.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCSender.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTimeTag.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/osc/juce_OSCTypes.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/juce_osc.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_osc/juce_osc.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/AppConfig.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/BinaryData.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) + +find_library(log "log") +find_library(android "android") +find_library(glesv2 "GLESv2") +find_library(egl "EGL") + +target_link_libraries( ${BINARY_NAME} + + ${log} + ${android} + ${glesv2} + ${egl} + "cpufeatures" +) diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle b/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle index 98a8bc1a..8d8d7bc7 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/build.gradle @@ -1,94 +1,103 @@ -apply plugin: 'com.android.application' - -android { - compileSdkVersion 10 - buildToolsVersion "28.0.0" - externalNativeBuild { - cmake { - path "CMakeLists.txt" - } - } - signingConfigs { - juceSigning { - storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") - storePassword "android" - keyAlias "androiddebugkey" - keyPassword "android" - storeType "jks" - } - } - - defaultConfig { - applicationId "com.juce.networkgraphicsdemo" - minSdkVersion 10 - targetSdkVersion 10 - externalNativeBuild { - cmake { - arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-10", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" - cFlags "-fsigned-char" - cppFlags "-fsigned-char", "-std=c++14" - } - } - } - - buildTypes { - debug { - initWith debug - debuggable true - jniDebuggable true - signingConfig signingConfigs.juceSigning - } - release { - initWith release - debuggable false - jniDebuggable false - signingConfig signingConfigs.juceSigning - } - } - - flavorDimensions "default" - productFlavors { - debug_ { - ndk { - abiFilters "armeabi-v7a", "x86" - } - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-Ofast", "-DCMAKE_C_FLAGS_DEBUG=-Ofast" - } - } - - dimension "default" - } - release_ { - externalNativeBuild { - cmake { - arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" - } - } - - dimension "default" - } - } - - variantFilter { variant -> - def names = variant.flavors*.name - if (names.contains ("debug_") - && variant.buildType.name != "debug") { - setIgnore(true) - } - if (names.contains ("release_") - && variant.buildType.name != "release") { - setIgnore(true) - } - } - -repositories { -} - -dependencies { -} - - -} - +apply plugin: 'com.android.application' + +android { + compileSdkVersion 28 + externalNativeBuild { + cmake { + path "CMakeLists.txt" + } + } + signingConfigs { + juceSigning { + storeFile file("${System.properties['user.home']}${File.separator}.android${File.separator}debug.keystore") + storePassword "android" + keyAlias "androiddebugkey" + keyPassword "android" + storeType "jks" + } + } + + defaultConfig { + applicationId "com.juce.networkgraphicsdemo" + minSdkVersion 16 + targetSdkVersion 28 + externalNativeBuild { + cmake { + arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-16", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE" + cFlags "-fsigned-char" + cppFlags "-fsigned-char", "-std=c++14" + } + } + } + + buildTypes { + debug { + initWith debug + debuggable true + jniDebuggable true + signingConfig signingConfigs.juceSigning + } + release { + initWith release + debuggable false + jniDebuggable false + signingConfig signingConfigs.juceSigning + } + } + + flavorDimensions "default" + productFlavors { + debug_ { + ndk { + abiFilters "armeabi-v7a", "x86" + } + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=DEBUG", "-DCMAKE_CXX_FLAGS_DEBUG=-Ofast", "-DCMAKE_C_FLAGS_DEBUG=-Ofast" + } + } + + dimension "default" + } + release_ { + externalNativeBuild { + cmake { + arguments "-DJUCE_BUILD_CONFIGURATION=RELEASE", "-DCMAKE_CXX_FLAGS_RELEASE=-O3", "-DCMAKE_C_FLAGS_RELEASE=-O3" + } + } + + dimension "default" + } + } + + variantFilter { variant -> + def names = variant.flavors*.name + if (names.contains ("debug_") + && variant.buildType.name != "debug") { + setIgnore(true) + } + if (names.contains ("release_") + && variant.buildType.name != "release") { + setIgnore(true) + } + } + + sourceSets { + main.java.srcDirs += + ["../../../../../modules/juce_core/native/javacore/init", + "../../../../../modules/juce_core/native/javacore/app", + "../../../../../modules/juce_gui_basics/native/javacore/app"] + + main.res.srcDirs += + [] + } + + repositories { + } + + dependencies { + } + + +} + diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml b/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml index 4c8c56ab..ddb9f1db 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + package="com.juce.NetworkGraphicsDemo"> @@ -10,9 +10,9 @@ - - + + diff --git a/extras/NetworkGraphicsDemo/Builds/Android/build.gradle b/extras/NetworkGraphicsDemo/Builds/Android/build.gradle index 647f509e..2df9a8e7 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/build.gradle +++ b/extras/NetworkGraphicsDemo/Builds/Android/build.gradle @@ -1,16 +1,16 @@ -buildscript { - repositories { - google() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} +buildscript { + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:3.2.1' + } +} + +allprojects { + repositories { + google() + jcenter() + } +} diff --git a/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties b/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties index d384d28f..b460908d 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties +++ b/extras/NetworkGraphicsDemo/Builds/Android/gradle/wrapper/gradle-wrapper.properties @@ -1 +1 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip \ No newline at end of file diff --git a/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile b/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile index 849e181c..f1408d02 100644 --- a/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile +++ b/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile @@ -1,189 +1,189 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -# build with "V=1" for verbose builds -ifeq ($(V), 1) -V_AT = -else -V_AT = @ -endif - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef STRIP - STRIP=strip -endif - -ifndef AR - AR=ar -endif - -ifndef CONFIG - CONFIG=Debug -endif - -JUCE_ARCH_LABEL := $(shell uname -m) - -ifeq ($(CONFIG),Debug) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Debug - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +# build with "V=1" for verbose builds +ifeq ($(V), 1) +V_AT = +else +V_AT = @ +endif + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + +ifndef CONFIG + CONFIG=Debug +endif + +JUCE_ARCH_LABEL := $(shell uname -m) + +ifeq ($(CONFIG),Debug) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -ifeq ($(CONFIG),Release) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Release - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_TARGET_APP := JUCE\ Network\ Graphics\ Demo + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +ifeq ($(CONFIG),Release) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -OBJECTS_APP := \ - $(JUCE_OBJDIR)/Main_90ebc5c2.o \ - $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ - $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ - $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ - $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ - $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ - $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ - $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ - $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ - $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ - $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ - $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ - $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ - $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ - $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ - $(JUCE_OBJDIR)/include_juce_osc_f3df604d.o \ - -.PHONY: clean all strip - -all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) - -$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl - @echo Linking "NetworkGraphicsDemo - App" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) - -$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling Main.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling BinaryData.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_devices.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_formats.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_processors.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_utils.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_core.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_cryptography.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_data_structures.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_events.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_graphics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_extra.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_opengl.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_osc_f3df604d.o: ../../JuceLibraryCode/include_juce_osc.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_osc.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -clean: - @echo Cleaning NetworkGraphicsDemo - $(V_AT)$(CLEANCMD) - -strip: - @echo Stripping NetworkGraphicsDemo - -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) - --include $(OBJECTS_APP:%.o=%.d) + JUCE_TARGET_APP := JUCE\ Network\ Graphics\ Demo + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +OBJECTS_APP := \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ + $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ + $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ + $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ + $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ + $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ + $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ + $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ + $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ + $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ + $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ + $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ + $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ + $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ + $(JUCE_OBJDIR)/include_juce_osc_f3df604d.o \ + +.PHONY: clean all strip + +all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) + +$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl + @echo Linking "NetworkGraphicsDemo - App" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) + -$(V_AT)mkdir -p $(JUCE_OUTDIR) + $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) + +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling Main.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling BinaryData.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_devices.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_formats.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_processors.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_utils.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_core.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_cryptography.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_data_structures.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_events.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_graphics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_extra.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_opengl.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_osc_f3df604d.o: ../../JuceLibraryCode/include_juce_osc.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_osc.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +clean: + @echo Cleaning NetworkGraphicsDemo + $(V_AT)$(CLEANCMD) + +strip: + @echo Stripping NetworkGraphicsDemo + -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) + +-include $(OBJECTS_APP:%.o=%.d) diff --git a/extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj index 005ce490..06e6a2a2 100644 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj @@ -151,15 +151,6 @@ true - - true - - - true - - - true - true @@ -232,6 +223,15 @@ true + + true + + + true + + + true + true @@ -523,6 +523,9 @@ true + + true + true @@ -739,6 +742,9 @@ true + + true + true @@ -985,6 +991,9 @@ true + + true + true @@ -1921,12 +1930,6 @@ - - - - - - @@ -1954,6 +1957,13 @@ + + + + + + + @@ -2091,6 +2101,7 @@ + @@ -2106,8 +2117,11 @@ + + + @@ -2119,6 +2133,7 @@ + @@ -2614,6 +2629,7 @@ + diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters index 438ae13e..1113fe87 100644 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2013/NetworkGraphicsDemo_App.vcxproj.filters @@ -14,9 +14,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -32,6 +29,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -200,6 +200,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -430,15 +433,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -511,6 +505,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -811,6 +814,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1048,6 +1054,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1315,6 +1324,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2367,24 +2379,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2466,6 +2460,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -2877,6 +2892,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -2922,12 +2940,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -2961,6 +2988,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -4442,6 +4472,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj index 8b3cbb1c..bb103ca6 100644 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj @@ -151,15 +151,6 @@ true - - true - - - true - - - true - true @@ -232,6 +223,15 @@ true + + true + + + true + + + true + true @@ -523,6 +523,9 @@ true + + true + true @@ -739,6 +742,9 @@ true + + true + true @@ -985,6 +991,9 @@ true + + true + true @@ -1921,12 +1930,6 @@ - - - - - - @@ -1954,6 +1957,13 @@ + + + + + + + @@ -2091,6 +2101,7 @@ + @@ -2106,8 +2117,11 @@ + + + @@ -2119,6 +2133,7 @@ + @@ -2614,6 +2629,7 @@ + diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters index 256331ba..520ec868 100644 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2017/NetworkGraphicsDemo_App.vcxproj.filters @@ -14,9 +14,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -32,6 +29,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -200,6 +200,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -430,15 +433,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -511,6 +505,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -811,6 +814,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1048,6 +1054,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1315,6 +1324,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2367,24 +2379,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2466,6 +2460,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -2877,6 +2892,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -2922,12 +2940,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -2961,6 +2988,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -4442,6 +4472,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist b/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist index 4a6f2d1f..72c9f8a7 100644 --- a/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist +++ b/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist @@ -7,6 +7,8 @@ UIViewControllerBasedStatusBarAppearance + UILaunchStoryboardName + LaunchScreen CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/extras/NetworkGraphicsDemo/Builds/iOS/LaunchScreen.storyboard b/extras/NetworkGraphicsDemo/Builds/iOS/LaunchScreen.storyboard new file mode 100644 index 00000000..ce0d6fd7 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Builds/iOS/LaunchScreen.storyboard @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj b/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj index 20747ce3..b10a7654 100644 --- a/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj +++ b/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj @@ -69,6 +69,10 @@ isa = PBXBuildFile; fileRef = 5273768FBB55D0DD57A5E70C; }; + D832165EE981EF309D4B21BF = { + isa = PBXBuildFile; + fileRef = 9D2DAC7D0C9DB77CB83E2992; + }; 006DF460F8DF66EFFA80D968 = { isa = PBXBuildFile; fileRef = 70F1CAF3C4C561DD81E6AFC1; @@ -389,6 +393,13 @@ path = "../../../../modules/juce_gui_extra"; sourceTree = "SOURCE_ROOT"; }; + 9D2DAC7D0C9DB77CB83E2992 = { + isa = PBXFileReference; + lastKnownFileType = file.storyboard; + name = LaunchScreen.storyboard; + path = LaunchScreen.storyboard; + sourceTree = "SOURCE_ROOT"; + }; 9E8129263CD42C6029FC2CAD = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; @@ -601,6 +612,7 @@ children = ( 1FD6DBAC73414DD4C152E34E, 5273768FBB55D0DD57A5E70C, + 9D2DAC7D0C9DB77CB83E2992, 70F1CAF3C4C561DD81E6AFC1, ); name = Resources; @@ -861,6 +873,7 @@ buildActionMask = 2147483647; files = ( 1282A62308CD1AC3F88A5D03, + D832165EE981EF309D4B21BF, 006DF460F8DF66EFFA80D968, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer b/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer index f36f7308..79deb263 100644 --- a/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer +++ b/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer @@ -1,7 +1,7 @@ diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile index e6ccf207..4eb662e5 100644 --- a/extras/Projucer/Builds/LinuxMakefile/Makefile +++ b/extras/Projucer/Builds/LinuxMakefile/Makefile @@ -1,459 +1,459 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -# build with "V=1" for verbose builds -ifeq ($(V), 1) -V_AT = -else -V_AT = @ -endif - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef STRIP - STRIP=strip -endif - -ifndef AR - AR=ar -endif - -ifndef CONFIG - CONFIG=Debug -endif - -JUCE_ARCH_LABEL := $(shell uname -m) - -ifeq ($(CONFIG),Debug) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Debug - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.1 -DJUCE_APP_VERSION_HEX=0x50401 $(shell pkg-config --cflags freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +# build with "V=1" for verbose builds +ifeq ($(V), 1) +V_AT = +else +V_AT = @ +endif + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + +ifndef CONFIG + CONFIG=Debug +endif + +JUCE_ARCH_LABEL := $(shell uname -m) + +ifeq ($(CONFIG),Debug) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.2 -DJUCE_APP_VERSION_HEX=0x50402 $(shell pkg-config --cflags freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 := Projucer - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -ifeq ($(CONFIG),Release) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Release - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.1 -DJUCE_APP_VERSION_HEX=0x50401 $(shell pkg-config --cflags freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_TARGET_APP := Projucer + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +ifeq ($(CONFIG),Release) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.2 -DJUCE_APP_VERSION_HEX=0x50402 $(shell pkg-config --cflags freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -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 := Projucer - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -OBJECTS_APP := \ - $(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o \ - $(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o \ - $(JUCE_OBJDIR)/jucer_Main_f8488f5b.o \ - $(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o \ - $(JUCE_OBJDIR)/jucer_ProjucerAnalytics_5740f336.o \ - $(JUCE_OBJDIR)/jucer_DocumentEditorComponent_bc853a2f.o \ - $(JUCE_OBJDIR)/jucer_OpenDocumentManager_ba866622.o \ - $(JUCE_OBJDIR)/jucer_SourceCodeEditor_55965985.o \ - $(JUCE_OBJDIR)/jucer_ComponentTypeHandler_d7e70242.o \ - $(JUCE_OBJDIR)/jucer_ButtonDocument_b2cabdec.o \ - $(JUCE_OBJDIR)/jucer_ComponentDocument_1d8c1063.o \ - $(JUCE_OBJDIR)/jucer_ColouredElement_acb45c39.o \ - $(JUCE_OBJDIR)/jucer_PaintElement_db652060.o \ - $(JUCE_OBJDIR)/jucer_PaintElementGroup_256346c9.o \ - $(JUCE_OBJDIR)/jucer_PaintElementImage_49702ba5.o \ - $(JUCE_OBJDIR)/jucer_PaintElementPath_d1b280a5.o \ - $(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_4fc44b8d.o \ - $(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_5e028963.o \ - $(JUCE_OBJDIR)/jucer_EditingPanelBase_28115dee.o \ - $(JUCE_OBJDIR)/jucer_JucerDocumentEditor_89371a26.o \ - $(JUCE_OBJDIR)/jucer_PaintRoutineEditor_43fd8744.o \ - $(JUCE_OBJDIR)/jucer_PaintRoutinePanel_83779cd7.o \ - $(JUCE_OBJDIR)/jucer_ResourceEditorPanel_237eee2.o \ - $(JUCE_OBJDIR)/jucer_TestComponent_1a4179c4.o \ - $(JUCE_OBJDIR)/jucer_BinaryResources_e0f99b46.o \ - $(JUCE_OBJDIR)/jucer_ComponentLayout_6ea00129.o \ - $(JUCE_OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o \ - $(JUCE_OBJDIR)/jucer_JucerDocument_ff8afcc2.o \ - $(JUCE_OBJDIR)/jucer_ObjectTypes_4406f01c.o \ - $(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o \ - $(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o \ - $(JUCE_OBJDIR)/jucer_CompileEngineClient_aee8c99c.o \ - $(JUCE_OBJDIR)/jucer_CompileEngineServer_5d8914.o \ - $(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_19bb4bb3.o \ - $(JUCE_OBJDIR)/jucer_HeaderComponent_1ebf72ba.o \ - $(JUCE_OBJDIR)/jucer_Module_3f7666a5.o \ - $(JUCE_OBJDIR)/jucer_Project_c131864a.o \ - $(JUCE_OBJDIR)/jucer_ProjectExporter_cf377b25.o \ - $(JUCE_OBJDIR)/jucer_ProjectSaver_4276639b.o \ - $(JUCE_OBJDIR)/jucer_ResourceFile_74b61849.o \ - $(JUCE_OBJDIR)/jucer_AppearanceSettings_fa5d736e.o \ - $(JUCE_OBJDIR)/jucer_StoredSettings_c7168d2d.o \ - $(JUCE_OBJDIR)/jucer_CodeHelpers_1e797672.o \ - $(JUCE_OBJDIR)/jucer_FileHelpers_54f12f83.o \ - $(JUCE_OBJDIR)/jucer_MiscUtilities_31fc8dd8.o \ - $(JUCE_OBJDIR)/jucer_PIPGenerator_fd3402c7.o \ - $(JUCE_OBJDIR)/jucer_Icons_d02d18f1.o \ - $(JUCE_OBJDIR)/jucer_JucerTreeViewBase_9b9f2ff0.o \ - $(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_3b20291d.o \ - $(JUCE_OBJDIR)/jucer_SlidingPanelComponent_4e7dc07e.o \ - $(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o \ - $(JUCE_OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o \ - $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ - $(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o \ - $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ - $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ - $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ - $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ - $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ - $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ - $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ - -.PHONY: clean all strip - -all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) - -$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl - @echo Linking "Projucer - App" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) - -$(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o: ../../Source/Application/jucer_AutoUpdater.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_AutoUpdater.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_CommandLine.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_CommandLine.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_Main_f8488f5b.o: ../../Source/Application/jucer_Main.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_Main.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o: ../../Source/Application/jucer_MainWindow.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_MainWindow.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ProjucerAnalytics_5740f336.o: ../../Source/Application/jucer_ProjucerAnalytics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ProjucerAnalytics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_DocumentEditorComponent_bc853a2f.o: ../../Source/CodeEditor/jucer_DocumentEditorComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_DocumentEditorComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_OpenDocumentManager_ba866622.o: ../../Source/CodeEditor/jucer_OpenDocumentManager.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_OpenDocumentManager.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_SourceCodeEditor_55965985.o: ../../Source/CodeEditor/jucer_SourceCodeEditor.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_SourceCodeEditor.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ComponentTypeHandler_d7e70242.o: ../../Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ComponentTypeHandler.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ButtonDocument_b2cabdec.o: ../../Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ButtonDocument.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ComponentDocument_1d8c1063.o: ../../Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ComponentDocument.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ColouredElement_acb45c39.o: ../../Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ColouredElement.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PaintElement_db652060.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PaintElement.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PaintElementGroup_256346c9.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PaintElementGroup.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PaintElementImage_49702ba5.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElementImage.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PaintElementImage.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PaintElementPath_d1b280a5.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PaintElementPath.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_4fc44b8d.o: ../../Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ComponentLayoutEditor.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_5e028963.o: ../../Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ComponentOverlayComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_EditingPanelBase_28115dee.o: ../../Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_EditingPanelBase.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_JucerDocumentEditor_89371a26.o: ../../Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_JucerDocumentEditor.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PaintRoutineEditor_43fd8744.o: ../../Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PaintRoutineEditor.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PaintRoutinePanel_83779cd7.o: ../../Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PaintRoutinePanel.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ResourceEditorPanel_237eee2.o: ../../Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ResourceEditorPanel.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_TestComponent_1a4179c4.o: ../../Source/ComponentEditor/UI/jucer_TestComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_TestComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_BinaryResources_e0f99b46.o: ../../Source/ComponentEditor/jucer_BinaryResources.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_BinaryResources.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ComponentLayout_6ea00129.o: ../../Source/ComponentEditor/jucer_ComponentLayout.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ComponentLayout.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o: ../../Source/ComponentEditor/jucer_GeneratedCode.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_GeneratedCode.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_JucerDocument_ff8afcc2.o: ../../Source/ComponentEditor/jucer_JucerDocument.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_JucerDocument.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ObjectTypes_4406f01c.o: ../../Source/ComponentEditor/jucer_ObjectTypes.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ObjectTypes.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o: ../../Source/ComponentEditor/jucer_PaintRoutine.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PaintRoutine.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o: ../../Source/Licenses/jucer_LicenseController.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_LicenseController.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_CompileEngineClient_aee8c99c.o: ../../Source/LiveBuildEngine/jucer_CompileEngineClient.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_CompileEngineClient.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_CompileEngineServer_5d8914.o: ../../Source/LiveBuildEngine/jucer_CompileEngineServer.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_CompileEngineServer.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_19bb4bb3.o: ../../Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_DownloadCompileEngineThread.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_HeaderComponent_1ebf72ba.o: ../../Source/Project/UI/jucer_HeaderComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_HeaderComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_Module_3f7666a5.o: ../../Source/Project/jucer_Module.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_Module.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_Project_c131864a.o: ../../Source/Project/jucer_Project.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_Project.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ProjectExporter_cf377b25.o: ../../Source/ProjectSaving/jucer_ProjectExporter.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ProjectExporter.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ProjectSaver_4276639b.o: ../../Source/ProjectSaving/jucer_ProjectSaver.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ProjectSaver.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ResourceFile_74b61849.o: ../../Source/ProjectSaving/jucer_ResourceFile.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ResourceFile.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_AppearanceSettings_fa5d736e.o: ../../Source/Settings/jucer_AppearanceSettings.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_AppearanceSettings.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_StoredSettings_c7168d2d.o: ../../Source/Settings/jucer_StoredSettings.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_StoredSettings.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_CodeHelpers_1e797672.o: ../../Source/Utility/Helpers/jucer_CodeHelpers.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_CodeHelpers.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_FileHelpers_54f12f83.o: ../../Source/Utility/Helpers/jucer_FileHelpers.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_FileHelpers.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_MiscUtilities_31fc8dd8.o: ../../Source/Utility/Helpers/jucer_MiscUtilities.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_MiscUtilities.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_PIPGenerator_fd3402c7.o: ../../Source/Utility/PIPs/jucer_PIPGenerator.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_PIPGenerator.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_Icons_d02d18f1.o: ../../Source/Utility/UI/jucer_Icons.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_Icons.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_JucerTreeViewBase_9b9f2ff0.o: ../../Source/Utility/UI/jucer_JucerTreeViewBase.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_JucerTreeViewBase.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_3b20291d.o: ../../Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_ProjucerLookAndFeel.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_SlidingPanelComponent_4e7dc07e.o: ../../Source/Utility/UI/jucer_SlidingPanelComponent.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_SlidingPanelComponent.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o: ../../Source/Wizards/jucer_NewFileWizard.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_NewFileWizard.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o: ../../Source/Wizards/jucer_NewProjectWizardClasses.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling jucer_NewProjectWizardClasses.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling BinaryData.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o: ../../JuceLibraryCode/include_juce_analytics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_analytics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_core.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_cryptography.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_data_structures.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_events.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_graphics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_extra.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" - -clean: - @echo Cleaning Projucer - $(V_AT)$(CLEANCMD) - -strip: - @echo Stripping Projucer - -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) - --include $(OBJECTS_APP:%.o=%.d) + JUCE_TARGET_APP := Projucer + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +OBJECTS_APP := \ + $(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o \ + $(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o \ + $(JUCE_OBJDIR)/jucer_Main_f8488f5b.o \ + $(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o \ + $(JUCE_OBJDIR)/jucer_ProjucerAnalytics_5740f336.o \ + $(JUCE_OBJDIR)/jucer_DocumentEditorComponent_bc853a2f.o \ + $(JUCE_OBJDIR)/jucer_OpenDocumentManager_ba866622.o \ + $(JUCE_OBJDIR)/jucer_SourceCodeEditor_55965985.o \ + $(JUCE_OBJDIR)/jucer_ComponentTypeHandler_d7e70242.o \ + $(JUCE_OBJDIR)/jucer_ButtonDocument_b2cabdec.o \ + $(JUCE_OBJDIR)/jucer_ComponentDocument_1d8c1063.o \ + $(JUCE_OBJDIR)/jucer_ColouredElement_acb45c39.o \ + $(JUCE_OBJDIR)/jucer_PaintElement_db652060.o \ + $(JUCE_OBJDIR)/jucer_PaintElementGroup_256346c9.o \ + $(JUCE_OBJDIR)/jucer_PaintElementImage_49702ba5.o \ + $(JUCE_OBJDIR)/jucer_PaintElementPath_d1b280a5.o \ + $(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_4fc44b8d.o \ + $(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_5e028963.o \ + $(JUCE_OBJDIR)/jucer_EditingPanelBase_28115dee.o \ + $(JUCE_OBJDIR)/jucer_JucerDocumentEditor_89371a26.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutineEditor_43fd8744.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutinePanel_83779cd7.o \ + $(JUCE_OBJDIR)/jucer_ResourceEditorPanel_237eee2.o \ + $(JUCE_OBJDIR)/jucer_TestComponent_1a4179c4.o \ + $(JUCE_OBJDIR)/jucer_BinaryResources_e0f99b46.o \ + $(JUCE_OBJDIR)/jucer_ComponentLayout_6ea00129.o \ + $(JUCE_OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o \ + $(JUCE_OBJDIR)/jucer_JucerDocument_ff8afcc2.o \ + $(JUCE_OBJDIR)/jucer_ObjectTypes_4406f01c.o \ + $(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o \ + $(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o \ + $(JUCE_OBJDIR)/jucer_CompileEngineClient_aee8c99c.o \ + $(JUCE_OBJDIR)/jucer_CompileEngineServer_5d8914.o \ + $(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_19bb4bb3.o \ + $(JUCE_OBJDIR)/jucer_HeaderComponent_1ebf72ba.o \ + $(JUCE_OBJDIR)/jucer_Module_3f7666a5.o \ + $(JUCE_OBJDIR)/jucer_Project_c131864a.o \ + $(JUCE_OBJDIR)/jucer_ProjectExporter_cf377b25.o \ + $(JUCE_OBJDIR)/jucer_ProjectSaver_4276639b.o \ + $(JUCE_OBJDIR)/jucer_ResourceFile_74b61849.o \ + $(JUCE_OBJDIR)/jucer_AppearanceSettings_fa5d736e.o \ + $(JUCE_OBJDIR)/jucer_StoredSettings_c7168d2d.o \ + $(JUCE_OBJDIR)/jucer_CodeHelpers_1e797672.o \ + $(JUCE_OBJDIR)/jucer_FileHelpers_54f12f83.o \ + $(JUCE_OBJDIR)/jucer_MiscUtilities_31fc8dd8.o \ + $(JUCE_OBJDIR)/jucer_PIPGenerator_fd3402c7.o \ + $(JUCE_OBJDIR)/jucer_Icons_d02d18f1.o \ + $(JUCE_OBJDIR)/jucer_JucerTreeViewBase_9b9f2ff0.o \ + $(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_3b20291d.o \ + $(JUCE_OBJDIR)/jucer_SlidingPanelComponent_4e7dc07e.o \ + $(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o \ + $(JUCE_OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o \ + $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ + $(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o \ + $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ + $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ + $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ + $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ + $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ + $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ + $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ + +.PHONY: clean all strip + +all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) + +$(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl + @echo Linking "Projucer - App" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) + -$(V_AT)mkdir -p $(JUCE_OUTDIR) + $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) $(OBJECTS_APP) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_APP) $(RESOURCES) $(TARGET_ARCH) + +$(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o: ../../Source/Application/jucer_AutoUpdater.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_AutoUpdater.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o: ../../Source/Application/jucer_CommandLine.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_CommandLine.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_Main_f8488f5b.o: ../../Source/Application/jucer_Main.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_Main.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o: ../../Source/Application/jucer_MainWindow.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_MainWindow.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ProjucerAnalytics_5740f336.o: ../../Source/Application/jucer_ProjucerAnalytics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ProjucerAnalytics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_DocumentEditorComponent_bc853a2f.o: ../../Source/CodeEditor/jucer_DocumentEditorComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_DocumentEditorComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_OpenDocumentManager_ba866622.o: ../../Source/CodeEditor/jucer_OpenDocumentManager.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_OpenDocumentManager.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_SourceCodeEditor_55965985.o: ../../Source/CodeEditor/jucer_SourceCodeEditor.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_SourceCodeEditor.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ComponentTypeHandler_d7e70242.o: ../../Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ComponentTypeHandler.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ButtonDocument_b2cabdec.o: ../../Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ButtonDocument.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ComponentDocument_1d8c1063.o: ../../Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ComponentDocument.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ColouredElement_acb45c39.o: ../../Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ColouredElement.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PaintElement_db652060.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PaintElement.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PaintElementGroup_256346c9.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PaintElementGroup.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PaintElementImage_49702ba5.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElementImage.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PaintElementImage.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PaintElementPath_d1b280a5.o: ../../Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PaintElementPath.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ComponentLayoutEditor_4fc44b8d.o: ../../Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ComponentLayoutEditor.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ComponentOverlayComponent_5e028963.o: ../../Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ComponentOverlayComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_EditingPanelBase_28115dee.o: ../../Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_EditingPanelBase.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_JucerDocumentEditor_89371a26.o: ../../Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_JucerDocumentEditor.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PaintRoutineEditor_43fd8744.o: ../../Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PaintRoutineEditor.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PaintRoutinePanel_83779cd7.o: ../../Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PaintRoutinePanel.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ResourceEditorPanel_237eee2.o: ../../Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ResourceEditorPanel.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_TestComponent_1a4179c4.o: ../../Source/ComponentEditor/UI/jucer_TestComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_TestComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_BinaryResources_e0f99b46.o: ../../Source/ComponentEditor/jucer_BinaryResources.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_BinaryResources.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ComponentLayout_6ea00129.o: ../../Source/ComponentEditor/jucer_ComponentLayout.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ComponentLayout.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_GeneratedCode_9ca4ef7e.o: ../../Source/ComponentEditor/jucer_GeneratedCode.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_GeneratedCode.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_JucerDocument_ff8afcc2.o: ../../Source/ComponentEditor/jucer_JucerDocument.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_JucerDocument.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ObjectTypes_4406f01c.o: ../../Source/ComponentEditor/jucer_ObjectTypes.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ObjectTypes.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PaintRoutine_e1e891ee.o: ../../Source/ComponentEditor/jucer_PaintRoutine.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PaintRoutine.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_LicenseController_9abff0cf.o: ../../Source/Licenses/jucer_LicenseController.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_LicenseController.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_CompileEngineClient_aee8c99c.o: ../../Source/LiveBuildEngine/jucer_CompileEngineClient.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_CompileEngineClient.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_CompileEngineServer_5d8914.o: ../../Source/LiveBuildEngine/jucer_CompileEngineServer.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_CompileEngineServer.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_19bb4bb3.o: ../../Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_DownloadCompileEngineThread.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_HeaderComponent_1ebf72ba.o: ../../Source/Project/UI/jucer_HeaderComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_HeaderComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_Module_3f7666a5.o: ../../Source/Project/jucer_Module.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_Module.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_Project_c131864a.o: ../../Source/Project/jucer_Project.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_Project.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ProjectExporter_cf377b25.o: ../../Source/ProjectSaving/jucer_ProjectExporter.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ProjectExporter.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ProjectSaver_4276639b.o: ../../Source/ProjectSaving/jucer_ProjectSaver.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ProjectSaver.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ResourceFile_74b61849.o: ../../Source/ProjectSaving/jucer_ResourceFile.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ResourceFile.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_AppearanceSettings_fa5d736e.o: ../../Source/Settings/jucer_AppearanceSettings.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_AppearanceSettings.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_StoredSettings_c7168d2d.o: ../../Source/Settings/jucer_StoredSettings.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_StoredSettings.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_CodeHelpers_1e797672.o: ../../Source/Utility/Helpers/jucer_CodeHelpers.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_CodeHelpers.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_FileHelpers_54f12f83.o: ../../Source/Utility/Helpers/jucer_FileHelpers.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_FileHelpers.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_MiscUtilities_31fc8dd8.o: ../../Source/Utility/Helpers/jucer_MiscUtilities.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_MiscUtilities.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_PIPGenerator_fd3402c7.o: ../../Source/Utility/PIPs/jucer_PIPGenerator.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_PIPGenerator.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_Icons_d02d18f1.o: ../../Source/Utility/UI/jucer_Icons.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_Icons.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_JucerTreeViewBase_9b9f2ff0.o: ../../Source/Utility/UI/jucer_JucerTreeViewBase.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_JucerTreeViewBase.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_ProjucerLookAndFeel_3b20291d.o: ../../Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_ProjucerLookAndFeel.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_SlidingPanelComponent_4e7dc07e.o: ../../Source/Utility/UI/jucer_SlidingPanelComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_SlidingPanelComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_NewFileWizard_fac97f47.o: ../../Source/Wizards/jucer_NewFileWizard.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_NewFileWizard.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/jucer_NewProjectWizardClasses_891f6fa2.o: ../../Source/Wizards/jucer_NewProjectWizardClasses.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling jucer_NewProjectWizardClasses.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling BinaryData.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o: ../../JuceLibraryCode/include_juce_analytics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_analytics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_core.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_cryptography.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_data_structures.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_events.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_graphics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_extra.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + +clean: + @echo Cleaning Projucer + $(V_AT)$(CLEANCMD) + +strip: + @echo Stripping Projucer + -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) + +-include $(OBJECTS_APP:%.o=%.d) diff --git a/extras/Projucer/Builds/MacOSX/Info-App.plist b/extras/Projucer/Builds/MacOSX/Info-App.plist index 549d2dd3..8a280739 100644 --- a/extras/Projucer/Builds/MacOSX/Info-App.plist +++ b/extras/Projucer/Builds/MacOSX/Info-App.plist @@ -33,9 +33,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 5.4.1 + 5.4.2 CFBundleVersion - 5.4.1 + 5.4.2 NSHumanReadableCopyright ROLI Ltd. NSHighResolutionCapable diff --git a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj index 1ba4455c..f3350050 100644 --- a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj +++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj @@ -3207,8 +3207,8 @@ "_DEBUG=1", "DEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=5.4.1", - "JUCE_APP_VERSION_HEX=0x50401", + "JUCE_APP_VERSION=5.4.2", + "JUCE_APP_VERSION_HEX=0x50402", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -3228,7 +3228,7 @@ INFOPLIST_PREPROCESS = NO; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.11; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wno-missing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wno-ignored-qualifiers -Wunreachable-code -Wzero-as-null-pointer-constant"; + OTHER_CPLUSPLUSFLAGS = "-Wall -Wno-missing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wno-ignored-qualifiers -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wundefined-func-template -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer; PRODUCT_NAME = "Projucer"; USE_HEADERMAP = NO; @@ -3250,8 +3250,8 @@ "_NDEBUG=1", "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=5.4.1", - "JUCE_APP_VERSION_HEX=0x50401", + "JUCE_APP_VERSION=5.4.2", + "JUCE_APP_VERSION_HEX=0x50402", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -3273,7 +3273,7 @@ INSTALL_PATH = "$(HOME)/Applications"; LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.11; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wno-missing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wno-ignored-qualifiers -Wunreachable-code -Wzero-as-null-pointer-constant"; + OTHER_CPLUSPLUSFLAGS = "-Wall -Wno-missing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wno-ignored-qualifiers -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wundefined-func-template -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer; PRODUCT_NAME = "Projucer"; USE_HEADERMAP = NO; diff --git a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj index e799256f..9ae4b536 100644 --- a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDebugDLL true @@ -105,7 +105,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreaded true @@ -346,6 +346,9 @@ true + + true + true @@ -592,6 +595,9 @@ true + + true + true @@ -2087,6 +2093,7 @@ + diff --git a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters index 80e1150c..18c185f1 100644 --- a/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2013/Projucer_App.vcxproj.filters @@ -116,6 +116,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -622,6 +625,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -889,6 +895,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -3725,6 +3734,9 @@ Projucer\BinaryData + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/Projucer/Builds/VisualStudio2013/resources.rc b/extras/Projucer/Builds/VisualStudio2013/resources.rc index 7b50854b..8e93e51b 100644 --- a/extras/Projucer/Builds/VisualStudio2013/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2013/resources.rc @@ -7,7 +7,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 5,4,1,0 +FILEVERSION 5,4,2,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -16,9 +16,9 @@ BEGIN VALUE "CompanyName", "ROLI Ltd.\0" VALUE "LegalCopyright", "ROLI Ltd.\0" VALUE "FileDescription", "Projucer\0" - VALUE "FileVersion", "5.4.1\0" + VALUE "FileVersion", "5.4.2\0" VALUE "ProductName", "Projucer\0" - VALUE "ProductVersion", "5.4.1\0" + VALUE "ProductVersion", "5.4.2\0" END END diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj index c8c28467..8905e3ef 100644 --- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDebugDLL true @@ -105,7 +105,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreaded true @@ -346,6 +346,9 @@ true + + true + true @@ -592,6 +595,9 @@ true + + true + true @@ -2087,6 +2093,7 @@ + diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters index 99cfe492..a9ef4daf 100644 --- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters @@ -116,6 +116,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -622,6 +625,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -889,6 +895,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -3725,6 +3734,9 @@ Projucer\BinaryData + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/Projucer/Builds/VisualStudio2015/resources.rc b/extras/Projucer/Builds/VisualStudio2015/resources.rc index 7b50854b..8e93e51b 100644 --- a/extras/Projucer/Builds/VisualStudio2015/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2015/resources.rc @@ -7,7 +7,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 5,4,1,0 +FILEVERSION 5,4,2,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -16,9 +16,9 @@ BEGIN VALUE "CompanyName", "ROLI Ltd.\0" VALUE "LegalCopyright", "ROLI Ltd.\0" VALUE "FileDescription", "Projucer\0" - VALUE "FileVersion", "5.4.1\0" + VALUE "FileVersion", "5.4.2\0" VALUE "ProductName", "Projucer\0" - VALUE "ProductVersion", "5.4.1\0" + VALUE "ProductVersion", "5.4.2\0" END END diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj index ee6af073..b58e36c2 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreadedDebug true @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.1;JUCE_APP_VERSION_HEX=0x50401;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) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=5.4.2;JUCE_APP_VERSION_HEX=0x50402;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) MultiThreaded true @@ -348,6 +348,9 @@ true + + true + true @@ -594,6 +597,9 @@ true + + true + true @@ -2089,6 +2095,7 @@ + diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters index db33f63e..f71a483e 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters @@ -116,6 +116,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -622,6 +625,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -889,6 +895,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -3725,6 +3734,9 @@ Projucer\BinaryData + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/Projucer/Builds/VisualStudio2017/resources.rc b/extras/Projucer/Builds/VisualStudio2017/resources.rc index 7b50854b..8e93e51b 100644 --- a/extras/Projucer/Builds/VisualStudio2017/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2017/resources.rc @@ -7,7 +7,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 5,4,1,0 +FILEVERSION 5,4,2,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -16,9 +16,9 @@ BEGIN VALUE "CompanyName", "ROLI Ltd.\0" VALUE "LegalCopyright", "ROLI Ltd.\0" VALUE "FileDescription", "Projucer\0" - VALUE "FileVersion", "5.4.1\0" + VALUE "FileVersion", "5.4.2\0" VALUE "ProductName", "Projucer\0" - VALUE "ProductVersion", "5.4.1\0" + VALUE "ProductVersion", "5.4.2\0" END END diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.cpp b/extras/Projucer/JuceLibraryCode/BinaryData.cpp index 0f576564..3e796feb 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.cpp +++ b/extras/Projucer/JuceLibraryCode/BinaryData.cpp @@ -5514,8 +5514,18 @@ static const unsigned char temp_binary_data_27[] = " // you add any child components.\r\n" " setSize (800, 600);\r\n" "\r\n" -" // specify the number of input and output channels that we want to open\r\n" -" setAudioChannels (2, 2);\r\n" +" // Some platforms require permissions to open input channels so request that here\r\n" +" if (RuntimePermissions::isRequired (RuntimePermissions::recordAudio)\r\n" +" && ! RuntimePermissions::isGranted (RuntimePermissions::recordAudio))\r\n" +" {\r\n" +" RuntimePermissions::request (RuntimePermissions::recordAudio,\r\n" +" [&] (bool granted) { if (granted) setAudioChannels (2, 2); });\r\n" +" }\r\n" +" else\r\n" +" {\r\n" +" // Specify the number of input and output channels that we want to open\r\n" +" setAudioChannels (2, 2);\r\n" +" }\r\n" " }\r\n" "\r\n" " ~%%content_component_class%%()\r\n" @@ -5601,8 +5611,18 @@ static const unsigned char temp_binary_data_28[] = " // you add any child components.\r\n" " setSize (800, 600);\r\n" "\r\n" -" // specify the number of input and output channels that we want to open\r\n" -" setAudioChannels (2, 2);\r\n" +" // Some platforms require permissions to open input channels so request that here\r\n" +" if (RuntimePermissions::isRequired (RuntimePermissions::recordAudio)\r\n" +" && ! RuntimePermissions::isGranted (RuntimePermissions::recordAudio))\r\n" +" {\r\n" +" RuntimePermissions::request (RuntimePermissions::recordAudio,\r\n" +" [&] (bool granted) { if (granted) setAudioChannels (2, 2); });\r\n" +" }\r\n" +" else\r\n" +" {\r\n" +" // Specify the number of input and output channels that we want to open\r\n" +" setAudioChannels (2, 2);\r\n" +" }\r\n" "}\r\n" "\r\n" "%%content_component_class%%::~%%content_component_class%%()\r\n" @@ -7818,8 +7838,8 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) case 0xd11e6d35: numBytes = 2085; return jucer_AnimatedComponentSimpleTemplate_h; case 0x6cf2645e: numBytes = 1563; return jucer_AnimatedComponentTemplate_cpp; case 0x97b055e3: numBytes = 1201; return jucer_AnimatedComponentTemplate_h; - case 0xfb6f6d96: numBytes = 3194; return jucer_AudioComponentSimpleTemplate_h; - case 0xafccbd3f: numBytes = 2635; return jucer_AudioComponentTemplate_cpp; + case 0xfb6f6d96: numBytes = 3693; return jucer_AudioComponentSimpleTemplate_h; + case 0xafccbd3f: numBytes = 3094; return jucer_AudioComponentTemplate_cpp; case 0x915d7304: numBytes = 1374; return jucer_AudioComponentTemplate_h; case 0x27c5a93a: numBytes = 1356; return jucer_AudioPluginEditorTemplate_cpp; case 0x4d0721bf: numBytes = 977; return jucer_AudioPluginEditorTemplate_h; diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.h b/extras/Projucer/JuceLibraryCode/BinaryData.h index cad7d24f..1f027de6 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.h +++ b/extras/Projucer/JuceLibraryCode/BinaryData.h @@ -90,10 +90,10 @@ namespace BinaryData const int jucer_AnimatedComponentTemplate_hSize = 1201; extern const char* jucer_AudioComponentSimpleTemplate_h; - const int jucer_AudioComponentSimpleTemplate_hSize = 3194; + const int jucer_AudioComponentSimpleTemplate_hSize = 3693; extern const char* jucer_AudioComponentTemplate_cpp; - const int jucer_AudioComponentTemplate_cppSize = 2635; + const int jucer_AudioComponentTemplate_cppSize = 3094; extern const char* jucer_AudioComponentTemplate_h; const int jucer_AudioComponentTemplate_hSize = 1374; diff --git a/extras/Projucer/JuceLibraryCode/JuceHeader.h b/extras/Projucer/JuceLibraryCode/JuceHeader.h index b91e805c..015347e7 100644 --- a/extras/Projucer/JuceLibraryCode/JuceHeader.h +++ b/extras/Projucer/JuceLibraryCode/JuceHeader.h @@ -36,7 +36,7 @@ namespace ProjectInfo { const char* const projectName = "Projucer"; const char* const companyName = "ROLI Ltd."; - const char* const versionString = "5.4.1"; - const int versionNumber = 0x50401; + const char* const versionString = "5.4.2"; + const int versionNumber = 0x50402; } #endif diff --git a/extras/Projucer/Projucer.jucer b/extras/Projucer/Projucer.jucer index 86b9720c..eb327827 100644 --- a/extras/Projucer/Projucer.jucer +++ b/extras/Projucer/Projucer.jucer @@ -1,14 +1,14 @@ diff --git a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h index 15ccb5b1..c9a06df1 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h @@ -91,7 +91,7 @@ public: } } - ~ApplicationUsageDataWindowComponent() + ~ApplicationUsageDataWindowComponent() override { if (auto* controller = ProjucerApplication::getApp().licenseController.get()) { diff --git a/extras/Projucer/Source/Application/Windows/jucer_EditorColourSchemeWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_EditorColourSchemeWindowComponent.h index ac8a48e5..d125857b 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_EditorColourSchemeWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_EditorColourSchemeWindowComponent.h @@ -142,7 +142,7 @@ private: saveSchemeState(); } - ~EditorPanel() + ~EditorPanel() override { if (hasSchemeBeenModifiedSinceSave()) saveScheme (true); diff --git a/extras/Projucer/Source/Application/Windows/jucer_FloatingToolWindow.h b/extras/Projucer/Source/Application/Windows/jucer_FloatingToolWindow.h index ff2fdb3a..bcf5c793 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_FloatingToolWindow.h +++ b/extras/Projucer/Source/Application/Windows/jucer_FloatingToolWindow.h @@ -60,7 +60,7 @@ struct FloatingToolWindow : public DialogWindow owner.reset (this); } - ~FloatingToolWindow() + ~FloatingToolWindow() override { if (windowPosProperty.isNotEmpty()) getGlobalProperties().setValue (windowPosProperty, getWindowStateAsString()); diff --git a/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h index 29a71d3c..a59393dd 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_GlobalPathsWindowComponent.h @@ -70,7 +70,7 @@ public: lastUserModulePath = getAppSettings().getStoredPath (Ids::defaultUserModulePath, TargetOS::getThisOS()).get(); } - ~GlobalPathsWindowComponent() + ~GlobalPathsWindowComponent() override { auto juceValue = getAppSettings().getStoredPath (Ids::defaultJuceModulePath, TargetOS::getThisOS()); auto userValue = getAppSettings().getStoredPath (Ids::defaultUserModulePath, TargetOS::getThisOS()); diff --git a/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h index 2a3fc65e..caa591da 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h @@ -85,7 +85,7 @@ public: pipTree.addListener (this); } - ~PIPCreatorWindowComponent() + ~PIPCreatorWindowComponent() override { setLookAndFeel (nullptr); } @@ -223,7 +223,7 @@ private: if (descriptionValue.get().toString().isNotEmpty()) section.add (" description: " + descriptionValue.get().toString()); if (! section.isEmpty()) - metadata.add (section.joinIntoString (getPreferredLinefeed())); + metadata.add (section.joinIntoString (getPreferredLineFeed())); } { @@ -236,7 +236,7 @@ private: if (exportersString.isNotEmpty()) section.add (" exporters: " + exportersString); if (! section.isEmpty()) - metadata.add (section.joinIntoString (getPreferredLinefeed())); + metadata.add (section.joinIntoString (getPreferredLineFeed())); } { @@ -246,7 +246,7 @@ private: if (definesValue.get().toString().isNotEmpty()) section.add (" defines: " + definesValue.get().toString()); if (! section.isEmpty()) - metadata.add (section.joinIntoString (getPreferredLinefeed())); + metadata.add (section.joinIntoString (getPreferredLineFeed())); } { @@ -256,7 +256,7 @@ private: if (mainClassValue.get().toString().isNotEmpty()) section.add (" mainClass: " + mainClassValue.get().toString()); if (! section.isEmpty()) - metadata.add (section.joinIntoString (getPreferredLinefeed())); + metadata.add (section.joinIntoString (getPreferredLineFeed())); } { @@ -265,10 +265,10 @@ private: if (useLocalCopyValue.get()) section.add (" useLocalCopy: " + useLocalCopyValue.get().toString()); if (! section.isEmpty()) - metadata.add (section.joinIntoString (getPreferredLinefeed())); + metadata.add (section.joinIntoString (getPreferredLineFeed())); } - return metadata.joinIntoString (String (getPreferredLinefeed()) + getPreferredLinefeed()); + return metadata.joinIntoString (String (getPreferredLineFeed()) + getPreferredLineFeed()); } void createPIPFile (File fileToSave) diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp index 30f26af5..2cfc53a2 100644 --- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp +++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp @@ -316,7 +316,7 @@ public: lookAndFeelChanged(); } - ~UpdateUserDialog() + ~UpdateUserDialog() override { titleLabel.reset(); contentLabel.reset(); diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.h b/extras/Projucer/Source/Application/jucer_AutoUpdater.h index bd0ab27d..38b63560 100644 --- a/extras/Projucer/Source/Application/jucer_AutoUpdater.h +++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.h @@ -58,7 +58,7 @@ public: //============================================================================== LatestVersionChecker(); - ~LatestVersionChecker(); + ~LatestVersionChecker() override; static String getOSString(); diff --git a/extras/Projucer/Source/Application/jucer_CommandLine.cpp b/extras/Projucer/Source/Application/jucer_CommandLine.cpp index a97de857..0ac5ad87 100644 --- a/extras/Projucer/Source/Application/jucer_CommandLine.cpp +++ b/extras/Projucer/Source/Application/jucer_CommandLine.cpp @@ -31,8 +31,8 @@ #include "jucer_CommandLine.h" //============================================================================== -const char* preferredLinefeed = "\r\n"; -const char* getPreferredLinefeed() { return preferredLinefeed; } +const char* preferredLineFeed = "\r\n"; +const char* getPreferredLineFeed() { return preferredLineFeed; } //============================================================================== namespace @@ -87,6 +87,8 @@ namespace project.reset(); ConsoleApplication::fail ("Failed to load the project file: " + projectFile.getFullPathName()); } + + preferredLineFeed = project->getProjectLineFeed().toRawUTF8(); } void save (bool justSaveResources) @@ -398,7 +400,7 @@ namespace auto newText = joinLinesIntoSourceFile (lines); - if (newText != content && newText != content + getPreferredLinefeed()) + if (newText != content && newText != content + getPreferredLineFeed()) replaceFile (file, newText, options.removeTabs ? "Removing tabs in: " : "Cleaning file: "); } @@ -494,7 +496,7 @@ namespace { auto newText = joinLinesIntoSourceFile (lines); - if (newText != content && newText != content + getPreferredLinefeed()) + if (newText != content && newText != content + getPreferredLineFeed()) replaceFile (file, newText, "Fixing includes in: "); } } @@ -542,7 +544,7 @@ namespace for (int i = 0; i < text.length(); ++i) out << " << '" << String::charToString (text[i]) << "'"; - out << ";" << preferredLinefeed; + out << ";" << preferredLineFeed; } }; @@ -566,18 +568,18 @@ namespace MemoryOutputStream out; - out << "String createString()" << preferredLinefeed - << "{" << preferredLinefeed; + out << "String createString()" << preferredLineFeed + << "{" << preferredLineFeed; for (int i = 0; i < sections.size(); ++i) sections.getReference(i).writeGenerator (out); - out << preferredLinefeed - << " String result = " << getStringConcatenationExpression (rng, 0, sections.size()) << ";" << preferredLinefeed - << preferredLinefeed - << " jassert (result == " << originalText.quoted() << ");" << preferredLinefeed - << " return result;" << preferredLinefeed - << "}" << preferredLinefeed; + out << preferredLineFeed + << " String result = " << getStringConcatenationExpression (rng, 0, sections.size()) << ";" << preferredLineFeed + << preferredLineFeed + << " jassert (result == " << originalText.quoted() << ");" << preferredLineFeed + << " return result;" << preferredLineFeed + << "}" << preferredLineFeed; std::cout << out.toString() << std::endl; } @@ -635,32 +637,32 @@ namespace MemoryOutputStream header, cpp; - header << "// Auto-generated binary data by the Projucer" << preferredLinefeed - << "// Source file: " << source.getRelativePathFrom (target.getParentDirectory()) << preferredLinefeed - << preferredLinefeed; + header << "// Auto-generated binary data by the Projucer" << preferredLineFeed + << "// Source file: " << source.getRelativePathFrom (target.getParentDirectory()) << preferredLineFeed + << preferredLineFeed; cpp << header.toString(); if (target.hasFileExtension (headerFileExtensions)) { - header << "static constexpr unsigned char " << variableName << "[] =" << preferredLinefeed - << literal.toString() << preferredLinefeed - << preferredLinefeed; + header << "static constexpr unsigned char " << variableName << "[] =" << preferredLineFeed + << literal.toString() << preferredLineFeed + << preferredLineFeed; replaceFile (target, header.toString(), "Writing: "); } else if (target.hasFileExtension (cppFileExtensions)) { - header << "extern const char* " << variableName << ";" << preferredLinefeed - << "const unsigned int " << variableName << "Size = " << (int) dataSize << ";" << preferredLinefeed - << preferredLinefeed; + header << "extern const char* " << variableName << ";" << preferredLineFeed + << "const unsigned int " << variableName << "Size = " << (int) dataSize << ";" << preferredLineFeed + << preferredLineFeed; - cpp << CodeHelpers::createIncludeStatement (target.withFileExtension (".h").getFileName()) << preferredLinefeed - << preferredLinefeed - << "static constexpr unsigned char " << variableName << "_local[] =" << preferredLinefeed - << literal.toString() << preferredLinefeed - << preferredLinefeed - << "const char* " << variableName << " = (const char*) " << variableName << "_local;" << preferredLinefeed; + cpp << CodeHelpers::createIncludeStatement (target.withFileExtension (".h").getFileName()) << preferredLineFeed + << preferredLineFeed + << "static constexpr unsigned char " << variableName << "_local[] =" << preferredLineFeed + << literal.toString() << preferredLineFeed + << preferredLineFeed + << "const char* " << variableName << " = (const char*) " << variableName << "_local;" << preferredLineFeed; replaceFile (target, cpp.toString(), "Writing: "); replaceFile (target.withFileExtension (".h"), header.toString(), "Writing: "); @@ -688,7 +690,7 @@ namespace static bool isValidPathIdentifier (const String& id, const String& os) { - return id == "vst3Path" || (id == "aaxPath" && os != "linux") || (id == "rtasPath" && os != "linux") + return id == "vst3Path" || id == "vstLegacyPath" || (id == "aaxPath" && os != "linux") || (id == "rtasPath" && os != "linux") || id == "androidSDKPath" || id == "androidNDKPath" || id == "defaultJuceModulePath" || id == "defaultUserModulePath"; } @@ -871,7 +873,7 @@ namespace << std::endl << " " << appName << " --set-global-search-path os identifier_to_set new_path" << std::endl << " Sets the global path for a specified os and identifier. The os should be either osx, windows or linux and the identifiers can be any of the following: " - << "defaultJuceModulePath, defaultUserModulePath, vst3Path, aaxPath (not valid on linux), rtasPath (not valid on linux), androidSDKPath or androidNDKPath. " + << "defaultJuceModulePath, defaultUserModulePath, vst3Path, vstLegacyPath, aaxPath (not valid on linux), rtasPath (not valid on linux), androidSDKPath or androidNDKPath. " "When setting defaultUserModulePath you can specify multiple paths by surrounding a semicolon-separated list of paths with double quotes \"like;so\"" << std::endl << std::endl << " " << appName << " --create-project-from-pip path/to/PIP path/to/output path/to/JUCE/modules (optional) path/to/user/modules (optional)" << std::endl @@ -889,7 +891,7 @@ int performCommandLine (const ArgumentList& args) return ConsoleApplication::invokeCatchingFailures ([&] () -> int { if (args.containsOption ("--lf")) - preferredLinefeed = "\n"; + preferredLineFeed = "\n"; auto command = args[0]; diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index 77fcd794..641fcf51 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -832,7 +832,8 @@ void MainWindowList::reopenLastProjects() const ScopedValueSetter setter (isInReopenLastProjects, true); for (auto& p : getAppSettings().getLastProjects()) - openFile (p, true); + if (p.existsAsFile()) + openFile (p, true); } void MainWindowList::sendLookAndFeelChange() diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h index 7e69255f..919691f7 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.h +++ b/extras/Projucer/Source/Application/jucer_MainWindow.h @@ -42,7 +42,7 @@ class MainWindow : public DocumentWindow, public: //============================================================================== MainWindow(); - ~MainWindow(); + ~MainWindow() override; //============================================================================== void closeButtonPressed() override; diff --git a/extras/Projucer/Source/Application/jucer_ProjucerAnalytics.h b/extras/Projucer/Source/Application/jucer_ProjucerAnalytics.h index 7b64f171..f33b009d 100644 --- a/extras/Projucer/Source/Application/jucer_ProjucerAnalytics.h +++ b/extras/Projucer/Source/Application/jucer_ProjucerAnalytics.h @@ -43,7 +43,7 @@ class ProjucerAnalyticsDestination : public ThreadedAnalyticsDestination { public: ProjucerAnalyticsDestination(); - ~ProjucerAnalyticsDestination(); + ~ProjucerAnalyticsDestination() override; //============================================================================== bool logBatchedEvents (const Array&) override; diff --git a/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h index 8007840e..d0cba520 100644 --- a/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h +++ b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h @@ -25,8 +25,18 @@ public: // you add any child components. setSize (800, 600); - // specify the number of input and output channels that we want to open - setAudioChannels (2, 2); + // Some platforms require permissions to open input channels so request that here + if (RuntimePermissions::isRequired (RuntimePermissions::recordAudio) + && ! RuntimePermissions::isGranted (RuntimePermissions::recordAudio)) + { + RuntimePermissions::request (RuntimePermissions::recordAudio, + [&] (bool granted) { if (granted) setAudioChannels (2, 2); }); + } + else + { + // Specify the number of input and output channels that we want to open + setAudioChannels (2, 2); + } } ~%%content_component_class%%() diff --git a/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp index b24e6e74..946bc7bf 100644 --- a/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp +++ b/extras/Projucer/Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp @@ -15,8 +15,18 @@ // you add any child components. setSize (800, 600); - // specify the number of input and output channels that we want to open - setAudioChannels (2, 2); + // Some platforms require permissions to open input channels so request that here + if (RuntimePermissions::isRequired (RuntimePermissions::recordAudio) + && ! RuntimePermissions::isGranted (RuntimePermissions::recordAudio)) + { + RuntimePermissions::request (RuntimePermissions::recordAudio, + [&] (bool granted) { if (granted) setAudioChannels (2, 2); }); + } + else + { + // Specify the number of input and output channels that we want to open + setAudioChannels (2, 2); + } } %%content_component_class%%::~%%content_component_class%%() diff --git a/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.h b/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.h index 24a96a7f..9bd7a85a 100644 --- a/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.h +++ b/extras/Projucer/Source/CodeEditor/jucer_DocumentEditorComponent.h @@ -35,7 +35,7 @@ class DocumentEditorComponent : public Component, public: //============================================================================== DocumentEditorComponent (OpenDocumentManager::Document* document); - ~DocumentEditorComponent(); + ~DocumentEditorComponent() override; OpenDocumentManager::Document* getDocument() const { return document; } diff --git a/extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h b/extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h index 2e6881bc..dcf368bb 100644 --- a/extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h +++ b/extras/Projucer/Source/CodeEditor/jucer_LiveBuildCodeEditor.h @@ -40,7 +40,7 @@ public: { } - ~LiveBuildCodeEditor() + ~LiveBuildCodeEditor() override { for (int i = getNumChildComponents(); --i >= 0;) if (auto* c = dynamic_cast (getChildComponent (i))) @@ -77,7 +77,7 @@ private: endPosition.setPositionMaintained (true); } - ~OverlayComponent() + ~OverlayComponent() override { setEditor (nullptr); } @@ -224,7 +224,7 @@ private: startTimer (600); } - ~ComponentClassList() + ~ComponentClassList() override { deleteOverlays(); } @@ -627,7 +627,7 @@ private: owner.getDocument().addListener (this); } - ~LiteralHighlightOverlay() + ~LiteralHighlightOverlay() override { if (auto* p = getParentComponent()) { diff --git a/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.cpp b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.cpp index 4ec4e4ee..eac6d815 100644 --- a/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.cpp +++ b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.cpp @@ -63,7 +63,17 @@ void SourceCodeDocument::reloadInternal() { jassert (codeDoc != nullptr); modDetector.updateHash(); - codeDoc->applyChanges (getFile().loadFileAsString()); + + auto fileContent = getFile().loadFileAsString(); + + auto lineFeed = getLineFeedForFile (fileContent); + + if (lineFeed.isEmpty()) + lineFeed = project->getProjectLineFeed(); + + codeDoc->setNewLineCharacters (lineFeed); + + codeDoc->applyChanges (fileContent); codeDoc->setSavePoint(); } diff --git a/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.h b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.h index 13604b1c..6fd416a4 100644 --- a/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.h +++ b/extras/Projucer/Source/CodeEditor/jucer_SourceCodeEditor.h @@ -145,7 +145,7 @@ class SourceCodeEditor : public DocumentEditorComponent, public: SourceCodeEditor (OpenDocumentManager::Document*, CodeDocument&); SourceCodeEditor (OpenDocumentManager::Document*, GenericCodeEditorComponent*); - ~SourceCodeEditor(); + ~SourceCodeEditor() override; void scrollToKeepRangeOnScreen (Range range); void highlight (Range range, bool cursorAtStart); @@ -179,7 +179,7 @@ class GenericCodeEditorComponent : public CodeEditorComponent { public: GenericCodeEditorComponent (const File&, CodeDocument&, CodeTokeniser*); - ~GenericCodeEditorComponent(); + ~GenericCodeEditorComponent() override; void addPopupMenuItems (PopupMenu&, const MouseEvent*) override; void performPopupMenuAction (int menuItemID) override; @@ -225,7 +225,7 @@ class CppCodeEditorComponent : public GenericCodeEditorComponent { public: CppCodeEditorComponent (const File&, CodeDocument&); - ~CppCodeEditorComponent(); + ~CppCodeEditorComponent() override; void addPopupMenuItems (PopupMenu&, const MouseEvent*) override; void performPopupMenuAction (int menuItemID) override; diff --git a/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp index 249bdb83..792a7790 100644 --- a/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp @@ -572,7 +572,7 @@ void ComponentTypeHandler::fillInResizeCode (GeneratedCode& code, Component* com r << memberVariableName << "->setBounds (" << x << ", " << y << ", " << w << ", " << h << ");\n"; - if (pos.rect.isPositionAbsolute()) + if (pos.rect.isPositionAbsolute() && ! code.document->getComponentLayout()->isComponentPositionRelative (component)) code.constructorCode += r + "\n"; else code.getCallbackCode (String(), "void", "resized()", false) += r; diff --git a/extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h b/extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h index 2472bda4..9c6ba031 100644 --- a/extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h +++ b/extras/Projucer/Source/ComponentEditor/Components/jucer_TabbedComponentHandler.h @@ -798,7 +798,7 @@ private: document.addChangeListener (this); } - ~TabColourProperty() + ~TabColourProperty() override { document.removeChangeListener (this); } diff --git a/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp index a7f0a1d0..3682eced 100644 --- a/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp +++ b/extras/Projucer/Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp @@ -112,7 +112,7 @@ public: addAndMakeVisible (layout->getComponent (i)); } - ~NormalTestComponent() + ~NormalTestComponent() override { for (int i = getNumChildComponents(); --i >= 0;) removeChildComponent (i); diff --git a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.h index 73ab6f4c..817d0a26 100644 --- a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_ColouredElement.h @@ -43,7 +43,7 @@ public: const bool showOutline_, const bool showJointAndEnd_); - ~ColouredElement(); + ~ColouredElement() override; //============================================================================== void getEditableProperties (Array& props, bool multipleSelected) override; diff --git a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.h index e877f014..1794a5a4 100644 --- a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElement.h @@ -45,7 +45,7 @@ class PaintElement : public Component, public: //============================================================================== PaintElement (PaintRoutine* owner, const String& typeName); - virtual ~PaintElement(); + ~PaintElement() override; //============================================================================== virtual void setInitialBounds (int parentWidth, int parentHeight); diff --git a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h index 239b8ffb..d77c3ba2 100644 --- a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.h @@ -34,8 +34,7 @@ class PaintElementGroup : public PaintElement { public: PaintElementGroup (PaintRoutine*); - - ~PaintElementGroup(); + ~PaintElementGroup() override; void ungroup (const bool); diff --git a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h index fe62a736..905b90a7 100644 --- a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementImage.h @@ -36,7 +36,7 @@ class PaintElementImage : public PaintElement { public: PaintElementImage (PaintRoutine*); - ~PaintElementImage(); + ~PaintElementImage() override; enum StretchMode { diff --git a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h index fc1f6da5..a97fb6a4 100644 --- a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementPath.h @@ -64,7 +64,7 @@ class PaintElementPath : public ColouredElement { public: PaintElementPath (PaintRoutine* owner); - ~PaintElementPath(); + ~PaintElementPath() override; //============================================================================== void setInitialBounds (int parentWidth, int parentHeight) override; diff --git a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementText.h b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementText.h index ff4b72f8..e8b1be10 100644 --- a/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementText.h +++ b/extras/Projucer/Source/ComponentEditor/PaintElements/jucer_PaintElementText.h @@ -405,7 +405,7 @@ private: element->getDocument()->addChangeListener (this); } - ~TextProperty() + ~TextProperty() override { element->getDocument()->removeChangeListener (this); } diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h index 4e4ea26d..8c4c8e9e 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.h @@ -39,8 +39,8 @@ class ComponentLayoutEditor : public Component, { public: //============================================================================== - ComponentLayoutEditor (JucerDocument& document, ComponentLayout& layout); - ~ComponentLayoutEditor(); + ComponentLayoutEditor (JucerDocument&, ComponentLayout&); + ~ComponentLayoutEditor() override; //============================================================================== void paint (Graphics&) override; diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h index 85b1ba18..1a815a62 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.h @@ -39,7 +39,7 @@ public: ComponentOverlayComponent (Component* const targetComponent, ComponentLayout& layout); - ~ComponentOverlayComponent(); + ~ComponentOverlayComponent() override; //============================================================================== virtual void showPopupMenu(); diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.h index 5192110b..2e80eb85 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_EditingPanelBase.h @@ -44,7 +44,7 @@ public: Component* propsPanel, Component* editorComp); - ~EditingPanelBase(); + ~EditingPanelBase() override; //============================================================================== void resized() override; diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp index da36ea9e..ca86c37d 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp @@ -54,7 +54,7 @@ public: document.addChangeListener (this); } - ~ExtraMethodsList() + ~ExtraMethodsList() override { document.removeChangeListener (this); } @@ -165,7 +165,7 @@ public: doc.addChangeListener (this); } - ~ClassPropertiesPanel() + ~ClassPropertiesPanel() override { document.removeChangeListener (this); } diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h index 479b14ea..de5ece63 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_JucerDocumentEditor.h @@ -39,7 +39,7 @@ class JucerDocumentEditor : public Component, public: //============================================================================== JucerDocumentEditor (JucerDocument* const document); - ~JucerDocumentEditor(); + ~JucerDocumentEditor() override; JucerDocument* getDocument() const noexcept { return document.get(); } diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp index 4c17bca1..078dcd14 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp @@ -43,7 +43,7 @@ public: document.addChangeListener (this); } - ~ComponentBackgroundColourProperty() + ~ComponentBackgroundColourProperty() override { document.removeChangeListener (this); } diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.h index bc97e817..cd423df6 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_ResourceEditorPanel.h @@ -35,7 +35,7 @@ class ResourceEditorPanel : public Component, { public: ResourceEditorPanel (JucerDocument& document); - ~ResourceEditorPanel(); + ~ResourceEditorPanel() override; void resized() override; void paint (Graphics& g) override; diff --git a/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.h b/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.h index ba6f3bde..ebc7ca42 100644 --- a/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.h +++ b/extras/Projucer/Source/ComponentEditor/UI/jucer_TestComponent.h @@ -37,7 +37,7 @@ public: JucerDocument* const loadedDocument, const bool alwaysFillBackground); - ~TestComponent(); + ~TestComponent() override; //============================================================================== void setFilename (const String& fn); diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp index f3516b18..d2542911 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.cpp @@ -554,6 +554,15 @@ bool ComponentLayout::dependsOnComponentForRelativePos (Component* comp, Compone return false; } +bool ComponentLayout::isComponentPositionRelative (Component* comp) const +{ + for (int i = 0; i < getNumComponents(); ++i) + if (dependsOnComponentForRelativePos (comp, getComponent (i))) + return true; + + return false; +} + const int menuIdBase = 0x63240000; PopupMenu ComponentLayout::getRelativeTargetMenu (Component* comp, int whichDimension) const diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h index 9c3c661e..5c14a3f8 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_ComponentLayout.h @@ -71,6 +71,7 @@ public: void setComponentRelativeTarget (Component* comp, int whichDimension, Component* compToBeRelativeTo); // checks recursively whether the comp depends on the given comp for its position bool dependsOnComponentForRelativePos (Component* comp, Component* possibleDependee) const; + bool isComponentPositionRelative (Component* comp) const; PopupMenu getRelativeTargetMenu (Component* comp, int whichDimension) const; void processRelativeTargetMenuResult (Component* comp, int whichDimension, int menuResultID); diff --git a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp index 0c3c09f3..b1e1355a 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.cpp @@ -98,7 +98,7 @@ void JucerDocument::timerCallback() stopTimer(); beginTransaction(); - flushChangesToDocuments (nullptr); + flushChangesToDocuments (nullptr, false); } } @@ -513,23 +513,7 @@ bool JucerDocument::findTemplateFiles (String& headerContent, String& cppContent return true; } -static String fixLineEndings (const String& s) -{ - StringArray lines; - lines.addLines (s); - - for (int i = 0; i < lines.size(); ++i) - lines.set (i, lines[i].trimEnd()); - - while (lines.size() > 0 && lines [lines.size() - 1].trim().isEmpty()) - lines.remove (lines.size() - 1); - - lines.add (String()); - - return lines.joinIntoString ("\r\n"); -} - -bool JucerDocument::flushChangesToDocuments (Project* project) +bool JucerDocument::flushChangesToDocuments (Project* project, bool isInitial) { String headerTemplate, cppTemplate; if (! findTemplateFiles (headerTemplate, cppTemplate)) @@ -554,8 +538,20 @@ bool JucerDocument::flushChangesToDocuments (Project* project) generated.applyToCode (cppTemplate, headerFile.withFileExtension (".cpp"), existingCpp, project); - headerTemplate = fixLineEndings (headerTemplate); - cppTemplate = fixLineEndings (cppTemplate); + if (isInitial) + { + jassert (project != nullptr); + + auto lineFeed = project->getProjectLineFeed(); + + headerTemplate = replaceLineFeeds (headerTemplate, lineFeed); + cppTemplate = replaceLineFeeds (cppTemplate, lineFeed); + } + else + { + headerTemplate = replaceLineFeeds (headerTemplate, getLineFeedForFile (existingHeader)); + cppTemplate = replaceLineFeeds (cppTemplate, getLineFeedForFile (existingCpp)); + } if (header->getCodeDocument().getAllContent() != headerTemplate) header->getCodeDocument().replaceAllContent (headerTemplate); @@ -768,9 +764,9 @@ struct NewGUIComponentWizard : public NewFileWizard::Type auto& odm = ProjucerApplication::getApp().openDocumentManager; - if (auto* cpp = dynamic_cast (odm.openFile (nullptr, cppFile))) + if (auto* cpp = dynamic_cast (odm.openFile (&project, cppFile))) { - if (auto* header = dynamic_cast (odm.openFile (nullptr, headerFile))) + if (auto* header = dynamic_cast (odm.openFile (&project, headerFile))) { std::unique_ptr jucerDoc (new ComponentDocument (cpp)); @@ -778,7 +774,7 @@ struct NewGUIComponentWizard : public NewFileWizard::Type { jucerDoc->setClassName (newFile.getFileNameWithoutExtension()); - jucerDoc->flushChangesToDocuments (&project); + jucerDoc->flushChangesToDocuments (&project, true); jucerDoc.reset(); cpp->save(); diff --git a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h index 16146c42..c0595626 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_JucerDocument.h @@ -40,7 +40,7 @@ class JucerDocument : public ChangeBroadcaster, { public: JucerDocument (SourceCodeDocument* cpp); - ~JucerDocument(); + ~JucerDocument() override; static bool isValidJucerCppFile (const File&); static XmlElement* pullMetaDataFromCppFile (const String& cpp); @@ -58,7 +58,7 @@ public: File getCppFile() const { return cpp->getFile(); } File getHeaderFile() const { return getCppFile().withFileExtension (".h"); } - bool flushChangesToDocuments (Project*); + bool flushChangesToDocuments (Project*, bool); bool reloadFromDocument(); //============================================================================== diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp index f705823c..76ff5203 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.cpp @@ -78,7 +78,7 @@ static const char* const elementNames[] = nullptr }; -const char** const elementTypeNames = (const char**) elementNames; +const char* const* const elementTypeNames = (const char* const*) elementNames; const int numElementTypes = (sizeof (elementNames) / sizeof (elementNames[0])) - 1; PaintElement* createNewElement (const int index, PaintRoutine* owner) @@ -158,7 +158,7 @@ static ComponentTypeHandler* const compTypes[] = nullptr }; -ComponentTypeHandler** const componentTypeHandlers = (ComponentTypeHandler**) compTypes; +ComponentTypeHandler* const* const componentTypeHandlers = (ComponentTypeHandler* const*) compTypes; const int numComponentTypes = numElementsInArray (compTypes) - 1; } diff --git a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h index 36d26411..2681e02a 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_ObjectTypes.h @@ -34,12 +34,12 @@ namespace ObjectTypes { //============================================================================== // Component types - extern ComponentTypeHandler** const componentTypeHandlers; + extern ComponentTypeHandler* const* const componentTypeHandlers; extern const int numComponentTypes; //============================================================================== // Element types - extern const char** const elementTypeNames; + extern const char* const* const elementTypeNames; extern const int numElementTypes; PaintElement* createNewElement (const int index, PaintRoutine* owner); diff --git a/extras/Projucer/Source/Licenses/jucer_LicenseThread.h b/extras/Projucer/Source/Licenses/jucer_LicenseThread.h index 8d5febaf..2c21429a 100644 --- a/extras/Projucer/Source/Licenses/jucer_LicenseThread.h +++ b/extras/Projucer/Source/Licenses/jucer_LicenseThread.h @@ -33,7 +33,7 @@ struct NetWorkerThread : public Thread, { NetWorkerThread() : Thread ("License") {} - ~NetWorkerThread() + ~NetWorkerThread() override { JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED diff --git a/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h b/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h index f5f85564..adb3709d 100644 --- a/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h +++ b/extras/Projucer/Source/Licenses/jucer_LicenseWebview.h @@ -65,7 +65,7 @@ private: struct RedirectWebBrowserComponent : public WebBrowserComponent { RedirectWebBrowserComponent (LicenseWebviewContent& controller) : WebBrowserComponent (false), owner (controller) {} - virtual ~RedirectWebBrowserComponent() {} + ~RedirectWebBrowserComponent() override {} bool pageAboutToLoad (const String& url) override { return owner.pageAboutToLoad (url); } void pageFinishedLoading (const String& url) override { owner.pageFinishedLoading (url); } @@ -95,7 +95,7 @@ private: } } - virtual ~Header() + ~Header() override { if (auto* licenseController = ProjucerApplication::getApp().licenseController.get()) licenseController->removeLicenseStatusChangedCallback (this); diff --git a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h index 8104e219..70831aeb 100644 --- a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ActivityListComponent.h @@ -45,7 +45,7 @@ public: activityList.addChangeListener (this); } - ~CurrentActivitiesComp() + ~CurrentActivitiesComp() override { activityList.removeChangeListener (this); } diff --git a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h index 0a862def..689090e4 100644 --- a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_BuildTabStatusComponent.h @@ -42,7 +42,7 @@ public: errorList.addChangeListener (this); } - ~BuildStatusTabComp() + ~BuildStatusTabComp() override { activityList.removeChangeListener (this); errorList.removeChangeListener (this); diff --git a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h index 91b2e3d3..1b09085e 100644 --- a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ComponentListComponent.h @@ -48,7 +48,7 @@ public: owner.activityList.addListener (this); } - ~ComponentListComp() + ~ComponentListComp() override { saveOpenness(); owner.activityList.removeListener (this); diff --git a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h index 96ae6576..ccc88afa 100644 --- a/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h +++ b/extras/Projucer/Source/LiveBuildEngine/UI/jucer_ErrorListComponent.h @@ -47,7 +47,7 @@ public: errorListChanged(); } - ~ErrorListComp() + ~ErrorListComp() override { errorList.removeChangeListener (this); } @@ -219,7 +219,7 @@ private: uniqueID << message.message << ':' << message.range.toString(); } - ~ErrorMessageTreeItem() + ~ErrorMessageTreeItem() override { overlay.deleteAndZero(); } @@ -234,7 +234,7 @@ private: bool mightContainSubItems() override { return getNumSubItems() != 0; } String getUniqueName() const override { return uniqueID; } - void paintContent (Graphics& g, const Rectangle& area) override + void paintContent (Graphics& g, Rectangle area) override { jassert (area.getWidth() >= 0); diff --git a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp index 0069bacb..28755450 100644 --- a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.cpp @@ -210,7 +210,7 @@ public: openedOk = true; } - ~ChildProcess() + ~ChildProcess() override { projectRoot.removeListener (this); @@ -642,7 +642,7 @@ struct CompileEngineChildProcess::Editor : private CodeDocument::Listener, document.addListener (this); } - ~Editor() + ~Editor() override { document.removeListener (this); } diff --git a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.h b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.h index 17324240..4c990c3c 100644 --- a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.h +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineClient.h @@ -36,7 +36,7 @@ class CompileEngineChildProcess : public ReferenceCountedObject, { public: CompileEngineChildProcess (Project&); - ~CompileEngineChildProcess(); + ~CompileEngineChildProcess() override; //============================================================================== bool openedOk() const { return process != nullptr; } diff --git a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp index a1963b45..1f809f7c 100644 --- a/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp +++ b/extras/Projucer/Source/LiveBuildEngine/jucer_CompileEngineServer.cpp @@ -67,7 +67,7 @@ struct ZombiePatrol : private Thread, startTimer (1000); } - ~ZombiePatrol() + ~ZombiePatrol() override { stopThread (1000); } @@ -161,7 +161,7 @@ public: zombieKiller.reset (new ZombiePatrol (*this)); } - ~ServerIPC() + ~ServerIPC() override { zombieKiller.reset(); diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h index 7a3c3000..13d7d043 100644 --- a/extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_FileTreeItems.h @@ -38,7 +38,7 @@ public: item.state.addListener (this); } - ~FileTreeItemBase() + ~FileTreeItemBase() override { item.state.removeListener (this); } diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h index c2b114de..9cee8477 100644 --- a/extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ModuleTreeItems.h @@ -456,7 +456,7 @@ public: project.getExporterPathsModuleList().addListener (this); } - ~EnabledModulesItem() + ~EnabledModulesItem() override { ProjucerApplication::getApp().getJUCEPathModuleList().removeListener (this); ProjucerApplication::getApp().getUserPathsModuleList().removeListener (this); diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h index 1a549220..bcd061f9 100644 --- a/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_ProjectTab.h @@ -42,7 +42,7 @@ struct ProjectSettingsComponent : public Component, project.addChangeListener (this); } - ~ProjectSettingsComponent() + ~ProjectSettingsComponent() override { project.removeChangeListener (this); } @@ -139,7 +139,7 @@ public: buildConcertina(); } - ~ProjectTab() + ~ProjectTab() override { getFileTreePanel()->saveOpenness(); getModuleTreePanel()->saveOpenness(); diff --git a/extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h b/extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h index 6f463f21..c10509a2 100644 --- a/extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h +++ b/extras/Projucer/Source/Project/UI/Sidebar/jucer_TabComponents.h @@ -111,7 +111,7 @@ public: lookAndFeelChanged(); } - ~FindPanel() + ~FindPanel() override { Desktop::getInstance().removeFocusChangeListener (this); } @@ -194,7 +194,7 @@ public: addAndMakeVisible (treeToDisplay.get()); } - ~ConcertinaTreeComponent() + ~ConcertinaTreeComponent() override { treeToDisplay.reset(); addButton.reset(); diff --git a/extras/Projucer/Source/Project/UI/jucer_FileGroupInformationComponent.h b/extras/Projucer/Source/Project/UI/jucer_FileGroupInformationComponent.h index 3d71f656..5678bf44 100644 --- a/extras/Projucer/Source/Project/UI/jucer_FileGroupInformationComponent.h +++ b/extras/Projucer/Source/Project/UI/jucer_FileGroupInformationComponent.h @@ -37,8 +37,8 @@ public: : item (group), header (item.getName(), { getIcons().openFolder, Colours::transparentBlack }) { - list.setHeaderComponent (new ListBoxHeader ( { "File", "Binary Resource", "Xcode Resource", "Compile" }, - { 0.4f, 0.2f, 0.2f, 0.2f } )); + list.setHeaderComponent (new ListBoxHeader ( { "File", "Binary Resource", "Xcode Resource", "Compile", "Compiler Flag Scheme" }, + { 0.3f, 0.15f, 0.15f, 0.15f, 0.25f } )); list.setModel (this); list.setColour (ListBox::backgroundColourId, Colours::transparentBlack); addAndMakeVisible (list); @@ -50,7 +50,7 @@ public: addAndMakeVisible (header); } - ~FileGroupInformationComponent() + ~FileGroupInformationComponent() override { item.state.removeListener (this); } @@ -132,18 +132,23 @@ private: public: FileOptionComponent (const Project::Item& fileItem, ListBoxHeader* listBoxHeader) : item (fileItem), - header (listBoxHeader) + header (listBoxHeader), + compilerFlagSchemeSelector (item) { if (item.isFile()) { addAndMakeVisible (compileButton); compileButton.getToggleStateValue().referTo (item.getShouldCompileValue()); + compileButton.onStateChange = [this] { compilerFlagSchemeSelector.setVisible (compileButton.getToggleState()); }; addAndMakeVisible (binaryResourceButton); binaryResourceButton.getToggleStateValue().referTo (item.getShouldAddToBinaryResourcesValue()); addAndMakeVisible (xcodeResourceButton); xcodeResourceButton.getToggleStateValue().referTo (item.getShouldAddToXcodeResourcesValue()); + + addChildComponent (compilerFlagSchemeSelector); + compilerFlagSchemeSelector.setVisible (compileButton.getToggleState()); } } @@ -175,18 +180,163 @@ private: bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (0) * width)); - binaryResourceButton.setBounds (bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (1) * width))); - xcodeResourceButton.setBounds (bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (2) * width))); - compileButton.setBounds (bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (3) * width))); + binaryResourceButton.setBounds (bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (1) * width))); + xcodeResourceButton.setBounds (bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (2) * width))); + compileButton.setBounds (bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (3) * width))); + compilerFlagSchemeSelector.setBounds (bounds.removeFromLeft (roundToInt (header->getProportionAtIndex (4) * width))); } } Project::Item item; private: + //============================================================================== + class CompilerFlagSchemeSelector : public Component, + private Value::Listener + { + public: + CompilerFlagSchemeSelector (Project::Item& it) + : item (it) + { + schemeBox.setTextWhenNothingSelected ("None"); + updateCompilerFlagSchemeComboBox(); + schemeBox.onChange = [this] { handleComboBoxSelection(); }; + + addAndMakeVisible (schemeBox); + addChildComponent (newSchemeLabel); + + newSchemeLabel.setEditable (true); + newSchemeLabel.setJustificationType (Justification::centredLeft); + newSchemeLabel.onEditorHide = [this] + { + newSchemeLabel.setVisible (false); + schemeBox.setVisible (true); + + auto newScheme = newSchemeLabel.getText(); + + item.project.addCompilerFlagScheme (newScheme); + + if (item.getCompilerFlagSchemeString().isEmpty()) + item.setCompilerFlagScheme (newScheme); + + updateCompilerFlagSchemeComboBox(); + }; + + selectScheme (item.getCompilerFlagSchemeString()); + + projectCompilerFlagSchemesValue = item.project.getProjectValue (Ids::compilerFlagSchemes); + projectCompilerFlagSchemesValue.addListener (this); + + lookAndFeelChanged(); + } + + void resized() override + { + auto b = getLocalBounds(); + + schemeBox.setBounds (b); + newSchemeLabel.setBounds (b); + } + + private: + void valueChanged (Value&) override { updateCompilerFlagSchemeComboBox(); } + + void lookAndFeelChanged() override + { + schemeBox.setColour (ComboBox::outlineColourId, Colours::transparentBlack); + schemeBox.setColour (ComboBox::textColourId, findColour (defaultTextColourId)); + } + + void updateCompilerFlagSchemeComboBox() + { + auto itemScheme = item.getCompilerFlagSchemeString(); + auto allSchemes = item.project.getCompilerFlagSchemes(); + + if (itemScheme.isNotEmpty() && ! allSchemes.contains (itemScheme)) + { + item.clearCurrentCompilerFlagScheme(); + itemScheme = {}; + } + + schemeBox.clear(); + + schemeBox.addItemList (allSchemes, 1); + schemeBox.addSeparator(); + schemeBox.addItem ("Add a new scheme...", -1); + schemeBox.addItem ("Delete selected scheme", -2); + schemeBox.addItem ("Clear", -3); + + selectScheme (itemScheme); + } + + void handleComboBoxSelection() + { + auto selectedID = schemeBox.getSelectedId(); + + if (selectedID > 0) + { + item.setCompilerFlagScheme (schemeBox.getItemText (selectedID - 1)); + } + else if (selectedID == -1) + { + newSchemeLabel.setText ("NewScheme", dontSendNotification); + + schemeBox.setVisible (false); + newSchemeLabel.setVisible (true); + + newSchemeLabel.showEditor(); + + if (auto* ed = newSchemeLabel.getCurrentTextEditor()) + ed->setInputRestrictions (64, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"); + } + else if (selectedID == -2) + { + auto currentScheme = item.getCompilerFlagSchemeString(); + + if (currentScheme.isNotEmpty()) + { + item.project.removeCompilerFlagScheme (currentScheme); + item.clearCurrentCompilerFlagScheme(); + } + + updateCompilerFlagSchemeComboBox(); + } + else if (selectedID == -3) + { + schemeBox.setSelectedId (0); + item.clearCurrentCompilerFlagScheme(); + } + } + + void selectScheme (const String& schemeToSelect) + { + if (schemeToSelect.isNotEmpty()) + { + for (int i = 0; i < schemeBox.getNumItems(); ++i) + { + if (schemeBox.getItemText (i) == schemeToSelect) + { + schemeBox.setSelectedItemIndex (i); + return; + } + } + } + + schemeBox.setSelectedId (0); + } + + Project::Item& item; + Value projectCompilerFlagSchemesValue; + + ComboBox schemeBox; + Label newSchemeLabel; + }; + + //============================================================================== ListBoxHeader* header; ToggleButton compileButton, binaryResourceButton, xcodeResourceButton; + CompilerFlagSchemeSelector compilerFlagSchemeSelector; }; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FileGroupInformationComponent) diff --git a/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.cpp b/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.cpp index bdf3c633..7f732e02 100644 --- a/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.cpp +++ b/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.cpp @@ -123,7 +123,8 @@ void HeaderComponent::setCurrentProject (Project* p) noexcept exportersTree.addListener (this); updateExporters(); - project->addChangeListener (this); + projectNameValue.referTo (project->getProjectValue (Ids::name)); + projectNameValue.addListener (this); updateName(); isBuilding = false; @@ -131,14 +132,12 @@ void HeaderComponent::setCurrentProject (Project* p) noexcept repaint(); childProcess = ProjucerApplication::getApp().childProcessCache->getExisting (*project); + if (childProcess != nullptr) { childProcess->activityList.addChangeListener (this); childProcess->errorList.addChangeListener (this); - } - if (childProcess != nullptr) - { runAppButton->setTooltip ({}); runAppButton->setEnabled (true); } @@ -227,14 +226,9 @@ void HeaderComponent::lookAndFeelChanged() userSettingsWindow->sendLookAndFeelChange(); } -void HeaderComponent::changeListenerCallback (ChangeBroadcaster* source) +void HeaderComponent::changeListenerCallback (ChangeBroadcaster*) { - if (source == project) - { - updateName(); - updateExporters(); - } - else if (childProcess != nullptr) + if (childProcess != nullptr) { if (childProcess->activityList.getNumActivities() > 0) buildPing(); @@ -243,6 +237,11 @@ void HeaderComponent::changeListenerCallback (ChangeBroadcaster* source) } } +void HeaderComponent::valueChanged (Value&) +{ + updateName(); +} + void HeaderComponent::timerCallback() { repaint(); diff --git a/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.h b/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.h index 88b1836d..6aa7ee14 100644 --- a/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.h +++ b/extras/Projucer/Source/Project/UI/jucer_HeaderComponent.h @@ -36,11 +36,12 @@ class Project; class HeaderComponent : public Component, private ValueTree::Listener, private ChangeListener, + private Value::Listener, private Timer { public: HeaderComponent(); - ~HeaderComponent(); + ~HeaderComponent() override; //========================================================================== void resized() override; @@ -65,6 +66,7 @@ private: //========================================================================== void lookAndFeelChanged() override; void changeListenerCallback (ChangeBroadcaster* source) override; + void valueChanged (Value&) override; void timerCallback() override; //========================================================================== @@ -100,6 +102,8 @@ private: Project* project = nullptr; ValueTree exportersTree; + Value projectNameValue; + ComboBox exporterBox; Label configLabel { "Config Label", "Selected exporter" }, projectNameLabel; diff --git a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.h b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.h index 6c7254ae..5e9c8d36 100644 --- a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.h +++ b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.h @@ -44,7 +44,7 @@ class ProjectContentComponent : public Component, public: //============================================================================== ProjectContentComponent(); - ~ProjectContentComponent(); + ~ProjectContentComponent() override; Project* getProject() const noexcept { return project; } virtual void setProject (Project*); diff --git a/extras/Projucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp index 457058e0..489e5ab1 100644 --- a/extras/Projucer/Source/Project/jucer_Project.cpp +++ b/extras/Projucer/Source/Project/jucer_Project.cpp @@ -200,6 +200,8 @@ void Project::initialiseProjectValues() if (projectUIDValue.isUsingDefault()) projectUIDValue = projectUIDValue.getDefault(); + projectLineFeedValue.referTo (projectRoot, Ids::projectLineFeed, getUndoManager(), "\r\n"); + companyNameValue.referTo (projectRoot, Ids::companyName, getUndoManager()); companyCopyrightValue.referTo (projectRoot, Ids::companyCopyright, getUndoManager()); companyWebsiteValue.referTo (projectRoot, Ids::companyWebsite, getUndoManager()); @@ -223,13 +225,13 @@ void Project::initialiseProjectValues() reportAppUsageValue.setDefault (true); } - cppStandardValue.referTo (projectRoot, Ids::cppLanguageStandard, getUndoManager(), "14"); + cppStandardValue.referTo (projectRoot, Ids::cppLanguageStandard, getUndoManager(), "14"); - headerSearchPathsValue.referTo (projectRoot, Ids::headerPath, getUndoManager()); - preprocessorDefsValue.referTo (projectRoot, Ids::defines, getUndoManager()); - userNotesValue.referTo (projectRoot, Ids::userNotes, getUndoManager()); + headerSearchPathsValue.referTo (projectRoot, Ids::headerPath, getUndoManager()); + preprocessorDefsValue.referTo (projectRoot, Ids::defines, getUndoManager()); + userNotesValue.referTo (projectRoot, Ids::userNotes, getUndoManager()); - maxBinaryFileSizeValue.referTo (projectRoot, Ids::maxBinaryFileSize, getUndoManager(), 10240 * 1024); + maxBinaryFileSizeValue.referTo (projectRoot, Ids::maxBinaryFileSize, getUndoManager(), 10240 * 1024); // this is here for backwards compatibility with old projects using the incorrect id if (projectRoot.hasProperty ("includeBinaryInAppConfig")) @@ -237,7 +239,9 @@ void Project::initialiseProjectValues() else includeBinaryDataInJuceHeaderValue.referTo (projectRoot, Ids::includeBinaryInJuceHeader, getUndoManager(), true); - binaryDataNamespaceValue.referTo (projectRoot, Ids::binaryDataNamespace, getUndoManager(), "BinaryData"); + binaryDataNamespaceValue.referTo (projectRoot, Ids::binaryDataNamespace, getUndoManager(), "BinaryData"); + + compilerFlagSchemesValue.referTo (projectRoot, Ids::compilerFlagSchemes, getUndoManager(), Array(), ","); } void Project::initialiseAudioPluginValues() @@ -262,6 +266,9 @@ void Project::initialiseAudioPluginValues() pluginVST3CategoryValue.referTo (projectRoot, Ids::pluginVST3Category, getUndoManager(), getDefaultVST3Categories(), ","); pluginRTASCategoryValue.referTo (projectRoot, Ids::pluginRTASCategory, getUndoManager(), getDefaultRTASCategories(), ","); pluginAAXCategoryValue.referTo (projectRoot, Ids::pluginAAXCategory, getUndoManager(), getDefaultAAXCategories(), ","); + + pluginVSTNumMidiInputsValue.referTo (projectRoot, Ids::pluginVSTNumMidiInputs, getUndoManager(), 16); + pluginVSTNumMidiOutputsValue.referTo (projectRoot, Ids::pluginVSTNumMidiOutputs, getUndoManager(), 16); } void Project::updateOldStyleConfigList() @@ -712,8 +719,6 @@ void Project::valueTreePropertyChanged (ValueTree& tree, const Identifier& prope { if (property == Ids::projectType) { - sendChangeMessage(); - sendProjectSettingAnalyticsEvent ("Project Type = " + projectTypeValue.get().toString()); } else if (property == Ids::name) @@ -928,6 +933,10 @@ void Project::createPropertyEditors (PropertyListBuilder& props) "The project's version number. This should be in the format major.minor.point[.point] where you should omit the final " "(optional) [.point] if you are targeting AU and AUv3 plug-ins as they only support three number versions."); + props.add (new ChoicePropertyComponent (projectLineFeedValue, "Project Line Feed", { "\\r\\n", "\\n", }, { "\r\n", "\n" }), + "Use this to set the line feed which will be used when creating new source files for this project " + "(this won't affect any existing files)."); + props.add (new TextPropertyComponent (companyNameValue, "Company Name", 256, false), "Your company name, which will be added to the properties of the binary where possible"); @@ -1083,6 +1092,25 @@ void Project::createAudioPluginPropertyEditors (PropertyListBuilder& props) "Check this box if your plug-in is sandbox safe. A sand-box safe plug-in is loaded in a restricted path and can only access it's own bundle resources and " "the Music folder. Your plug-in must be able to deal with this. Newer versions of GarageBand require this to be enabled."); + { + Array varChoices; + StringArray stringChoices; + + for (int i = 1; i <= 16; ++i) + { + varChoices.add (i); + stringChoices.add (String (i)); + } + + props.add (new ChoicePropertyComponentWithEnablement (pluginVSTNumMidiInputsValue, pluginCharacteristicsValue, Ids::pluginWantsMidiIn, + "Plugin VST Num MIDI Inputs", stringChoices, varChoices), + "For VST and VST3 plug-ins that accept MIDI, this allows you to configure the number of inputs."); + + props.add (new ChoicePropertyComponentWithEnablement (pluginVSTNumMidiOutputsValue, pluginCharacteristicsValue, Ids::pluginProducesMidiOut, + "Plugin VST Num MIDI Outputs", stringChoices, varChoices), + "For VST and VST3 plug-ins that produce MIDI, this allows you to configure the number of outputs."); + } + { Array vst3CategoryVars; @@ -1269,6 +1297,19 @@ bool Project::Item::shouldInhibitWarnings() const { return state [Ids: bool Project::Item::isModuleCode() const { return belongsToModule; } +Value Project::Item::getCompilerFlagSchemeValue() { return state.getPropertyAsValue (Ids::compilerFlagScheme, getUndoManager()); } +String Project::Item::getCompilerFlagSchemeString() const { return state [Ids::compilerFlagScheme]; } + +void Project::Item::setCompilerFlagScheme (const String& scheme) +{ + state.getPropertyAsValue (Ids::compilerFlagScheme, getUndoManager()).setValue (scheme); +} + +void Project::Item::clearCurrentCompilerFlagScheme() +{ + state.removeProperty (Ids::compilerFlagScheme, getUndoManager()); +} + String Project::Item::getFilePath() const { if (isFile()) @@ -1637,6 +1678,55 @@ bool Project::isConfigFlagEnabled (const String& name, bool defaultIsEnabled) co return configValue; } +//============================================================================== +StringArray Project::getCompilerFlagSchemes() const +{ + if (compilerFlagSchemesValue.isUsingDefault()) + return {}; + + StringArray schemes; + auto schemesVar = compilerFlagSchemesValue.get(); + + if (auto* arr = schemesVar.getArray()) + schemes.addArray (arr->begin(), arr->end()); + + return schemes; +} + +void Project::addCompilerFlagScheme (const String& schemeToAdd) +{ + auto schemesVar = compilerFlagSchemesValue.get(); + + if (auto* arr = schemesVar.getArray()) + { + arr->addIfNotAlreadyThere (schemeToAdd); + compilerFlagSchemesValue.setValue ({ *arr }, getUndoManager()); + } +} + +void Project::removeCompilerFlagScheme (const String& schemeToRemove) +{ + auto schemesVar = compilerFlagSchemesValue.get(); + + if (auto* arr = schemesVar.getArray()) + { + for (int i = 0; i < arr->size(); ++i) + { + if (arr->getUnchecked (i).toString() == schemeToRemove) + { + arr->remove (i); + + if (arr->isEmpty()) + compilerFlagSchemesValue.resetToDefault(); + else + compilerFlagSchemesValue.setValue ({ *arr }, getUndoManager()); + + return; + } + } + } +} + //============================================================================== static String getCompanyNameOrDefault (StringRef str) { @@ -1648,7 +1738,8 @@ static String getCompanyNameOrDefault (StringRef str) String Project::getDefaultBundleIdentifierString() const { - return "com." + getCompanyNameOrDefault (getCompanyNameString()) + "." + CodeHelpers::makeValidIdentifier (getProjectNameString(), false, true, false); + return "com." + CodeHelpers::makeValidIdentifier (getCompanyNameOrDefault (getCompanyNameString()), false, true, false) + + "." + CodeHelpers::makeValidIdentifier (getProjectNameString(), false, true, false); } String Project::getDefaultPluginManufacturerString() const diff --git a/extras/Projucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h index b9414d44..ed96df9b 100644 --- a/extras/Projucer/Source/Project/jucer_Project.h +++ b/extras/Projucer/Source/Project/jucer_Project.h @@ -42,7 +42,7 @@ class Project : public FileBasedDocument, public: //============================================================================== Project (const File&); - ~Project(); + ~Project() override; //============================================================================== // FileBasedDocument stuff.. @@ -98,6 +98,8 @@ public: String getProjectFilenameRootString() { return File::createLegalFileName (getDocumentTitle()); } String getProjectUIDString() const { return projectUIDValue.get(); } + String getProjectLineFeed() const { return projectLineFeedValue.get(); } + String getVersionString() const { return versionValue.get(); } String getVersionAsHex() const; int getVersionAsHexInteger() const; @@ -127,6 +129,10 @@ public: String getCppStandardString() const { return cppStandardValue.get(); } + StringArray getCompilerFlagSchemes() const; + void addCompilerFlagScheme (const String&); + void removeCompilerFlagScheme (const String&); + //============================================================================== String getPluginNameString() const { return pluginNameValue.get(); } String getPluginDescriptionString() const { return pluginDescriptionValue.get();} @@ -136,7 +142,8 @@ public: String getPluginChannelConfigsString() const { return pluginChannelConfigsValue.get(); } String getAAXIdentifierString() const { return pluginAAXIdentifierValue.get(); } String getPluginAUExportPrefixString() const { return pluginAUExportPrefixValue.get(); } - String getPluginAUMainTypeString() const { return pluginAUMainTypeValue.get(); } + String getVSTNumMIDIInputsString() const { return pluginVSTNumMidiInputsValue.get(); } + String getVSTNumMIDIOutputsString() const { return pluginVSTNumMidiOutputsValue.get(); } //============================================================================== static bool checkMultiChoiceVar (const ValueWithDefault& valueToCheck, Identifier idToCheck) noexcept @@ -278,6 +285,12 @@ public: bool isModuleCode() const; + Value getCompilerFlagSchemeValue(); + String getCompilerFlagSchemeString() const; + + void setCompilerFlagScheme (const String&); + void clearCurrentCompilerFlagScheme(); + //============================================================================== bool canContain (const Item& child) const; int getNumChildren() const { return state.getNumChildren(); } @@ -409,13 +422,15 @@ public: private: ValueTree projectRoot { Ids::JUCERPROJECT }; - ValueWithDefault projectNameValue, projectUIDValue, projectTypeValue, versionValue, bundleIdentifierValue, companyNameValue, companyCopyrightValue, - companyWebsiteValue, companyEmailValue, displaySplashScreenValue, reportAppUsageValue, splashScreenColourValue, cppStandardValue, - headerSearchPathsValue, preprocessorDefsValue, userNotesValue, maxBinaryFileSizeValue, includeBinaryDataInJuceHeaderValue, binaryDataNamespaceValue; + ValueWithDefault projectNameValue, projectUIDValue, projectLineFeedValue, projectTypeValue, versionValue, bundleIdentifierValue, companyNameValue, + companyCopyrightValue, companyWebsiteValue, companyEmailValue, displaySplashScreenValue, reportAppUsageValue, splashScreenColourValue, cppStandardValue, + headerSearchPathsValue, preprocessorDefsValue, userNotesValue, maxBinaryFileSizeValue, includeBinaryDataInJuceHeaderValue, binaryDataNamespaceValue, + compilerFlagSchemesValue; ValueWithDefault pluginFormatsValue, pluginNameValue, pluginDescriptionValue, pluginManufacturerValue, pluginManufacturerCodeValue, pluginCodeValue, pluginChannelConfigsValue, pluginCharacteristicsValue, pluginAUExportPrefixValue, pluginAAXIdentifierValue, - pluginAUMainTypeValue, pluginAUSandboxSafeValue, pluginRTASCategoryValue, pluginVSTCategoryValue, pluginVST3CategoryValue, pluginAAXCategoryValue; + pluginAUMainTypeValue, pluginAUSandboxSafeValue, pluginRTASCategoryValue, pluginVSTCategoryValue, pluginVST3CategoryValue, pluginAAXCategoryValue, + pluginVSTNumMidiInputsValue, pluginVSTNumMidiOutputsValue; //============================================================================== std::unique_ptr compileEngineSettings; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h index b81bd63b..59595865 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h @@ -55,6 +55,7 @@ public: { case ProjectType::Target::GUIApp: case ProjectType::Target::StaticLibrary: + case ProjectType::Target::DynamicLibrary: case ProjectType::Target::StandalonePlugIn: return true; default: @@ -93,27 +94,29 @@ public: } //============================================================================== - ValueWithDefault androidJavaLibs, androidRepositories, androidDependencies, androidScreenOrientation, androidActivityClass, - androidActivitySubClassName, androidActivityBaseClassName, androidManifestCustomXmlElements, androidVersionCode, - androidMinimumSDK, androidTheme, androidSharedLibraries, androidStaticLibraries, androidExtraAssetsFolder, + ValueWithDefault androidJavaLibs, androidAdditionalJavaFolders, androidAdditionalResourceFolders, androidRepositories, androidDependencies, androidScreenOrientation, + androidCustomActivityClass, androidCustomApplicationClass, androidManifestCustomXmlElements, androidVersionCode, + androidMinimumSDK, androidTargetSDK, androidTheme, androidSharedLibraries, androidStaticLibraries, androidExtraAssetsFolder, androidOboeRepositoryPath, androidInternetNeeded, androidMicNeeded, androidCameraNeeded, androidBluetoothNeeded, androidExternalReadPermission, androidExternalWritePermission, androidInAppBillingPermission, androidVibratePermission,androidOtherPermissions, androidEnableRemoteNotifications, androidRemoteNotificationsConfigFile, androidEnableContentSharing, androidKeyStore, - androidKeyStorePass, androidKeyAlias, androidKeyAliasPass, gradleVersion, gradleToolchain, androidPluginVersion, buildToolsVersion; + androidKeyStorePass, androidKeyAlias, androidKeyAliasPass, gradleVersion, gradleToolchain, androidPluginVersion; //============================================================================== AndroidProjectExporter (Project& p, const ValueTree& t) : ProjectExporter (p, t), androidJavaLibs (settings, Ids::androidJavaLibs, getUndoManager()), + androidAdditionalJavaFolders (settings, Ids::androidAdditionalJavaFolders, getUndoManager()), + androidAdditionalResourceFolders (settings, Ids::androidAdditionalResourceFolders, getUndoManager()), androidRepositories (settings, Ids::androidRepositories, getUndoManager()), androidDependencies (settings, Ids::androidDependencies, getUndoManager()), androidScreenOrientation (settings, Ids::androidScreenOrientation, getUndoManager(), "unspecified"), - androidActivityClass (settings, Ids::androidActivityClass, getUndoManager(), createDefaultClassName()), - androidActivitySubClassName (settings, Ids::androidActivitySubClassName, getUndoManager()), - androidActivityBaseClassName (settings, Ids::androidActivityBaseClassName, getUndoManager(), "Activity"), + androidCustomActivityClass (settings, Ids::androidCustomActivityClass, getUndoManager()), + androidCustomApplicationClass (settings, Ids::androidCustomApplicationClass, getUndoManager(), "com.roli.juce.JuceApp"), androidManifestCustomXmlElements (settings, Ids::androidManifestCustomXmlElements, getUndoManager()), androidVersionCode (settings, Ids::androidVersionCode, getUndoManager(), "1"), - androidMinimumSDK (settings, Ids::androidMinimumSDK, getUndoManager(), "10"), + androidMinimumSDK (settings, Ids::androidMinimumSDK, getUndoManager(), "16"), + androidTargetSDK (settings, Ids::androidTargetSDK, getUndoManager(), "28"), androidTheme (settings, Ids::androidTheme, getUndoManager()), androidSharedLibraries (settings, Ids::androidSharedLibraries, getUndoManager()), androidStaticLibraries (settings, Ids::androidStaticLibraries, getUndoManager()), @@ -135,10 +138,9 @@ public: androidKeyStorePass (settings, Ids::androidKeyStorePass, getUndoManager(), "android"), androidKeyAlias (settings, Ids::androidKeyAlias, getUndoManager(), "androiddebugkey"), androidKeyAliasPass (settings, Ids::androidKeyAliasPass, getUndoManager(), "android"), - gradleVersion (settings, Ids::gradleVersion, getUndoManager(), "4.4"), + gradleVersion (settings, Ids::gradleVersion, getUndoManager(), "4.10"), gradleToolchain (settings, Ids::gradleToolchain, getUndoManager(), "clang"), - androidPluginVersion (settings, Ids::androidPluginVersion, getUndoManager(), "3.1.3"), - buildToolsVersion (settings, Ids::buildToolsVersion, getUndoManager(), "28.0.0"), + androidPluginVersion (settings, Ids::androidPluginVersion, getUndoManager(), "3.2.1"), AndroidExecutable (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString()) { name = getName(); @@ -150,7 +152,7 @@ public: void createToolchainExporterProperties (PropertyListBuilder& props) { props.add (new TextPropertyComponent (gradleVersion, "Gradle Version", 32, false), - "The version of gradle that is used to build this app (4.4 is fine for JUCE)"); + "The version of gradle that is used to build this app (4.10 is fine for JUCE)"); props.add (new TextPropertyComponent (androidPluginVersion, "Android Plug-in Version", 32, false), "The version of the android build plugin for gradle that is used to build this app"); @@ -159,9 +161,6 @@ public: { "clang", "gcc" }, { "clang", "gcc" }), "The toolchain that gradle should invoke for NDK compilation (variable model.android.ndk.tooclhain in app/build.gradle)"); - - props.add (new TextPropertyComponent (buildToolsVersion, "Android Build Tools Version", 32, false), - "The Android build tools version that should use to build this app"); } void createLibraryModuleExporterProperties (PropertyListBuilder& props) @@ -201,15 +200,11 @@ public: auto appFolder = targetFolder.getChildFile (isLibrary() ? "lib" : "app"); removeOldFiles (targetFolder); - - if (! isLibrary()) - copyJavaFiles (modules); - copyExtraResourceFiles(); writeFile (targetFolder, "settings.gradle", isLibrary() ? "include ':lib'" : "include ':app'"); writeFile (targetFolder, "build.gradle", getProjectBuildGradleFileContent()); - writeFile (appFolder, "build.gradle", getAppBuildGradleFileContent()); + writeFile (appFolder, "build.gradle", getAppBuildGradleFileContent (modules)); writeFile (targetFolder, "local.properties", getLocalPropertiesFileContent()); writeFile (targetFolder, "gradle/wrapper/gradle-wrapper.properties", getGradleWrapperPropertiesFileContent()); @@ -224,8 +219,9 @@ public: if (! isLibrary()) { - writeStringsXML (targetFolder); - writeAppIcons (targetFolder); + copyAdditionalJavaLibs (appFolder); + writeStringsXML (targetFolder); + writeAppIcons (targetFolder); } writeCmakeFile (appFolder.getChildFile ("CMakeLists.txt")); @@ -258,6 +254,8 @@ public: void writeFile (const File& gradleProjectFolder, const String& filePath, const String& fileContent) const { MemoryOutputStream outStream; + outStream.setNewLineString ("\n"); + outStream << fileContent; overwriteFileIfDifferentOrThrow (gradleProjectFolder.getChildFile (filePath), outStream); } @@ -265,6 +263,8 @@ public: void writeBinaryFile (const File& gradleProjectFolder, const String& filePath, const char* binaryData, const int binarySize) const { MemoryOutputStream outStream; + outStream.setNewLineString ("\n"); + outStream.write (binaryData, static_cast (binarySize)); overwriteFileIfDifferentOrThrow (gradleProjectFolder.getChildFile (filePath), outStream); } @@ -276,7 +276,7 @@ protected: public: AndroidBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e) : BuildConfiguration (p, settings, e), - androidArchitectures (config, Ids::androidArchitectures, getUndoManager(), isDebug() ? "armeabi-v7a x86" : ""), + androidArchitectures (config, Ids::androidArchitectures, getUndoManager(), isDebug() ? "armeabi-v7a x86 arm64-v8a x86_64" : ""), androidBuildConfigRemoteNotifsConfigFile (config, Ids::androidBuildConfigRemoteNotifsConfigFile, getUndoManager()), androidAdditionalXmlValueResources (config, Ids::androidAdditionalXmlValueResources, getUndoManager()), androidAdditionalDrawableResources (config, Ids::androidAdditionalDrawableResources, getUndoManager()), @@ -299,7 +299,7 @@ protected: addGCCOptimisationProperty (props); props.add (new TextPropertyComponent (androidArchitectures, "Architectures", 256, false), - "A list of the ARM architectures to build (for a fat binary). Leave empty to build for all possible android architectures."); + "A list of the architectures to build (for a fat binary). Leave empty to build for all possible android architectures."); props.add (new TextPropertyComponent (androidBuildConfigRemoteNotifsConfigFile.getPropertyAsValue(), "Remote Notifications Config File", 2048, false), "Path to google-services.json file. This will be the file provided by Firebase when creating a new app in Firebase console. " @@ -355,6 +355,7 @@ private: void writeCmakeFile (const File& file) const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); mo << "# Automatically generated makefile, created by the Projucer" << newLine << "# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine @@ -367,7 +368,7 @@ private: if (project.getConfigFlag ("JUCE_USE_ANDROID_OBOE").get()) { - String oboePath (androidOboeRepositoryPath.get().toString().quoted()); + String oboePath (androidOboeRepositoryPath.get().toString().trim().quoted()); mo << "SET(OBOE_DIR " << oboePath << ")" << newLine << newLine; mo << "add_subdirectory (${OBOE_DIR} ./oboe)" << newLine << newLine; @@ -500,12 +501,13 @@ private: } Array excludeFromBuild; + Array> extraCompilerFlags; mo << "add_library( ${BINARY_NAME}" << newLine; mo << newLine; mo << " " << (getProject().getProjectType().isStaticLibrary() ? "STATIC" : "SHARED") << newLine; mo << newLine; - addCompileUnits (mo, excludeFromBuild); + addCompileUnits (mo, excludeFromBuild, extraCompilerFlags); mo << ")" << newLine << newLine; if (excludeFromBuild.size() > 0) @@ -516,6 +518,14 @@ private: mo << newLine; } + if (! extraCompilerFlags.isEmpty()) + { + for (auto& extra : extraCompilerFlags) + mo << "set_source_files_properties(\"" << extra.first.toUnixStyle() << "\" PROPERTIES COMPILE_FLAGS " << extra.second << " )" << newLine; + + mo << newLine; + } + auto libraries = getAndroidLibraries(); if (libraries.size() > 0) { @@ -549,6 +559,7 @@ private: String getProjectBuildGradleFileContent() const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); mo << "buildscript {" << newLine; mo << " repositories {" << newLine; @@ -583,14 +594,15 @@ private: } //============================================================================== - String getAppBuildGradleFileContent() const + String getAppBuildGradleFileContent (const OwnedArray& modules) const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); + mo << "apply plugin: 'com.android." << (isLibrary() ? "library" : "application") << "'" << newLine << newLine; mo << "android {" << newLine; - mo << " compileSdkVersion " << static_cast (androidMinimumSDK.get()) << newLine; - mo << " buildToolsVersion \"" << buildToolsVersion.get().toString() << "\"" << newLine; + mo << " compileSdkVersion " << static_cast (androidTargetSDK.get()) << newLine; mo << " externalNativeBuild {" << newLine; mo << " cmake {" << newLine; mo << " path \"CMakeLists.txt\"" << newLine; @@ -603,6 +615,7 @@ private: mo << getAndroidProductFlavours() << newLine; mo << getAndroidVariantFilter() << newLine; + mo << getAndroidJavaSourceSets (modules) << newLine; mo << getAndroidRepositories() << newLine; mo << getAndroidDependencies() << newLine; mo << getApplyPlugins() << newLine; @@ -615,6 +628,7 @@ private: String getAndroidProductFlavours() const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); mo << " flavorDimensions \"default\"" << newLine; mo << " productFlavors {" << newLine; @@ -658,6 +672,7 @@ private: String getAndroidSigningConfig() const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); auto keyStoreFilePath = androidKeyStore.get().toString().replace ("${user.home}", "${System.properties['user.home']}") .replace ("/", "${File.separator}"); @@ -682,8 +697,10 @@ private: auto cFlags = getProjectCompilerFlags(); auto cxxFlags = getProjectCxxCompilerFlags(); auto minSdkVersion = static_cast (androidMinimumSDK.get()); + auto targetSdkVersion = static_cast (androidTargetSDK.get()); MemoryOutputStream mo; + mo.setNewLineString ("\n"); mo << " defaultConfig {" << newLine; @@ -691,7 +708,7 @@ private: mo << " applicationId \"" << bundleIdentifier << "\"" << newLine; mo << " minSdkVersion " << minSdkVersion << newLine; - mo << " targetSdkVersion " << minSdkVersion << newLine; + mo << " targetSdkVersion " << targetSdkVersion << newLine; mo << " externalNativeBuild {" << newLine; mo << " cmake {" << newLine; @@ -714,6 +731,7 @@ private: String getAndroidBuildTypes() const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); mo << " buildTypes {" << newLine; @@ -744,6 +762,7 @@ private: String getAndroidVariantFilter() const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); mo << " variantFilter { variant ->" << newLine; mo << " def names = variant.flavors*.name" << newLine; @@ -766,15 +785,16 @@ private: String getAndroidRepositories() const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); auto repositories = StringArray::fromLines (androidRepositories.get().toString()); - mo << "repositories {" << newLine; + mo << " repositories {" << newLine; for (auto& r : repositories) - mo << " " << r << newLine; + mo << " " << r << newLine; - mo << "}" << newLine; + mo << " }" << newLine; return mo.toString(); } @@ -782,21 +802,23 @@ private: String getAndroidDependencies() const { MemoryOutputStream mo; - mo << "dependencies {" << newLine; + mo.setNewLineString ("\n"); + + mo << " dependencies {" << newLine; for (auto& d : StringArray::fromLines (androidDependencies.get().toString())) - mo << " " << d << newLine; + mo << " " << d << newLine; for (auto& d : StringArray::fromLines (androidJavaLibs.get().toString())) - mo << " implementation files('libs/" << File (d).getFileName() << "')" << newLine; + mo << " implementation files('libs/" << File (d).getFileName() << "')" << newLine; if (androidEnableRemoteNotifications.get()) { - mo << " 'com.google.firebase:firebase-core:11.4.0'" << newLine; - mo << " compile 'com.google.firebase:firebase-messaging:11.4.0'" << newLine; + mo << " 'com.google.firebase:firebase-core:11.4.0'" << newLine; + mo << " compile 'com.google.firebase:firebase-messaging:11.4.0'" << newLine; } - mo << "}" << newLine; + mo << " }" << newLine; return mo.toString(); } @@ -804,6 +826,7 @@ private: String getApplyPlugins() const { MemoryOutputStream mo; + mo.setNewLineString ("\n"); if (androidEnableRemoteNotifications.get()) mo << "apply plugin: 'com.google.gms.google-services'" << newLine; @@ -811,6 +834,92 @@ private: return mo.toString(); } + void addModuleJavaFolderToSourceSet(StringArray& javaSourceSets, const File& javacore) const + { + if (javacore.isDirectory()) + { + auto appFolder = getTargetFolder().getChildFile ("app"); + + RelativePath relativePath (javacore, appFolder, RelativePath::buildTargetFolder); + javaSourceSets.add (relativePath.toUnixStyle()); + } + } + + String getAndroidJavaSourceSets (const OwnedArray& modules) const + { + auto javaSourceSets = getSourceSetArrayFor (androidAdditionalJavaFolders.get().toString()); + auto resourceSets = getSourceSetArrayFor (androidAdditionalResourceFolders.get().toString()); + + for (auto* module : modules) + { + auto javaFolder = module->getFolder().getChildFile ("native").getChildFile ("javacore"); + + addModuleJavaFolderToSourceSet (javaSourceSets, javaFolder.getChildFile("init")); + + if (! isLibrary()) + addModuleJavaFolderToSourceSet (javaSourceSets, javaFolder.getChildFile("app")); + } + + MemoryOutputStream mo; + mo.setNewLineString ("\n"); + + mo << " sourceSets {" << newLine; + mo << getSourceSetStringFor ("main.java.srcDirs", javaSourceSets); + mo << newLine; + mo << getSourceSetStringFor ("main.res.srcDirs", resourceSets); + mo << " }" << newLine; + + return mo.toString(); + } + + StringArray getSourceSetArrayFor (const String& srcDirs) const + { + StringArray sourceSets; + + for (auto folder : StringArray::fromLines (srcDirs)) + { + if (File::isAbsolutePath (folder)) + { + sourceSets.add (folder); + } + else + { + auto appFolder = getTargetFolder().getChildFile ("app"); + + auto relativePath = RelativePath (folder, RelativePath::projectFolder) + .rebased (getProject().getProjectFolder(), appFolder, + RelativePath::buildTargetFolder); + + sourceSets.add (relativePath.toUnixStyle()); + } + } + + return sourceSets; + } + + static String getSourceSetStringFor (const String& type, const StringArray& srcDirs) + { + String s; + + s << " " << type << " +=" << newLine; + s << " ["; + + bool isFirst = true; + + for (auto sourceSet : srcDirs) + { + if (! isFirst) + s << "," << newLine << " "; + + isFirst = false; + s << "\"" << sourceSet << "\""; + } + + s << "]" << newLine; + + return replaceLineFeeds (s, "\n"); + } + //============================================================================== String getLocalPropertiesFileContent() const { @@ -819,7 +928,7 @@ private: props << "ndk.dir=" << sanitisePath (getAppSettings().getStoredPath (Ids::androidNDKPath, TargetOS::getThisOS()).get().toString()) << newLine << "sdk.dir=" << sanitisePath (getAppSettings().getStoredPath (Ids::androidSDKPath, TargetOS::getThisOS()).get().toString()) << newLine; - return props; + return replaceLineFeeds (props, "\n"); } String getGradleWrapperPropertiesFileContent() const @@ -835,7 +944,17 @@ private: //============================================================================== void createBaseExporterProperties (PropertyListBuilder& props) { - props.add (new TextPropertyComponent (androidJavaLibs, "Java Libraries to Include", 32768, true), + props.add (new TextPropertyComponent (androidAdditionalJavaFolders, "Java Source code folders", 32768, true), + "Folders inside which additional java source files can be found (one per line). For example, if you " + "are using your own Activity you should place the java files for this into a folder and add the folder " + "path to this field."); + + props.add (new TextPropertyComponent (androidAdditionalResourceFolders, "Resource folders", 32768, true), + "Folders inside which additional resource files can be found (one per line). For example, if you " + "want to add your own layout xml files then you should place a layout xml file inside a folder and add " + "the folder path to this field."); + + props.add (new TextPropertyComponent (androidJavaLibs, "Java libraries to include", 32768, true), "Java libs (JAR files) (one per line). These will be copied to app/libs folder and \"implementation files\" " "dependency will be automatically added to module \"dependencies\" section for each library, so do " "not add the dependency yourself."); @@ -853,24 +972,23 @@ private: { "unspecified", "portrait", "landscape" }), "The screen orientations that this app should support"); - props.add (new TextPropertyComponent (androidActivityClass, "Android Activity Class Name", 256, false), - "The full java class name to use for the app's Activity class."); - - props.add (new TextPropertyComponent (androidActivitySubClassName, "Android Activity Sub-Class Name", 256, false), - "If not empty, specifies the Android Activity class name stored in the app's manifest. " - "Use this if you would like to use your own Android Activity sub-class."); + props.add (new TextPropertyComponent (androidCustomActivityClass, "Custom Android Activity", 256, false), + "If not empty, specifies the Android Activity class name stored in the app's manifest which " + "should be used instead of Android's default Activity."); - props.add (new TextPropertyComponent (androidActivityBaseClassName, "Android Activity Base Class", 256, false), - "If not empty, specifies the base class to use for your activity. If custom base class is " - "specified, that base class should be a sub-class of android.app.Activity. When empty, Activity " - "(android.app.Activity) will be used as the base class. " - "Use this if you would like to use your own Android Activity base class."); + props.add (new TextPropertyComponent (androidCustomApplicationClass, "Custom Android Application", 256, false), + "If not empty, specifies the Android Application class name stored in the app's manifest which " + "should be used instead of JUCE's default JuceApp class. If you specify a custom App then you must " + "call com.roli.juce.Java.initialiseJUCE somewhere in your code before calling any JUCE functions."); props.add (new TextPropertyComponent (androidVersionCode, "Android Version Code", 32, false), "An integer value that represents the version of the application code, relative to other versions."); props.add (new TextPropertyComponent (androidMinimumSDK, "Minimum SDK Version", 32, false), - "The number of the minimum version of the Android SDK that the app requires"); + "The number of the minimum version of the Android SDK that the app requires (must be 16 or higher)."); + + props.add (new TextPropertyComponent (androidTargetSDK, "Target SDK Version", 32, false), + "The number of the version of the Android SDK that the app is targeting."); props.add (new TextPropertyComponent (androidExtraAssetsFolder, "Extra Android Assets", 256, false), "A path to a folder (relative to the project folder) which contains extra android assets."); @@ -950,353 +1068,24 @@ private: } //============================================================================== - String createDefaultClassName() const - { - auto s = project.getBundleIdentifierString().toLowerCase(); - - if (s.length() > 5 - && s.containsChar ('.') - && s.containsOnly ("abcdefghijklmnopqrstuvwxyz_.") - && ! s.startsWithChar ('.')) - { - if (! s.endsWithChar ('.')) - s << "."; - } - else - { - s = "com.yourcompany."; - } - - return s + CodeHelpers::makeValidIdentifier (project.getProjectFilenameRootString(), false, true, false); - } - - //============================================================================== - void copyJavaFiles (const OwnedArray& modules) const - { - if (auto* coreModule = getCoreModule (modules)) - { - auto package = getActivityClassPackage(); - auto targetFolder = getTargetFolder(); - - auto inAppBillingPath = String ("com.android.vending.billing").replaceCharacter ('.', File::getSeparatorChar()); - auto javaSourceFolder = coreModule->getFolder().getChildFile ("native").getChildFile ("java"); - auto javaInAppBillingTarget = targetFolder.getChildFile ("app/src/main/java").getChildFile (inAppBillingPath); - auto javaTarget = targetFolder.getChildFile ("app/src/main/java") - .getChildFile (package.replaceCharacter ('.', File::getSeparatorChar())); - auto libTarget = targetFolder.getChildFile ("app/libs"); - libTarget.createDirectory(); - - copyActivityJavaFiles (javaSourceFolder, javaTarget, package); - copyServicesJavaFiles (javaSourceFolder, javaTarget, package); - copyProviderJavaFile (javaSourceFolder, javaTarget, package); - copyAdditionalJavaFiles (javaSourceFolder, javaInAppBillingTarget); - copyAdditionalJavaLibs (libTarget); - } - } - - void copyActivityJavaFiles (const File& javaSourceFolder, const File& targetFolder, const String& package) const - { - if (androidActivityClass.get().toString().contains ("_")) - throw SaveError ("Your Android activity class name or path may not contain any underscores! Try a project name without underscores."); - - auto className = getActivityName(); - - if (className.isEmpty()) - throw SaveError ("Invalid Android Activity class name: " + androidActivityClass.get().toString()); - - createDirectoryOrThrow (targetFolder); - - auto activityCode = getActivityCode (javaSourceFolder, className, package); - - auto javaDestFile = targetFolder.getChildFile (className + ".java"); - overwriteFileIfDifferentOrThrow (javaDestFile, activityCode); - } - - String getActivityCode (const File& javaSourceFolder, const String& className, const String& package) const - { - auto runtimePermissionsCode = getRuntimePermissionsCode (javaSourceFolder, className); - auto midiCode = getMidiCode (javaSourceFolder, className); - auto webViewCode = getWebViewCode (javaSourceFolder); - auto cameraCode = getCameraCode (javaSourceFolder); - auto videoCode = getVideoCode (javaSourceFolder); - - auto javaSourceFile = javaSourceFolder.getChildFile ("JuceAppActivity.java"); - auto javaSourceLines = StringArray::fromLines (javaSourceFile.loadFileAsString()); - - { - MemoryOutputStream newFile; - - for (auto& line : javaSourceLines) - { - if (line.contains ("$$JuceAndroidMidiImports$$")) - newFile << midiCode.imports; - else if (line.contains ("$$JuceAndroidMidiCode$$")) - newFile << midiCode.main; - else if (line.contains ("$$JuceAndroidRuntimePermissionsCode$$")) - newFile << runtimePermissionsCode; - else if (line.contains ("$$JuceAndroidWebViewImports$$")) - newFile << webViewCode.imports; - else if (line.contains ("$$JuceAndroidWebViewNativeCode$$")) - newFile << webViewCode.native; - else if (line.contains ("$$JuceAndroidWebViewCode$$")) - newFile << webViewCode.main; - else if (line.contains ("$$JuceAndroidCameraImports$$")) - newFile << cameraCode.imports; - else if (line.contains ("$$JuceAndroidCameraCode$$")) - newFile << cameraCode.main; - else if (line.contains ("$$JuceAndroidVideoImports$$")) - newFile << videoCode.imports; - else if (line.contains ("$$JuceAndroidVideoCode$$")) - newFile << videoCode.main; - else - newFile << line.replace ("$$JuceAppActivityBaseClass$$", androidActivityBaseClassName.get().toString()) - .replace ("JuceAppActivity", className) - .replace ("package com.juce;", "package " + package + ";") << newLine; - } - - javaSourceLines = StringArray::fromLines (newFile.toString()); - } - - while (javaSourceLines.size() > 2 - && javaSourceLines[javaSourceLines.size() - 1].trim().isEmpty() - && javaSourceLines[javaSourceLines.size() - 2].trim().isEmpty()) - javaSourceLines.remove (javaSourceLines.size() - 1); - - return javaSourceLines.joinIntoString (newLine); - } - - String getRuntimePermissionsCode (const File& javaSourceFolder, const String& className) const - { - if (static_cast (androidMinimumSDK.get()) >= 23) - { - auto javaRuntimePermissions = javaSourceFolder.getChildFile ("AndroidRuntimePermissions.java"); - return javaRuntimePermissions.loadFileAsString().replace ("JuceAppActivity", className); - } - - return {}; - } - - struct MidiCode - { - String imports; - String main; - }; - - MidiCode getMidiCode (const File& javaSourceFolder, const String& className) const - { - String juceMidiCode, juceMidiImports; - - juceMidiImports << newLine; - - if (static_cast (androidMinimumSDK.get()) >= 23) - { - auto javaAndroidMidi = javaSourceFolder.getChildFile ("AndroidMidi.java"); - - juceMidiImports << "import android.media.midi.*;" << newLine - << "import android.bluetooth.*;" << newLine - << "import android.bluetooth.le.*;" << newLine; - - juceMidiCode = javaAndroidMidi.loadFileAsString().replace ("JuceAppActivity", className); - } - else - { - juceMidiCode = javaSourceFolder.getChildFile ("AndroidMidiFallback.java") - .loadFileAsString() - .replace ("JuceAppActivity", className); - } - - return { juceMidiImports, juceMidiCode }; - } - - struct WebViewCode - { - String imports; - String native; - String main; - }; - - WebViewCode getWebViewCode (const File& javaSourceFolder) const - { - String juceWebViewImports, juceWebViewCodeNative, juceWebViewCode; - - if (static_cast (androidMinimumSDK.get()) >= 23) - juceWebViewImports << "import android.webkit.WebResourceError;" << newLine; - - if (static_cast (androidMinimumSDK.get()) >= 21) - juceWebViewImports << "import android.webkit.WebResourceRequest;" << newLine; - - if (static_cast (androidMinimumSDK.get()) >= 11) - juceWebViewImports << "import android.webkit.WebResourceResponse;" << newLine; - - auto javaWebViewFile = javaSourceFolder.getChildFile ("AndroidWebView.java"); - auto juceWebViewCodeAll = javaWebViewFile.loadFileAsString(); - - if (static_cast (androidMinimumSDK.get()) <= 10) - { - juceWebViewCode << juceWebViewCodeAll.fromFirstOccurrenceOf ("$$WebViewApi1_10", false, false) - .upToFirstOccurrenceOf ("WebViewApi1_10$$", false, false); - } - else - { - if (static_cast (androidMinimumSDK.get()) >= 23) - { - juceWebViewCodeNative << juceWebViewCodeAll.fromFirstOccurrenceOf ("$$WebViewNativeApi23", false, false) - .upToFirstOccurrenceOf ("WebViewNativeApi23$$", false, false); - - juceWebViewCode << juceWebViewCodeAll.fromFirstOccurrenceOf ("$$WebViewApi23", false, false) - .upToFirstOccurrenceOf ("WebViewApi23$$", false, false); - } - - if (static_cast (androidMinimumSDK.get()) >= 21) - { - juceWebViewCodeNative << juceWebViewCodeAll.fromFirstOccurrenceOf ("$$WebViewNativeApi21", false, false) - .upToFirstOccurrenceOf ("WebViewNativeApi21$$", false, false); - - juceWebViewCode << juceWebViewCodeAll.fromFirstOccurrenceOf ("$$WebViewApi21", false, false) - .upToFirstOccurrenceOf ("WebViewApi21$$", false, false); - } - else - { - juceWebViewCode << juceWebViewCodeAll.fromFirstOccurrenceOf ("$$WebViewApi11_20", false, false) - .upToFirstOccurrenceOf ("WebViewApi11_20$$", false, false); - } - } - - return { juceWebViewImports, juceWebViewCodeNative, juceWebViewCode }; - } - - struct CameraCode - { - String imports; - String main; - }; - - CameraCode getCameraCode (const File& javaSourceFolder) const - { - String juceCameraImports, juceCameraCode; - - if (static_cast (androidMinimumSDK.get()) >= 21) - { - juceCameraImports << "import android.hardware.camera2.*;" << newLine; - - auto javaCameraFile = javaSourceFolder.getChildFile ("AndroidCamera.java"); - auto juceCameraCodeAll = javaCameraFile.loadFileAsString(); - - juceCameraCode << juceCameraCodeAll.fromFirstOccurrenceOf ("$$CameraApi21", false, false) - .upToFirstOccurrenceOf ("CameraApi21$$", false, false); - } - - return { juceCameraImports, juceCameraCode }; - } - - struct VideoCode - { - String imports; - String main; - }; - - VideoCode getVideoCode (const File& javaSourceFolder) const - { - String juceVideoImports, juceVideoCode; - - if (static_cast (androidMinimumSDK.get()) >= 21) - { - juceVideoImports << "import android.database.ContentObserver;" << newLine; - juceVideoImports << "import android.media.session.*;" << newLine; - juceVideoImports << "import android.media.MediaMetadata;" << newLine; - - auto javaVideoFile = javaSourceFolder.getChildFile ("AndroidVideo.java"); - auto juceVideoCodeAll = javaVideoFile.loadFileAsString(); - - juceVideoCode << juceVideoCodeAll.fromFirstOccurrenceOf ("$$VideoApi21", false, false) - .upToFirstOccurrenceOf ("VideoApi21$$", false, false); - } - - return { juceVideoImports, juceVideoCode }; - } - - void copyAdditionalJavaFiles (const File& sourceFolder, const File& targetFolder) const - { - auto inAppBillingJavaFileName = String ("IInAppBillingService.java"); - - auto inAppBillingJavaSrcFile = sourceFolder.getChildFile (inAppBillingJavaFileName); - auto inAppBillingJavaDestFile = targetFolder.getChildFile (inAppBillingJavaFileName); - - createDirectoryOrThrow (targetFolder); - - jassert (inAppBillingJavaSrcFile.existsAsFile()); - - if (inAppBillingJavaSrcFile.existsAsFile()) - inAppBillingJavaSrcFile.copyFileTo (inAppBillingJavaDestFile); - } - void copyAdditionalJavaLibs (const File& targetFolder) const { + auto libFolder = targetFolder.getChildFile ("libs"); + libFolder.createDirectory(); + auto libPaths = StringArray::fromLines (androidJavaLibs.get().toString()); for (auto& p : libPaths) { - File f = getTargetFolder().getChildFile (p); + auto f = getTargetFolder().getChildFile (p); // Is the path to the java lib correct? jassert (f.existsAsFile()); - f.copyFileTo (targetFolder.getChildFile (f.getFileName())); + f.copyFileTo (libFolder.getChildFile (f.getFileName())); } } - void copyServicesJavaFiles (const File& javaSourceFolder, const File& targetFolder, const String& package) const - { - if (androidEnableRemoteNotifications.get()) - { - String instanceIdFileName ("JuceFirebaseInstanceIdService.java"); - String messagingFileName ("JuceFirebaseMessagingService.java"); - - File instanceIdFile (javaSourceFolder.getChildFile (instanceIdFileName)); - File messagingFile (javaSourceFolder.getChildFile (messagingFileName)); - - jassert (instanceIdFile.existsAsFile()); - jassert (messagingFile .existsAsFile()); - - Array files; - files.add (instanceIdFile); - files.add (messagingFile); - - for (auto& file : files) - { - auto newContent = file.loadFileAsString() - .replace ("package com.juce;", "package " + package + ";"); - auto targetFile = targetFolder.getChildFile (file.getFileName()); - overwriteFileIfDifferentOrThrow (targetFile, newContent); - } - } - } - - void copyProviderJavaFile (const File& javaSourceFolder, const File& targetFolder, const String& package) const - { - auto providerFile = javaSourceFolder.getChildFile ("AndroidSharingContentProvider.java"); - - jassert (providerFile.existsAsFile()); - - auto targetFile = targetFolder.getChildFile ("SharingContentProvider.java"); - - auto fileContent = providerFile.loadFileAsString() - .replace ("package com.juce;", "package " + package + ";"); - - auto commonStart = fileContent.upToFirstOccurrenceOf ("$$ContentProviderApi11", false, false); - auto commonEnd = fileContent.fromFirstOccurrenceOf ("ContentProviderApi11$$", false, false); - - auto middleContent = static_cast (androidMinimumSDK.get()) >= 11 - ? fileContent.fromFirstOccurrenceOf ("$$ContentProviderApi11", false, false) - .upToFirstOccurrenceOf ("ContentProviderApi11$$", false, false) - : String(); - - auto newContent = commonStart; - newContent << middleContent << commonEnd; - - overwriteFileIfDifferentOrThrow (targetFile, newContent); - } - void copyExtraResourceFiles() const { for (ConstConfigIterator config (*this); config.next();) @@ -1346,26 +1135,23 @@ private: } } - String getActivityName() const - { - return androidActivityClass.get().toString().fromLastOccurrenceOf (".", false, false); - } - - String getActivitySubClassName() const + String getActivityClass() const { - auto activityPath = androidActivitySubClassName.get().toString(); + auto customActivityClass = androidCustomActivityClass.get().toString(); - return (activityPath.isEmpty()) ? getActivityName() : activityPath.fromLastOccurrenceOf (".", false, false); + return (customActivityClass.isEmpty()) ? "android.app.Activity" : customActivityClass; } - String getActivityClassPackage() const + String getApplicationClass() const { - return androidActivityClass.get().toString().upToLastOccurrenceOf (".", false, false); + auto customApplicationClass = androidCustomApplicationClass.get().toString(); + + return (customApplicationClass.isEmpty()) ? "com.roli.juce.JuceApp" : customApplicationClass; } String getJNIActivityClassName() const { - return androidActivityClass.get().toString().replaceCharacter ('.', '/'); + return getActivityClass().replaceCharacter ('.', '/'); } static LibraryModule* getCoreModule (const OwnedArray& modules) @@ -1432,7 +1218,9 @@ private: createDirectoryOrThrow (file.getParentDirectory()); PNGImageFormat png; + MemoryOutputStream mo; + mo.setNewLineString ("\n"); if (! png.writeImageToStream (im, mo)) throw SaveError ("Can't generate Android icon file"); @@ -1479,32 +1267,45 @@ private: } //============================================================================== - void addCompileUnits (const Project::Item& projectItem, MemoryOutputStream& mo, Array& excludeFromBuild) const + void addCompileUnits (const Project::Item& projectItem, MemoryOutputStream& mo, + Array& excludeFromBuild, Array>& extraCompilerFlags) const { if (projectItem.isGroup()) { for (int i = 0; i < projectItem.getNumChildren(); ++i) - addCompileUnits (projectItem.getChild(i), mo, excludeFromBuild); + addCompileUnits (projectItem.getChild(i), mo, excludeFromBuild, extraCompilerFlags); } else if (projectItem.shouldBeAddedToTargetProject()) { - RelativePath file (projectItem.getFile(), getTargetFolder().getChildFile ("app"), RelativePath::buildTargetFolder); - auto targetType = getProject().getTargetTypeFromFilePath (projectItem.getFile(), true); + auto f = projectItem.getFile(); + RelativePath file (f, getTargetFolder().getChildFile ("app"), RelativePath::buildTargetFolder); + + auto targetType = getProject().getTargetTypeFromFilePath (f, true); mo << " \"" << file.toUnixStyle() << "\"" << newLine; - if ((! projectItem.shouldBeCompiled()) || (! shouldFileBeCompiledByDefault (file)) + if ((! projectItem.shouldBeCompiled()) || (! shouldFileBeCompiledByDefault (f)) || (getProject().getProjectType().isAudioPlugin() && targetType != ProjectType::Target::SharedCodeTarget && targetType != ProjectType::Target::StandalonePlugIn)) + { excludeFromBuild.add (file); + } + else + { + auto extraFlags = compilerFlagSchemesMap[projectItem.getCompilerFlagSchemeString()].get().toString(); + + if (extraFlags.isNotEmpty()) + extraCompilerFlags.add ({ file, extraFlags }); + } } } - void addCompileUnits (MemoryOutputStream& mo, Array& excludeFromBuild) const + void addCompileUnits (MemoryOutputStream& mo, Array& excludeFromBuild, + Array>& extraCompilerFlags) const { for (int i = 0; i < getAllGroups().size(); ++i) - addCompileUnits (getAllGroups().getReference(i), mo, excludeFromBuild); + addCompileUnits (getAllGroups().getReference(i), mo, excludeFromBuild, extraCompilerFlags); } //============================================================================== @@ -1572,34 +1373,17 @@ private: defines.set ("JUCE_ANDROID", "1"); defines.set ("JUCE_ANDROID_API_VERSION", androidMinimumSDK.get()); - defines.set ("JUCE_ANDROID_ACTIVITY_CLASSNAME", getJNIActivityClassName().replaceCharacter ('/', '_')); - defines.set ("JUCE_ANDROID_ACTIVITY_CLASSPATH", "\"" + getJNIActivityClassName() + "\""); - defines.set ("JUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSNAME", getSharingContentProviderClassName().replaceCharacter('.', '_')); - defines.set ("JUCE_ANDROID_SHARING_CONTENT_PROVIDER_CLASSPATH", "\"" + getSharingContentProviderClassName().replaceCharacter('.', '/') + "\""); defines.set ("JUCE_PUSH_NOTIFICATIONS", "1"); if (androidInAppBillingPermission.get()) defines.set ("JUCE_IN_APP_PURCHASES", "1"); - if (androidEnableRemoteNotifications.get()) - { - auto instanceIdClassName = getActivityClassPackage() + ".JuceFirebaseInstanceIdService"; - auto messagingClassName = getActivityClassPackage() + ".JuceFirebaseMessagingService"; - defines.set ("JUCE_FIREBASE_INSTANCE_ID_SERVICE_CLASSNAME", instanceIdClassName.replaceCharacter ('.', '_')); - defines.set ("JUCE_FIREBASE_MESSAGING_SERVICE_CLASSNAME", messagingClassName.replaceCharacter ('.', '_')); - } - if (supportsGLv3()) defines.set ("JUCE_ANDROID_GL_ES_VERSION_3_0", "1"); return defines; } - String getSharingContentProviderClassName() const - { - return getActivityClassPackage() + ".SharingContentProvider"; - } - StringPairArray getProjectPreprocessorDefs() const { auto defines = getAndroidPreprocessorDefs(); @@ -1737,7 +1521,7 @@ private: setAttributeIfNotPresent (*manifest, "xmlns:android", "http://schemas.android.com/apk/res/android"); setAttributeIfNotPresent (*manifest, "android:versionCode", androidVersionCode.get()); setAttributeIfNotPresent (*manifest, "android:versionName", project.getVersionString()); - setAttributeIfNotPresent (*manifest, "package", getActivityClassPackage()); + setAttributeIfNotPresent (*manifest, "package", project.getBundleIdentifierString()); return manifest; } @@ -1797,6 +1581,7 @@ private: { auto* app = getOrCreateChildWithName (manifest, "application"); setAttributeIfNotPresent (*app, "android:label", "@string/app_name"); + setAttributeIfNotPresent (*app, "android:name", getApplicationClass()); if (androidTheme.get().toString().isNotEmpty()) setAttributeIfNotPresent (*app, "android:theme", androidTheme.get()); @@ -1826,7 +1611,7 @@ private: { auto* act = getOrCreateChildWithName (application, "activity"); - setAttributeIfNotPresent (*act, "android:name", getActivitySubClassName()); + setAttributeIfNotPresent (*act, "android:name", getActivityClass()); setAttributeIfNotPresent (*act, "android:label", "@string/app_name"); if (! act->hasAttribute ("android:configChanges")) @@ -1918,8 +1703,9 @@ private: if (androidEnableContentSharing.get()) { auto* provider = application.createNewChildElement ("provider"); - provider->setAttribute ("android:name", getSharingContentProviderClassName()); - provider->setAttribute ("android:authorities", getSharingContentProviderClassName().toLowerCase()); + + provider->setAttribute ("android:name", "com.roli.juce.JuceSharingContentProvider"); + provider->setAttribute ("android:authorities", project.getBundleIdentifierString().toLowerCase() + ".sharingcontentprovider"); provider->setAttribute ("android:grantUriPermissions", "true"); provider->setAttribute ("android:exported", "false"); } diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h index 1c513695..88d6ec4a 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h @@ -149,8 +149,8 @@ public: << "Add these exporters to the project to enable CLion builds." << newLine << newLine << "Not all features of all the exporters are currently supported. Notable omissions are AUv3 " - << "plug-ins, embedding resources and fat binaries on MacOS, and adding application icons. On " - << "Windows the CLion exporter requires a GCC-based compiler like MinGW."; + << "plug-ins, embedding resources and fat binaries on MacOS. On Windows the CLion exporter " + << "requires a GCC-based compiler like MinGW."; return description; } @@ -169,9 +169,10 @@ public: void create (const OwnedArray&) const override { MemoryOutputStream out; + out.setNewLineString ("\n"); out << "# Automatically generated CMakeLists, created by the Projucer" << newLine - << "# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine + << "# Do not edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine << newLine; out << "cmake_minimum_required (VERSION 3.4.1)" << newLine @@ -198,7 +199,9 @@ public: MemoryBlock existingContent; getTargetFolder().getChildFile ("CMakeLists.txt").loadFileAsData (existingContent); + MemoryOutputStream out (existingContent, true); + out.setNewLineString ("\n"); out << "###############################################################################" << newLine << "# " << exporter->getName() << newLine @@ -299,7 +302,7 @@ private: } template - void getFileInfoList (Target& target, Exporter& exporter, const Project::Item& projectItem, std::vector>& fileInfoList) const + void getFileInfoList (Target& target, Exporter& exporter, const Project::Item& projectItem, std::vector>& fileInfoList) const { auto targetType = (getProject().getProjectType().isAudioPlugin() ? target.type : Target::Type::SharedCodeTarget); @@ -311,7 +314,9 @@ private: else if (projectItem.shouldBeAddedToTargetProject() && getProject().getTargetTypeFromFilePath (projectItem.getFile(), true) == targetType ) { auto path = RelativePath (projectItem.getFile(), exporter.getTargetFolder(), RelativePath::buildTargetFolder).toUnixStyle(); - fileInfoList.push_back ({ path, projectItem.shouldBeCompiled() }); + + fileInfoList.push_back (std::make_tuple (path, projectItem.shouldBeCompiled(), + exporter.compilerFlagSchemesMap[projectItem.getCompilerFlagSchemeString()].get().toString())); } } @@ -333,7 +338,7 @@ private: functionName = "add_executable"; if (exporter.isCodeBlocks() && exporter.isWindows() - && target->type != ProjectType::Target::Type::ConsoleApp) + && target->type != ProjectType::Target::Type::ConsoleApp) properties.add ("WIN32"); break; @@ -361,27 +366,69 @@ private: out << newLine; - std::vector> fileInfoList; + std::vector> fileInfoList; for (auto& group : exporter.getAllGroups()) getFileInfoList (*target, exporter, group, fileInfoList); for (auto& fileInfo : fileInfoList) - out << " " << fileInfo.first.quoted() << newLine; + out << " " << std::get<0> (fileInfo).quoted() << newLine; auto isCMakeBundle = exporter.isXcode() && target->getTargetFileType() == ProjectType::Target::TargetFileType::pluginBundle; - String pkgInfoPath = File (getTargetFolder().getChildFile ("PkgInfo")).getFullPathName().quoted(); + auto pkgInfoPath = String ("PkgInfo").quoted(); if (isCMakeBundle) out << " " << pkgInfoPath << newLine; + auto xcodeIcnsFilePath = [&] () -> String + { + if (exporter.isXcode() && target->getTargetFileType() == ProjectType::Target::TargetFileType::executable) + { + auto xcodeIcnsFile = getTargetFolder().getParentDirectory() + .getChildFile ("MacOSX") + .getChildFile ("Icon.icns"); + + if (xcodeIcnsFile.existsAsFile()) + return xcodeIcnsFile.getRelativePathFrom (getTargetFolder()).quoted(); + } + + return {}; + }(); + + if (xcodeIcnsFilePath.isNotEmpty()) + out << " " << xcodeIcnsFilePath << newLine; + + if (exporter.isCodeBlocks() && target->getTargetFileType() == ProjectType::Target::TargetFileType::executable) + { + auto windowsRcFile = getTargetFolder().getParentDirectory() + .getChildFile ("CodeBlocksWindows") + .getChildFile ("resources.rc"); + + if (windowsRcFile.existsAsFile()) + out << " " << windowsRcFile.getRelativePathFrom (getTargetFolder()).quoted() << newLine; + } + out << ")" << newLine << newLine; if (isCMakeBundle) out << "set_source_files_properties (" << pkgInfoPath << " PROPERTIES MACOSX_PACKAGE_LOCATION .)" << newLine; + if (xcodeIcnsFilePath.isNotEmpty()) + out << "set_source_files_properties (" << xcodeIcnsFilePath << " PROPERTIES MACOSX_PACKAGE_LOCATION \"Resources\")" << newLine; + for (auto& fileInfo : fileInfoList) - if (! fileInfo.second) - out << "set_source_files_properties (" << fileInfo.first.quoted() << " PROPERTIES HEADER_FILE_ONLY TRUE)" << newLine; + { + if (std::get<1> (fileInfo)) + { + auto extraCompilerFlags = std::get<2> (fileInfo); + + if (extraCompilerFlags.isNotEmpty()) + out << "set_source_files_properties(" << std::get<0> (fileInfo).quoted() << " PROPERTIES COMPILE_FLAGS " << extraCompilerFlags << " )" << newLine; + } + else + { + out << "set_source_files_properties (" << std::get<0> (fileInfo).quoted() << " PROPERTIES HEADER_FILE_ONLY TRUE)" << newLine; + } + } out << newLine; } @@ -640,7 +687,7 @@ private: if (! isWindowsAbsolutePath (path)) out << "${CMAKE_CURRENT_SOURCE_DIR}/"; - out << path.replace ("\\", "/") << "\\\"\"" << newLine; + out << path.replace ("\\", "/").unquoted() << "\\\"\"" << newLine; } for (auto& flag : exporter.getLinkerFlags (config, *target)) @@ -667,7 +714,7 @@ private: //============================================================================== void writeCMakeListsXcodeSection (OutputStream& out, XcodeProjectExporter& exporter) const { - // We need to dind out the SDK root before defining the project. Unfortunately this is + // We need to find out the SDK root before defining the project. Unfortunately this is // set per-target in the Xcode project, but we want it per-configuration. for (ProjectExporter::ConstConfigIterator c (exporter); c.next();) { @@ -676,8 +723,8 @@ private: for (auto* target : exporter.targets) { if (target->getTargetFileType() == ProjectType::Target::TargetFileType::macOSAppex - || target->type == ProjectType::Target::Type::AggregateTarget - || target->type == ProjectType::Target::Type::AudioUnitv3PlugIn) + || target->type == ProjectType::Target::Type::AggregateTarget + || target->type == ProjectType::Target::Type::AudioUnitv3PlugIn) continue; auto targetAttributes = target->getTargetSettings (config); @@ -705,7 +752,7 @@ private: continue; if (target->type == ProjectType::Target::Type::AudioUnitPlugIn) - out << "find_program (RC_COMPILER Rez NO_DEFAULT_PATHS PATHS /Applications/Xcode.app/Contents/Developer/usr/bin)" << newLine + out << "find_program (RC_COMPILER Rez NO_DEFAULT_PATHS PATHS \"/Applications/Xcode.app/Contents/Developer/usr/bin\")" << newLine << "if (NOT RC_COMPILER)" << newLine << " message (WARNING \"failed to find Rez; older resource-based AU plug-ins may not work correctly\")" << newLine << "endif (NOT RC_COMPILER)" << newLine << newLine; @@ -916,9 +963,12 @@ private: auto resSourcesVar = targetVarName + "_REZ_SOURCES"; auto resOutputVar = targetVarName + "_REZ_OUTPUT"; + auto sdkVersion = config.getOSXSDKVersionString().upToFirstOccurrenceOf (" ", false, false); + auto sysroot = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX" + sdkVersion + ".sdk"; + out << "if (RC_COMPILER)" << newLine << " set (" << resSourcesVar << newLine - << " \"" << item.determineGroupFolder().getFullPathName() + "/include_juce_audio_plugin_client_AU.r\"" << newLine + << " " << item.determineGroupFolder().getChildFile ("include_juce_audio_plugin_client_AU.r").getFullPathName().quoted() << newLine << " )" << newLine << " set (" << resOutputVar << " \"${CMAKE_CURRENT_BINARY_DIR}/" << binaryName << ".rsrc\")" << newLine << " target_sources (" << targetVarName << " PRIVATE" << newLine @@ -927,7 +977,8 @@ private: << " )" << newLine << " execute_process (COMMAND" << newLine << " ${RC_COMPILER}" << newLine - << " " << rezFlags.unquoted().removeCharacters ("\\") << newLine; + << " " << rezFlags.unquoted().removeCharacters ("\\") << newLine + << " -isysroot " << sysroot.quoted() << newLine; for (auto& path : headerSearchPaths) { diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h index a3ca3500..46f23b3e 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h @@ -26,6 +26,7 @@ #pragma once +#include "jucer_ProjectExport_MSVC.h" //============================================================================== class CodeBlocksProjectExporter : public ProjectExporter @@ -150,7 +151,7 @@ public: XmlElement xml ("CodeBlocks_project_file"); addVersion (xml); createProject (*xml.createNewChildElement ("Project")); - writeXmlOrThrow (xml, cbpFile, "UTF-8", 10); + writeXmlOrThrow (xml, cbpFile, "UTF-8", 10, true); } //============================================================================== @@ -180,6 +181,14 @@ public: jassert (targets.size() > 0); } + void initialiseDependencyPathValues() override + { + auto targetOS = isWindows() ? TargetOS::windows : TargetOS::linux; + + vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr }, + getAppSettings().getStoredPath (Ids::vstLegacyPath, targetOS), targetOS); + } + private: ValueWithDefault targetPlatformValue; @@ -307,15 +316,17 @@ private: { auto result = linuxPackages; - static String guiExtrasModule ("juce_gui_extra"); - - if (project.getEnabledModules().isModuleEnabled (guiExtrasModule) + if (project.getEnabledModules().isModuleEnabled ("juce_gui_extra") && project.isConfigFlagEnabled ("JUCE_WEB_BROWSER", true)) { result.add ("webkit2gtk-4.0"); result.add ("gtk+-x11-3.0"); } + if (project.getEnabledModules().isModuleEnabled ("juce_core") + && ! project.isConfigFlagEnabled ("JUCE_LOAD_CURL_SYMBOLS_LAZILY", false)) + result.add ("libcurl"); + result.removeDuplicates (false); return result; @@ -386,6 +397,7 @@ private: StringArray getCompilerFlags (const BuildConfiguration& config, CodeBlocksTarget& target) const { StringArray flags; + if (auto* codeBlocksConfig = dynamic_cast (&config)) flags.add (codeBlocksConfig->getArchitectureTypeString()); @@ -479,7 +491,7 @@ private: auto librarySearchPaths = config.getLibrarySearchPaths(); if (getProject().getProjectType().isAudioPlugin() && target.type != ProjectType::Target::SharedCodeTarget) - librarySearchPaths.add (RelativePath (getSharedCodePath (config), RelativePath::buildTargetFolder).getParentDirectory().toUnixStyle()); + librarySearchPaths.add (RelativePath (getSharedCodePath (config), RelativePath::buildTargetFolder).getParentDirectory().toUnixStyle().quoted()); return librarySearchPaths; } @@ -619,7 +631,7 @@ private: auto* linker = xml.createNewChildElement ("Linker"); if (getProject().getProjectType().isAudioPlugin() && target.type != ProjectType::Target::SharedCodeTarget) - setAddOption (*linker, "option", getSharedCodePath (config)); + setAddOption (*linker, "option", getSharedCodePath (config).quoted()); for (auto& flag : getLinkerFlags (config, target)) setAddOption (*linker, "option", flag); @@ -775,7 +787,20 @@ private: unit->createNewChildElement ("Option")->setAttribute ("target", targetName); } - if (! projectItem.shouldBeCompiled()) + if (projectItem.shouldBeCompiled()) + { + auto extraCompilerFlags = compilerFlagSchemesMap[projectItem.getCompilerFlagSchemeString()].get().toString(); + + if (extraCompilerFlags.isNotEmpty()) + { + auto* optionElement = unit->createNewChildElement ("Option"); + + optionElement->setAttribute ("compiler", "gcc"); + optionElement->setAttribute ("use", 1); + optionElement->setAttribute ("buildCommand", "$compiler $options " + extraCompilerFlags + " $includes -c $file -o $object"); + } + } + else { unit->createNewChildElement ("Option")->setAttribute ("compile", 0); unit->createNewChildElement ("Option")->setAttribute ("link", 0); @@ -783,10 +808,27 @@ private: } } + bool hasResourceFile() const + { + return ! projectType.isStaticLibrary(); + } + void addCompileUnits (XmlElement& xml) const { for (int i = 0; i < getAllGroups().size(); ++i) addCompileUnits (getAllGroups().getReference(i), xml); + + if (hasResourceFile()) + { + auto iconFile = getTargetFolder().getChildFile ("icon.ico"); + MSVCProjectExporterBase::writeIconFile (*this, iconFile); + auto rcFile = getTargetFolder().getChildFile ("resources.rc"); + MSVCProjectExporterBase::createRCFile (project, iconFile, rcFile); + + auto* unit = xml.createNewChildElement ("Unit"); + unit->setAttribute ("filename", rcFile.getFileName()); + unit->createNewChildElement ("Option")->setAttribute ("compilerVar", "WINDRES"); + } } void createProject (XmlElement& xml) const diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h index d91c934d..df3ea3ae 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h @@ -698,7 +698,7 @@ public: } } - if (getOwner().iconFile != File()) + if (getOwner().iconFile.existsAsFile()) { auto* e = otherFilesGroup->createNewChildElement ("None"); e->setAttribute ("Include", prependDot (getOwner().iconFile.getFileName())); @@ -767,8 +767,17 @@ public: if (shouldUseStdCall (path)) e->createNewChildElement ("CallingConvention")->addTextElement ("StdCall"); - if (! projectItem.shouldBeCompiled()) + if (projectItem.shouldBeCompiled()) + { + auto extraCompilerFlags = owner.compilerFlagSchemesMap[projectItem.getCompilerFlagSchemeString()].get().toString(); + + if (extraCompilerFlags.isNotEmpty()) + e->createNewChildElement ("AdditionalOptions")->addTextElement (extraCompilerFlags + " %(AdditionalOptions)"); + } + else + { e->createNewChildElement ("ExcludedFromBuild")->addTextElement ("true"); + } } } else if (path.hasFileExtension (headerFileExtensions)) @@ -884,7 +893,7 @@ public: addFilesToFilter (group, group.getName(), *cpps, *headers, *otherFilesGroup, *groupsXml); } - if (getOwner().iconFile.exists()) + if (getOwner().iconFile.existsAsFile()) { auto* e = otherFilesGroup->createNewChildElement ("None"); e->setAttribute ("Include", prependDot (getOwner().iconFile.getFileName())); @@ -1434,6 +1443,94 @@ public: return false; } + static void writeIconFile (const ProjectExporter& exporter, const File& iconFile) + { + Array images; + int sizes[] = { 16, 32, 48, 256 }; + + for (int i = 0; i < numElementsInArray (sizes); ++i) + { + auto im = exporter.getBestIconForSize (sizes[i], true); + + if (im.isValid()) + images.add (im); + } + + if (images.size() > 0) + { + MemoryOutputStream mo; + writeIconFile (images, mo); + overwriteFileIfDifferentOrThrow (iconFile, mo); + } + } + + static void writeRCValue (MemoryOutputStream& mo, const String& name, const String& value) + { + if (value.isNotEmpty()) + mo << " VALUE \"" << name << "\", \"" + << CppTokeniserFunctions::addEscapeChars (value) << "\\0\"" << newLine; + } + + static void createRCFile (const Project& project, const File& iconFile, const File& rcFile) + { + auto version = project.getVersionString(); + + MemoryOutputStream mo; + + mo << "#ifdef JUCE_USER_DEFINED_RC_FILE" << newLine + << " #include JUCE_USER_DEFINED_RC_FILE" << newLine + << "#else" << newLine + << newLine + << "#undef WIN32_LEAN_AND_MEAN" << newLine + << "#define WIN32_LEAN_AND_MEAN" << newLine + << "#include " << newLine + << newLine + << "VS_VERSION_INFO VERSIONINFO" << newLine + << "FILEVERSION " << getCommaSeparatedVersionNumber (version) << newLine + << "BEGIN" << newLine + << " BLOCK \"StringFileInfo\"" << newLine + << " BEGIN" << newLine + << " BLOCK \"040904E4\"" << newLine + << " BEGIN" << newLine; + + writeRCValue (mo, "CompanyName", project.getCompanyNameString()); + writeRCValue (mo, "LegalCopyright", project.getCompanyCopyrightString()); + writeRCValue (mo, "FileDescription", project.getProjectNameString()); + writeRCValue (mo, "FileVersion", version); + writeRCValue (mo, "ProductName", project.getProjectNameString()); + writeRCValue (mo, "ProductVersion", version); + + mo << " END" << newLine + << " END" << newLine + << newLine + << " BLOCK \"VarFileInfo\"" << newLine + << " BEGIN" << newLine + << " VALUE \"Translation\", 0x409, 1252" << newLine + << " END" << newLine + << "END" << newLine + << newLine + << "#endif" << newLine; + + if (iconFile.existsAsFile()) + mo << newLine + << "IDI_ICON1 ICON DISCARDABLE " << iconFile.getFileName().quoted() + << newLine + << "IDI_ICON2 ICON DISCARDABLE " << iconFile.getFileName().quoted(); + + overwriteFileIfDifferentOrThrow (rcFile, mo); + } + + static String getCommaSeparatedVersionNumber (const String& version) + { + auto versionParts = StringArray::fromTokens (version, ",.", ""); + versionParts.trim(); + versionParts.removeEmptyStrings(); + while (versionParts.size() < 4) + versionParts.add ("0"); + + return versionParts.joinIntoString (","); + } + private: //============================================================================== String createRebasedPath (const RelativePath& path) const @@ -1722,98 +1819,13 @@ protected: { if (hasResourceFile()) { - Array images; - int sizes[] = { 16, 32, 48, 256 }; - - for (int i = 0; i < numElementsInArray (sizes); ++i) - { - auto im = getBestIconForSize (sizes[i], true); - if (im.isValid()) - images.add (im); - } - - if (images.size() > 0) - { - iconFile = getTargetFolder().getChildFile ("icon.ico"); - - MemoryOutputStream mo; - writeIconFile (images, mo); - overwriteFileIfDifferentOrThrow (iconFile, mo); - } - - createRCFile(); + iconFile = getTargetFolder().getChildFile ("icon.ico"); + writeIconFile (*this, iconFile); + rcFile = getTargetFolder().getChildFile ("resources.rc"); + createRCFile (project, iconFile, rcFile); } } - void createRCFile() const - { - rcFile = getTargetFolder().getChildFile ("resources.rc"); - - auto version = project.getVersionString(); - - MemoryOutputStream mo; - - mo << "#ifdef JUCE_USER_DEFINED_RC_FILE" << newLine - << " #include JUCE_USER_DEFINED_RC_FILE" << newLine - << "#else" << newLine - << newLine - << "#undef WIN32_LEAN_AND_MEAN" << newLine - << "#define WIN32_LEAN_AND_MEAN" << newLine - << "#include " << newLine - << newLine - << "VS_VERSION_INFO VERSIONINFO" << newLine - << "FILEVERSION " << getCommaSeparatedVersionNumber (version) << newLine - << "BEGIN" << newLine - << " BLOCK \"StringFileInfo\"" << newLine - << " BEGIN" << newLine - << " BLOCK \"040904E4\"" << newLine - << " BEGIN" << newLine; - - writeRCValue (mo, "CompanyName", project.getCompanyNameString()); - writeRCValue (mo, "LegalCopyright", project.getCompanyCopyrightString()); - writeRCValue (mo, "FileDescription", project.getProjectNameString()); - writeRCValue (mo, "FileVersion", version); - writeRCValue (mo, "ProductName", project.getProjectNameString()); - writeRCValue (mo, "ProductVersion", version); - - mo << " END" << newLine - << " END" << newLine - << newLine - << " BLOCK \"VarFileInfo\"" << newLine - << " BEGIN" << newLine - << " VALUE \"Translation\", 0x409, 1252" << newLine - << " END" << newLine - << "END" << newLine - << newLine - << "#endif" << newLine; - - if (iconFile != File()) - mo << newLine - << "IDI_ICON1 ICON DISCARDABLE " << iconFile.getFileName().quoted() - << newLine - << "IDI_ICON2 ICON DISCARDABLE " << iconFile.getFileName().quoted(); - - overwriteFileIfDifferentOrThrow (rcFile, mo); - } - - static void writeRCValue (MemoryOutputStream& mo, const String& name, const String& value) - { - if (value.isNotEmpty()) - mo << " VALUE \"" << name << "\", \"" - << CppTokeniserFunctions::addEscapeChars (value) << "\\0\"" << newLine; - } - - static String getCommaSeparatedVersionNumber (const String& version) - { - auto versionParts = StringArray::fromTokens (version, ",.", ""); - versionParts.trim(); - versionParts.removeEmptyStrings(); - while (versionParts.size() < 4) - versionParts.add ("0"); - - return versionParts.joinIntoString (","); - } - static String prependDot (const String& filename) { return FileHelpers::isAbsolutePath (filename) ? filename diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h index c0e8e58a..d4777189 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h @@ -194,63 +194,31 @@ public: return String (getName()).toUpperCase().replaceCharacter (L' ', L'_'); } - void writeObjects (OutputStream& out) const + void writeObjects (OutputStream& out, const Array>& filesToCompile) const { - Array targetFiles; - for (int i = 0; i < owner.getAllGroups().size(); ++i) - findAllFilesToCompile (owner.getAllGroups().getReference(i), targetFiles); - out << "OBJECTS_" + getTargetVarName() + String (" := \\") << newLine; - for (int i = 0; i < targetFiles.size(); ++i) - out << " $(JUCE_OBJDIR)/" << escapeSpaces (owner.getObjectFileFor (targetFiles.getReference(i))) << " \\" << newLine; + for (auto& f : filesToCompile) + out << " $(JUCE_OBJDIR)/" << escapeSpaces (owner.getObjectFileFor ({ f.first, owner.getTargetFolder(), RelativePath::buildTargetFolder })) << " \\" << newLine; out << newLine; } - void findAllFilesToCompile (const Project::Item& projectItem, Array& results) const - { - if (projectItem.isGroup()) - { - for (int i = 0; i < projectItem.getNumChildren(); ++i) - findAllFilesToCompile (projectItem.getChild(i), results); - } - else - { - if (projectItem.shouldBeCompiled()) - { - auto targetType = (owner.getProject().getProjectType().isAudioPlugin() ? type : SharedCodeTarget); - auto f = projectItem.getFile(); - RelativePath relativePath (f, owner.getTargetFolder(), RelativePath::buildTargetFolder); - - if (owner.shouldFileBeCompiledByDefault (relativePath) - && owner.getProject().getTargetTypeFromFilePath (f, true) == targetType) - results.add (relativePath); - } - } - } - - void addFiles (OutputStream& out) + void addFiles (OutputStream& out, const Array>& filesToCompile) { - Array targetFiles; - for (int i = 0; i < owner.getAllGroups().size(); ++i) - findAllFilesToCompile (owner.getAllGroups().getReference(i), targetFiles); - auto cppflagsVarName = "JUCE_CPPFLAGS_" + getTargetVarName(); auto cflagsVarName = "JUCE_CFLAGS_" + getTargetVarName(); - for (int i = 0; i < targetFiles.size(); ++i) + for (auto& f : filesToCompile) { - jassert (targetFiles.getReference(i).getRoot() == RelativePath::buildTargetFolder); - - out << "$(JUCE_OBJDIR)/" << escapeSpaces (owner.getObjectFileFor (targetFiles.getReference(i))) - << ": " << escapeSpaces (targetFiles.getReference(i).toUnixStyle()) << newLine - << "\t-$(V_AT)mkdir -p $(JUCE_OBJDIR)" << newLine - << "\t@echo \"Compiling " << targetFiles.getReference(i).getFileName() << "\"" << newLine - << (targetFiles.getReference(i).hasFileExtension ("c;s;S") ? "\t$(V_AT)$(CC) $(JUCE_CFLAGS) " - : "\t$(V_AT)$(CXX) $(JUCE_CXXFLAGS) ") - << "$(" << cppflagsVarName << ") $(" << cflagsVarName << ") -o \"$@\" -c \"$<\"" - << newLine + RelativePath relativePath (f.first, owner.getTargetFolder(), RelativePath::buildTargetFolder); + + out << "$(JUCE_OBJDIR)/" << escapeSpaces (owner.getObjectFileFor (relativePath)) << ": " << escapeSpaces (relativePath.toUnixStyle()) << newLine + << "\t-$(V_AT)mkdir -p $(JUCE_OBJDIR)" << newLine + << "\t@echo \"Compiling " << relativePath.getFileName() << "\"" << newLine + << (relativePath.hasFileExtension ("c;s;S") ? "\t$(V_AT)$(CC) $(JUCE_CFLAGS) " : "\t$(V_AT)$(CXX) $(JUCE_CXXFLAGS) ") + << "$(" << cppflagsVarName << ") $(" << cflagsVarName << ")" + << (f.second.isNotEmpty() ? " $(" + owner.getCompilerFlagSchemeVariableName (f.second) + ")" : "") << " -o \"$@\" -c \"$<\"" << newLine << newLine; } } @@ -403,6 +371,12 @@ public: "Extra pkg-config libraries for you application. Each package should be space separated."); } + void initialiseDependencyPathValues() override + { + vstLegacyPathValueWrapper.init ({ settings, Ids::vstLegacyFolder, nullptr }, + getAppSettings().getStoredPath (Ids::vstLegacyPath, TargetOS::linux), TargetOS::linux); + } + //============================================================================== bool anyTargetIsSharedLibrary() const { @@ -422,6 +396,8 @@ public: void create (const OwnedArray&) const override { MemoryOutputStream mo; + mo.setNewLineString ("\n"); + writeMakefile (mo); overwriteFileIfDifferentOrThrow (getTargetFolder().getChildFile ("Makefile"), mo); @@ -728,7 +704,7 @@ private: } out << "all : " << dependencies.joinIntoString (" ") << newLine << newLine; - out << subTargetLines.toString() << newLine << newLine; + out << subTargetLines.toString() << newLine << newLine; } else { @@ -753,15 +729,15 @@ private: outputDir = binaryPath.rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder).toUnixStyle(); } - out << "ifeq ($(CONFIG)," << escapeSpaces (config.getName()) << ")" << newLine; - out << " JUCE_BINDIR := " << escapeSpaces (buildDirName) << newLine - << " JUCE_LIBDIR := " << escapeSpaces (buildDirName) << newLine - << " JUCE_OBJDIR := " << escapeSpaces (intermediatesDirName) << newLine - << " JUCE_OUTDIR := " << escapeSpaces (outputDir) << newLine + out << "ifeq ($(CONFIG)," << escapeSpaces (config.getName()) << ")" << newLine + << " JUCE_BINDIR := " << escapeSpaces (buildDirName) << newLine + << " JUCE_LIBDIR := " << escapeSpaces (buildDirName) << newLine + << " JUCE_OBJDIR := " << escapeSpaces (intermediatesDirName) << newLine + << " JUCE_OUTDIR := " << escapeSpaces (outputDir) << newLine << newLine - << " ifeq ($(TARGET_ARCH),)" << newLine - << " TARGET_ARCH := " << getArchFlags (config) << newLine - << " endif" << newLine + << " ifeq ($(TARGET_ARCH),)" << newLine + << " TARGET_ARCH := " << getArchFlags (config) << newLine + << " endif" << newLine << newLine; writeCppFlags (out, config); @@ -820,37 +796,84 @@ private: } } + static String getCompilerFlagSchemeVariableName (const String& schemeName) { return "JUCE_COMPILERFLAGSCHEME_" + schemeName; } + + void findAllFilesToCompile (const Project::Item& projectItem, Array>& results) const + { + if (projectItem.isGroup()) + { + for (int i = 0; i < projectItem.getNumChildren(); ++i) + findAllFilesToCompile (projectItem.getChild (i), results); + } + else + { + if (projectItem.shouldBeCompiled()) + { + auto f = projectItem.getFile(); + + if (shouldFileBeCompiledByDefault (f)) + { + auto scheme = projectItem.getCompilerFlagSchemeString(); + auto flags = compilerFlagSchemesMap[scheme].get().toString(); + + if (scheme.isNotEmpty() && flags.isNotEmpty()) + results.add ({ f, scheme }); + else + results.add ({ f, {} }); + } + } + } + } + + void writeCompilerFlagSchemes (OutputStream& out, const Array>& filesToCompile) const + { + StringArray schemesToWrite; + + for (auto& f : filesToCompile) + if (f.second.isNotEmpty()) + schemesToWrite.addIfNotAlreadyThere (f.second); + + if (! schemesToWrite.isEmpty()) + { + for (auto& s : schemesToWrite) + out << getCompilerFlagSchemeVariableName (s) << " := " + << compilerFlagSchemesMap[s].get().toString() << newLine; + + out << newLine; + } + } + void writeMakefile (OutputStream& out) const { - out << "# Automatically generated makefile, created by the Projucer" << newLine + out << "# Automatically generated makefile, created by the Projucer" << newLine << "# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!" << newLine << newLine; out << "# build with \"V=1\" for verbose builds" << newLine - << "ifeq ($(V), 1)" << newLine - << "V_AT =" << newLine - << "else" << newLine - << "V_AT = @" << newLine - << "endif" << newLine + << "ifeq ($(V), 1)" << newLine + << "V_AT =" << newLine + << "else" << newLine + << "V_AT = @" << newLine + << "endif" << newLine << newLine; out << "# (this disables dependency generation if multiple architectures are set)" << newLine - << "DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)" << newLine + << "DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)" << newLine << newLine; - out << "ifndef STRIP" << newLine + out << "ifndef STRIP" << newLine << " STRIP=strip" << newLine - << "endif" << newLine + << "endif" << newLine << newLine; out << "ifndef AR" << newLine - << " AR=ar" << newLine - << "endif" << newLine + << " AR=ar" << newLine + << "endif" << newLine << newLine; - out << "ifndef CONFIG" << newLine + out << "ifndef CONFIG" << newLine << " CONFIG=" << escapeSpaces (getConfiguration(0)->getName()) << newLine - << "endif" << newLine + << "endif" << newLine << newLine; out << "JUCE_ARCH_LABEL := $(shell uname -m)" << newLine @@ -859,21 +882,43 @@ private: for (ConstConfigIterator config (*this); config.next();) writeConfig (out, dynamic_cast (*config)); + Array> filesToCompile; + + for (int i = 0; i < getAllGroups().size(); ++i) + findAllFilesToCompile (getAllGroups().getReference (i), filesToCompile); + + writeCompilerFlagSchemes (out, filesToCompile); + + auto getFilesForTarget = [] (const Array>& files, MakefileTarget* target, const Project& p) -> Array> + { + Array> targetFiles; + + auto targetType = (p.getProjectType().isAudioPlugin() ? target->type : MakefileTarget::SharedCodeTarget); + + for (auto& f : files) + if (p.getTargetTypeFromFilePath (f.first, true) == targetType) + targetFiles.add (f); + + return targetFiles; + }; + for (auto target : targets) - target->writeObjects (out); + target->writeObjects (out, getFilesForTarget (filesToCompile, target, project)); out << getPhonyTargetLine() << newLine << newLine; writeTargetLines (out, getPackages()); for (auto target : targets) - target->addFiles (out);out << "clean:" << newLine + target->addFiles (out, getFilesForTarget (filesToCompile, target, project)); + + out << "clean:" << newLine << "\t@echo Cleaning " << projectName << newLine - << "\t$(V_AT)$(CLEANCMD)" << newLine + << "\t$(V_AT)$(CLEANCMD)" << newLine << newLine; - out << "strip:" << newLine - << "\t@echo Stripping " << projectName << newLine + out << "strip:" << newLine + << "\t@echo Stripping " << projectName << newLine << "\t-$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)" << newLine << newLine; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h index cb1ba705..ccb98c5a 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h @@ -94,7 +94,8 @@ public: iosDevelopmentTeamIDValue (settings, Ids::iosDevelopmentTeamID, getUndoManager()), iosAppGroupsIDValue (settings, Ids::iosAppGroupsId, getUndoManager()), keepCustomXcodeSchemesValue (settings, Ids::keepCustomXcodeSchemes, getUndoManager()), - useHeaderMapValue (settings, Ids::useHeaderMap, getUndoManager()) + useHeaderMapValue (settings, Ids::useHeaderMap, getUndoManager()), + customLaunchStoryboardValue (settings, Ids::customLaunchStoryboard, getUndoManager()) { name = iOS ? getNameiOS() : getNameMac(); @@ -133,6 +134,7 @@ public: String getCustomResourceFoldersString() const { return customXcodeResourceFoldersValue.get().toString().replaceCharacters ("\r\n", "::"); } String getCustomXcassetsFolderString() const { return customXcassetsFolderValue.get(); } + String getCustomLaunchStoryboardString() const { return customLaunchStoryboardValue.get(); } bool isMicrophonePermissionEnabled() const { return microphonePermissionNeededValue.get(); } String getMicrophonePermissionsTextString() const { return microphonePermissionsTextValue.get(); } @@ -153,6 +155,8 @@ public: String getIosDevelopmentTeamIDString() const { return iosDevelopmentTeamIDValue.get(); } String getAppGroupIdString() const { return iosAppGroupsIDValue.get(); } + String getDefaultLaunchStoryboardName() const { jassert (iOS); return "LaunchScreen"; } + //============================================================================== bool usesMMFiles() const override { return true; } bool canCopeWithDuplicateFiles() override { return true; } @@ -179,6 +183,7 @@ public: case ProjectType::Target::StandalonePlugIn: case ProjectType::Target::GUIApp: case ProjectType::Target::StaticLibrary: + case ProjectType::Target::DynamicLibrary: case ProjectType::Target::SharedCodeTarget: case ProjectType::Target::AggregateTarget: return true; @@ -188,7 +193,6 @@ public: case ProjectType::Target::AAXPlugIn: case ProjectType::Target::RTASPlugIn: case ProjectType::Target::AudioUnitPlugIn: - case ProjectType::Target::DynamicLibrary: case ProjectType::Target::UnityPlugIn: return ! iOS; default: @@ -204,7 +208,13 @@ public: { props.add (new TextPropertyComponent (customXcassetsFolderValue, "Custom Xcassets Folder", 128, false), "If this field is not empty, your Xcode project will use the custom xcassets folder specified here " - "for the app icons and launchimages, and will ignore the Icon files specified above."); + "for the app icons and launchimages, and will ignore the Icon files specified above. This will also prevent " + "a launch storyboard from being used."); + + props.add (new TextPropertyComponent (customLaunchStoryboardValue, "Custom Launch Storyboard", 256, false), + "If this field is not empty then the specified launch storyboard will be used for the app's launch screen, " + "otherwise a default blank launch storyboard will be generated. This should be the filename without the " + "\".storyboard\" extension and the file should be added to the project's Xcode resources."); } props.add (new TextPropertyComponent (customXcodeResourceFoldersValue, "Custom Xcode Resource Folders", 8192, true), @@ -397,6 +407,10 @@ public: writeInfoPlistFiles(); + // This forces the project to use the legacy build system to workaround Xcode 10 issues, + // hopefully these will be fixed in the future and this can be removed... + writeWorkspaceSettings(); + // Deleting the .rsrc files can be needed to force Xcode to update the version number. deleteRsrcFiles (getTargetFolder().getChildFile ("build")); } @@ -1372,6 +1386,14 @@ public: if (type != AudioUnitv3PlugIn) addPlistDictionaryKeyBool (dict, "UIViewControllerBasedStatusBarAppearance", false); + + if (owner.getCustomXcassetsFolderString().isEmpty()) + { + auto customStoryboard = owner.getCustomLaunchStoryboardString(); + + addPlistDictionaryKey (dict, "UILaunchStoryboardName", customStoryboard.isNotEmpty() ? customStoryboard + : owner.getDefaultLaunchStoryboardName()); + } } addPlistDictionaryKey (dict, "CFBundleExecutable", "${EXECUTABLE_NAME}"); @@ -1800,7 +1822,7 @@ private: microphonePermissionNeededValue, microphonePermissionsTextValue, cameraPermissionNeededValue, cameraPermissionTextValue, uiFileSharingEnabledValue, uiSupportsDocumentBrowserValue, uiStatusBarHiddenValue, documentExtensionsValue, iosInAppPurchasesValue, iosBackgroundAudioValue, iosBackgroundBleValue, iosPushNotificationsValue, iosAppGroupsValue, iCloudPermissionsValue, - iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue; + iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue; static String sanitisePath (const String& path) { @@ -1834,9 +1856,16 @@ private: addPlistFileReferences(); if (iOS && ! projectType.isStaticLibrary()) + { addXcassets(); + + if (getCustomXcassetsFolderString().isEmpty() && getCustomLaunchStoryboardString().isEmpty()) + writeDefaultLaunchStoryboardFile(); + } else + { addNibFiles(); + } addIcons(); addBuildConfigurations(); @@ -2073,7 +2102,7 @@ private: resourceIDs.add (fileID); resourceFileRefs.add (refID); - unityTarget->addCopyFilesPhase ("Embed Unity Script", fileID, kWrapperFolder); + unityTarget->addCopyFilesPhase ("Embed Unity Script", fileID, kResourcesFolder); } } @@ -2282,6 +2311,27 @@ private: } } + void writeWorkspaceSettings() const + { + auto settingsFile = getProjectBundle().getChildFile ("project.xcworkspace") + .getChildFile ("xcshareddata") + .getChildFile ("WorkspaceSettings.xcsettings"); + + MemoryOutputStream mo; + mo.setNewLineString ("\n"); + + mo << "" << newLine + << "" << newLine + << "" << newLine + << "" << newLine + << "\t" << "BuildSystemType" << newLine + << "\t" << "Original" << newLine + << "" << newLine + << "" << newLine; + + overwriteFileIfDifferentOrThrow (settingsFile, mo); + } + void writeInfoPlistFiles() const { for (auto& target : targets) @@ -2670,7 +2720,8 @@ private: output << "\t};\n\trootObject = " << createID ("__root") << ";\n}\n"; } - String addBuildFile (const String& path, const String& fileRefID, bool addToSourceBuildPhase, bool inhibitWarnings, XcodeTarget* xcodeTarget = nullptr) const + String addBuildFile (const String& path, const String& fileRefID, bool addToSourceBuildPhase, bool inhibitWarnings, + XcodeTarget* xcodeTarget = nullptr, String compilerFlags = {}) const { auto fileID = createID (path + "buildref"); @@ -2687,7 +2738,10 @@ private: v->setProperty ("fileRef", fileRefID, nullptr); if (inhibitWarnings) - v->setProperty ("settings", "{ COMPILER_FLAGS = \"-w\"; }", nullptr); + compilerFlags += " -w"; + + if (compilerFlags.isNotEmpty()) + v->setProperty ("settings", "{ COMPILER_FLAGS = \"" + compilerFlags.trim() + "\"; }", nullptr); pbxBuildFiles.add (v); return fileID; @@ -2815,14 +2869,14 @@ private: } String addFile (const RelativePath& path, bool shouldBeCompiled, bool shouldBeAddedToBinaryResources, - bool shouldBeAddedToXcodeResources, bool inhibitWarnings, XcodeTarget* xcodeTarget) const + bool shouldBeAddedToXcodeResources, bool inhibitWarnings, XcodeTarget* xcodeTarget, const String& compilerFlags) const { auto pathAsString = path.toUnixStyle(); auto refID = addFileReference (path.toUnixStyle()); if (shouldBeCompiled) { - addBuildFile (pathAsString, refID, true, inhibitWarnings, xcodeTarget); + addBuildFile (pathAsString, refID, true, inhibitWarnings, xcodeTarget, compilerFlags); } else if (! shouldBeAddedToBinaryResources || shouldBeAddedToXcodeResources) { @@ -2941,7 +2995,7 @@ private: overwriteFileIfDifferentOrThrow (entitlementsFile, content); RelativePath plistPath (entitlementsFile, getTargetFolder(), RelativePath::buildTargetFolder); - return addFile (plistPath, false, false, false, false, nullptr); + return addFile (plistPath, false, false, false, false, nullptr, {}); } String addProjectItem (const Project::Item& projectItem) const @@ -2989,7 +3043,8 @@ private: projectItem.shouldBeAddedToBinaryResources(), projectItem.shouldBeAddedToXcodeResources(), projectItem.shouldInhibitWarnings(), - xcodeTarget); + xcodeTarget, + compilerFlagSchemesMap[projectItem.getCompilerFlagSchemeString()].get()); } return {}; @@ -3371,6 +3426,42 @@ private: return JSON::toString (var (v.get())); } + void writeDefaultLaunchStoryboardFile() const + { + auto storyboardFile = getTargetFolder().getChildFile (getDefaultLaunchStoryboardName() + ".storyboard"); + + MemoryOutputStream mo; + mo.setNewLineString ("\n"); + + mo << "" << newLine + << "" << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << " " << newLine + << "" << newLine; + + overwriteFileIfDifferentOrThrow (storyboardFile, mo); + + auto path = RelativePath (storyboardFile, getTargetFolder(), RelativePath::buildTargetFolder).toUnixStyle(); + auto refID = addFileReference (path); + auto fileID = addBuildFile (path, refID, false, false); + + resourceIDs.add (fileID); + resourceFileRefs.add (refID); + } + void createXcassetsFolderFromIcons() const { auto assets = getTargetFolder().getChildFile (project.getProjectFilenameRootString()) @@ -3422,7 +3513,7 @@ private: String createFileRefID (const String& path) const { return createID ("__fileref_" + path); } String getIDForGroup (const Project::Item& item) const { return createID (item.getID()); } - bool shouldFileBeCompiledByDefault (const RelativePath& file) const override + bool shouldFileBeCompiledByDefault (const File& file) const override { return file.hasFileExtension (sourceFileExtensions); } diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp index 0db8e045..f662f484 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp @@ -257,6 +257,9 @@ ProjectExporter::ProjectExporter (Project& p, const ValueTree& state) smallIconValue (settings, Ids::smallIcon, getUndoManager()), extraPPDefsValue (settings, Ids::extraDefs, getUndoManager()) { + projectCompilerFlagSchemesValue = project.getProjectValue (Ids::compilerFlagSchemes); + projectCompilerFlagSchemesValue.addListener (this); + updateCompilerFlagValues(); } ProjectExporter::~ProjectExporter() @@ -283,12 +286,20 @@ RelativePath ProjectExporter::rebaseFromProjectFolderToBuildTarget (const Relati return path.rebased (project.getProjectFolder(), getTargetFolder(), RelativePath::buildTargetFolder); } -bool ProjectExporter::shouldFileBeCompiledByDefault (const RelativePath& file) const +bool ProjectExporter::shouldFileBeCompiledByDefault (const File& file) const { return file.hasFileExtension (cOrCppFileExtensions) || file.hasFileExtension (asmFileExtensions); } +void ProjectExporter::updateCompilerFlagValues() +{ + compilerFlagSchemesMap.clear(); + + for (auto& scheme : project.getCompilerFlagSchemes()) + compilerFlagSchemesMap.set (scheme, { settings, scheme, getUndoManager() }); +} + //============================================================================== void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) { @@ -298,29 +309,33 @@ void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) "The location of the folder in which the " + name + " project will be created. " "This path can be absolute, but it's much more sensible to make it relative to the jucer project directory."); - if (shouldBuildTargetType (ProjectType::Target::VSTPlugIn) && project.shouldBuildVST()) + if ((shouldBuildTargetType (ProjectType::Target::VSTPlugIn) && project.shouldBuildVST()) || project.isVSTPluginHost()) { - props.add (new FilePathPropertyComponent (vstLegacyPathValueWrapper.wrappedValue, "VST (Legacy) SDK Folder", true, getTargetOSForExporter() == TargetOS::getThisOS()), - "If you're building a VST plug-in, you can use this field to override the global VST (Legacy) SDK path with a project-specific path. " + props.add (new FilePathPropertyComponent (vstLegacyPathValueWrapper.wrappedValue, "VST (Legacy) SDK Folder", true, + getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()), + "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. " "This can be an absolute path, or a path relative to the Projucer project file."); } - if (shouldBuildTargetType (ProjectType::Target::VST3PlugIn) && project.shouldBuildVST3()) + if ((shouldBuildTargetType (ProjectType::Target::VST3PlugIn) && project.shouldBuildVST3()) || project.isVST3PluginHost()) { - props.add (new FilePathPropertyComponent (vst3PathValueWrapper.wrappedValue, "VST3 SDK Folder", true, getTargetOSForExporter() == TargetOS::getThisOS()), - "If you're building a VST3 plug-in, you can use this field to override the global VST3 SDK path with a project-specific path. " + props.add (new FilePathPropertyComponent (vst3PathValueWrapper.wrappedValue, "VST3 SDK Folder", true, + getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()), + "If you're building a VST3 plug-in or host, you can use this field to override the global VST3 SDK path with a project-specific path. " "This can be an absolute path, or a path relative to the Projucer project file."); } if (shouldBuildTargetType (ProjectType::Target::AAXPlugIn) && project.shouldBuildAAX()) { - props.add (new FilePathPropertyComponent (aaxPathValueWrapper.wrappedValue, "AAX SDK Folder", true, getTargetOSForExporter() == TargetOS::getThisOS()), + props.add (new FilePathPropertyComponent (aaxPathValueWrapper.wrappedValue, "AAX SDK Folder", true, + getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()), "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."); } if (shouldBuildTargetType (ProjectType::Target::RTASPlugIn) && project.shouldBuildRTAS()) { - props.add (new FilePathPropertyComponent (rtasPathValueWrapper.wrappedValue, "RTAS SDK Folder", true, getTargetOSForExporter() == TargetOS::getThisOS()), + props.add (new FilePathPropertyComponent (rtasPathValueWrapper.wrappedValue, "RTAS SDK Folder", true, + getTargetOSForExporter() == TargetOS::getThisOS(), "*", project.getProjectFolder()), "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."); } @@ -332,6 +347,10 @@ 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 " "form ${NAME_OF_DEFINITION}, which will be replaced with their values."); + for (HashMap::Iterator i (compilerFlagSchemesMap); i.next();) + props.add (new TextPropertyComponent (compilerFlagSchemesMap.getReference (i.getKey()), "Compiler Flags for " + i.getKey().quoted(), 8192, false), + "The exporter-specific compiler flags that will be added to files using this scheme."); + props.add (new TextPropertyComponent (extraLinkerFlagsValue, "Extra Linker Flags", 8192, true), "Extra command-line flags to be passed to the linker. You might want to use this for adding additional libraries. " "This string can contain references to preprocessor definitions in the form ${NAME_OF_VALUE}, which will be replaced with their values."); @@ -390,8 +409,8 @@ void ProjectExporter::addSettingsForProjectType (const ProjectType& type) void ProjectExporter::addVSTPathsIfPluginOrHost() { - if (shouldBuildTargetType (ProjectType::Target::VST3PlugIn) || project.isVST3PluginHost() - || shouldBuildTargetType (ProjectType::Target::VSTPlugIn) || project.isVSTPluginHost()) + if (((shouldBuildTargetType (ProjectType::Target::VSTPlugIn) && project.shouldBuildVST()) || project.isVSTPluginHost()) + || ((shouldBuildTargetType (ProjectType::Target::VST3PlugIn) && project.shouldBuildVST3()) || project.isVST3PluginHost())) { addLegacyVSTFolderToPathIfSpecified(); addVST3FolderToPath(); diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h index b7d4cb36..2fa735a2 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h @@ -32,11 +32,11 @@ class ProjectSaver; //============================================================================== -class ProjectExporter +class ProjectExporter : private Value::Listener { public: ProjectExporter (Project&, const ValueTree& settings); - virtual ~ProjectExporter(); + virtual ~ProjectExporter() override; struct ExporterTypeInfo { @@ -78,7 +78,7 @@ public: virtual bool canLaunchProject() = 0; virtual bool launchProject() = 0; virtual void create (const OwnedArray&) const = 0; // may throw a SaveError - virtual bool shouldFileBeCompiledByDefault (const RelativePath& path) const; + virtual bool shouldFileBeCompiledByDefault (const File& path) const; virtual bool canCopeWithDuplicateFiles() = 0; virtual bool supportsUserDefinedConfigurations() const = 0; // false if exporter only supports two configs Debug and Release virtual void updateDeprecatedProjectSettingsInteractively(); @@ -406,6 +406,9 @@ protected: ValueWithDefault targetLocationValue, extraCompilerFlagsValue, extraLinkerFlagsValue, externalLibrariesValue, userNotesValue, gnuExtensionsValue, bigIconValue, smallIconValue, extraPPDefsValue; + Value projectCompilerFlagSchemesValue; + HashMap compilerFlagSchemesMap; + mutable Array itemGroups; void initItemGroups() const; Project::Item* modulesGroup = nullptr; @@ -443,23 +446,21 @@ protected: static void writeXmlOrThrow (const XmlElement& xml, const File& file, const String& encoding, int maxCharsPerLine, bool useUnixNewLines = false) { MemoryOutputStream mo; - xml.writeToStream (mo, String(), false, true, encoding, maxCharsPerLine); if (useUnixNewLines) - { - MemoryOutputStream mo2; - mo2 << mo.toString().replace ("\r\n", "\n"); - overwriteFileIfDifferentOrThrow (file, mo2); - } - else - { - overwriteFileIfDifferentOrThrow (file, mo); - } + mo.setNewLineString ("\n"); + + xml.writeToStream (mo, String(), false, true, encoding, maxCharsPerLine); + overwriteFileIfDifferentOrThrow (file, mo); } static Image rescaleImageForIcon (Drawable&, int iconSize); private: + //============================================================================== + void valueChanged (Value&) override { updateCompilerFlagValues(); } + void updateCompilerFlagValues(); + //============================================================================== static String addLibPrefix (const String name) { diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp index da1459d6..19c922ec 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp @@ -123,6 +123,8 @@ void ProjectSaver::writePluginCharacteristicsFile() flags.set ("JucePlugin_IAAType", toCharLiteral (project.getIAATypeCode())); flags.set ("JucePlugin_IAASubType", "JucePlugin_PluginCode"); flags.set ("JucePlugin_IAAName", project.getIAAPluginName().quoted()); + flags.set ("JucePlugin_VSTNumMidiInputs", project.getVSTNumMIDIInputsString()); + flags.set ("JucePlugin_VSTNumMidiOutputs", project.getVSTNumMIDIOutputsString()); { String plugInChannelConfig = project.getPluginChannelConfigsString(); @@ -136,6 +138,7 @@ void ProjectSaver::writePluginCharacteristicsFile() } MemoryOutputStream mem; + mem.setNewLineString (projectLineFeed); mem << "//==============================================================================" << newLine << "// Audio plugin settings.." << newLine diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h index 8f12b3a2..789dfff6 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.h @@ -76,6 +76,8 @@ public: return thread.result; } + projectLineFeed = project.getProjectLineFeed(); + auto appConfigUserContent = loadUserContentFromAppConfig(); auto oldFile = project.getFile(); @@ -269,6 +271,7 @@ private: File appConfigFile; bool hasBinaryData = false; + String projectLineFeed = "\r\n"; // Recursively clears out any files in a folder that we didn't create, but avoids // any folders containing hidden files that might be used by version-control systems. @@ -325,6 +328,8 @@ private: if (xml != nullptr) { MemoryOutputStream mo; + mo.setNewLineString (projectLineFeed); + xml->writeToStream (mo, String()); replaceFileIfDifferent (projectFile, mo); } @@ -367,7 +372,7 @@ private: userContent.add ({}); } - return userContent.joinIntoString (newLine) + newLine; + return userContent.joinIntoString (projectLineFeed) + projectLineFeed; } void checkModuleValidity (OwnedArray& modules) @@ -516,6 +521,8 @@ private: appConfigFile = getAppConfigFile(); MemoryOutputStream mem; + mem.setNewLineString (projectLineFeed); + writeAppConfig (mem, modules, userContent); saveGeneratedFile (project.getAppConfigFilename(), mem); } @@ -570,6 +577,8 @@ private: void writeAppHeader (const OwnedArray& modules) { MemoryOutputStream mem; + mem.setNewLineString (projectLineFeed); + writeAppHeader (mem, modules); saveGeneratedFile (project.getJuceSourceHFilename(), mem); } @@ -581,6 +590,7 @@ private: for (auto& cu : module->getAllCompileUnits()) { MemoryOutputStream mem; + mem.setNewLineString (projectLineFeed); writeAutoGenWarningComment (mem); @@ -650,6 +660,8 @@ private: void writeReadmeFile() { MemoryOutputStream out; + out.setNewLineString (projectLineFeed); + out << newLine << " Important Note!!" << newLine << " ================" << newLine @@ -676,7 +688,8 @@ private: void writeUnityScriptFile() { - String unityScriptContents (BinaryData::jucer_UnityPluginGUIScript_cs); + auto unityScriptContents = replaceLineFeeds (BinaryData::jucer_UnityPluginGUIScript_cs, + projectLineFeed); auto projectName = Project::addUnityPluginPrefixIfNecessary (project.getProjectNameString()); diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ResourceFile.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ResourceFile.cpp index 1dcd54e9..4d98354f 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ResourceFile.cpp +++ b/extras/Projucer/Source/ProjectSaving/jucer_ResourceFile.cpp @@ -96,29 +96,24 @@ int64 ResourceFile::getTotalDataSize() const return total; } -static String getComment() +static void writeComment (MemoryOutputStream& mo) { - String comment; - comment << newLine << newLine - << " This is an auto-generated file: Any edits you make may be overwritten!" << newLine - << newLine - << "*/" << newLine - << newLine; - - return comment; + mo << newLine << newLine + << " This is an auto-generated file: Any edits you make may be overwritten!" << newLine + << newLine + << "*/" << newLine + << newLine; } Result ResourceFile::writeHeader (MemoryOutputStream& header) { - header << "/* =========================================================================================" - << getComment() - << "#pragma once" << newLine + header << "/* ========================================================================================="; + writeComment (header); + header << "#pragma once" << newLine << newLine << "namespace " << className << newLine << "{" << newLine; - bool containsAnyImages = false; - for (int i = 0; i < files.size(); ++i) { auto& file = files.getReference(i); @@ -134,9 +129,6 @@ Result ResourceFile::writeHeader (MemoryOutputStream& header) if (fileStream.openedOk()) { - containsAnyImages = containsAnyImages - || (ImageFileFormat::findImageFormatForStream (fileStream) != nullptr); - header << " extern const char* " << variableName << ";" << newLine; header << " const int " << variableName << "Size = " << (int) dataSize << ";" << newLine << newLine; } @@ -167,13 +159,11 @@ Result ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, { bool isFirstFile = (i == 0); - cpp << "/* ==================================== " << resourceFileIdentifierString << " ====================================" - << getComment() - << "namespace " << className << newLine + cpp << "/* ==================================== " << resourceFileIdentifierString << " ===================================="; + writeComment (cpp); + cpp << "namespace " << className << newLine << "{" << newLine; - bool containsAnyImages = false; - while (i < files.size()) { auto& file = files.getReference(i); @@ -183,9 +173,6 @@ Result ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, if (fileStream.openedOk()) { - containsAnyImages = containsAnyImages - || (ImageFileFormat::findImageFormatForStream (fileStream) != nullptr); - auto tempVariable = "temp_binary_data_" + String (i); cpp << newLine << "//================== " << file.getFileName() << " ==================" << newLine @@ -275,10 +262,14 @@ Result ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, Result ResourceFile::write (Array& filesCreated, const int maxFileSize) { + auto projectLineFeed = project.getProjectLineFeed(); + auto headerFile = project.getBinaryDataHeaderFile(); { MemoryOutputStream mo; + mo.setNewLineString (projectLineFeed); + auto r = writeHeader (mo); if (r.failed()) @@ -298,6 +289,7 @@ Result ResourceFile::write (Array& filesCreated, const int maxFileSize) auto cpp = project.getBinaryDataCppFile (fileIndex); MemoryOutputStream mo; + mo.setNewLineString (projectLineFeed); auto r = writeCpp (mo, headerFile, i, maxFileSize); diff --git a/extras/Projucer/Source/ProjectSaving/jucer_XcodeProjectParser.h b/extras/Projucer/Source/ProjectSaving/jucer_XcodeProjectParser.h index 46e5adeb..9335be73 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_XcodeProjectParser.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_XcodeProjectParser.h @@ -46,10 +46,12 @@ public: auto content = pbxprojs[0].loadFileAsString().toStdString(); std::regex comments ("/\\*.*?\\*/"); - content = (std::regex_replace (content, comments, "")); + std::string empty (""); + content = (std::regex_replace (content, comments, empty)); std::regex whitespace ("\\s+"); - content = (std::regex_replace (content, whitespace, " ")); + std::string space (" "); + content = (std::regex_replace (content, whitespace, space)); auto objects = std::make_unique>(); std::smatch objectsStartMatch; diff --git a/extras/Projucer/Source/Settings/jucer_StoredSettings.h b/extras/Projucer/Source/Settings/jucer_StoredSettings.h index 0871b470..b4744a30 100644 --- a/extras/Projucer/Source/Settings/jucer_StoredSettings.h +++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.h @@ -34,7 +34,7 @@ class StoredSettings : public ValueTree::Listener { public: StoredSettings(); - ~StoredSettings(); + ~StoredSettings() override; PropertiesFile& getGlobalProperties(); PropertiesFile& getProjectProperties (const String& projectUID); @@ -54,7 +54,7 @@ public: struct ColourSelectorWithSwatches : public ColourSelector { ColourSelectorWithSwatches(); - ~ColourSelectorWithSwatches(); + ~ColourSelectorWithSwatches() override; int getNumSwatches() const override; Colour getSwatchColour (int index) const override; diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_CodeHelpers.cpp b/extras/Projucer/Source/Utility/Helpers/jucer_CodeHelpers.cpp index deb7c1f7..bf7af246 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_CodeHelpers.cpp +++ b/extras/Projucer/Source/Utility/Helpers/jucer_CodeHelpers.cpp @@ -433,7 +433,7 @@ namespace CodeHelpers String getLeadingWhitespace (String line) { - line = line.removeCharacters ("\r\n"); + line = line.removeCharacters (line.endsWith ("\r\n") ? "\r\n" : "\n"); auto endOfLeadingWS = line.getCharPointer().findEndOfWhitespace(); return String (line.getCharPointer(), endOfLeadingWS); } diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp index cd145b64..a74f7770 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp +++ b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp @@ -27,7 +27,7 @@ #include "../../Application/jucer_Headers.h" #ifdef BUILDING_JUCE_COMPILEENGINE - const char* getPreferredLinefeed() { return "\r\n"; } + const char* getPreferredLineFeed() { return "\r\n"; } #endif //============================================================================== @@ -36,7 +36,33 @@ String joinLinesIntoSourceFile (StringArray& lines) while (lines.size() > 10 && lines [lines.size() - 1].isEmpty()) lines.remove (lines.size() - 1); - return lines.joinIntoString (getPreferredLinefeed()) + getPreferredLinefeed(); + return lines.joinIntoString (getPreferredLineFeed()) + getPreferredLineFeed(); +} + +String replaceLineFeeds (const String& content, const String& lineFeed) +{ + StringArray lines; + lines.addLines (content); + + return lines.joinIntoString (lineFeed); +} + +String getLineFeedForFile (const String& fileContent) +{ + auto t = fileContent.getCharPointer(); + + while (! t.isEmpty()) + { + switch (t.getAndAdvance()) + { + case 0: break; + case '\n': return "\n"; + case '\r': if (*t == '\n') return "\r\n"; + default: continue; + } + } + + return {}; } String trimCommentCharsFromStartOfLine (const String& line) diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h index 0584dc41..f96b5ce1 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h +++ b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h @@ -28,8 +28,10 @@ //============================================================================== -const char* getPreferredLinefeed(); +const char* getPreferredLineFeed(); String joinLinesIntoSourceFile (StringArray& lines); +String replaceLineFeeds (const String& content, const String& lineFeed); +String getLineFeedForFile (const String& fileContent); var parseJUCEHeaderMetadata (const File&); diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h b/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h index d1a14b18..786ec282 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h +++ b/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h @@ -98,6 +98,7 @@ namespace Ids DECLARE_ID (libraryPath); DECLARE_ID (customXcodeFlags); DECLARE_ID (customXcassetsFolder); + DECLARE_ID (customLaunchStoryboard); DECLARE_ID (customXcodeResourceFolders); DECLARE_ID (plistPreprocessorDefinitions); DECLARE_ID (customPList); @@ -189,15 +190,18 @@ namespace Ids DECLARE_ID (cameraPermissionNeeded); DECLARE_ID (cameraPermissionText); DECLARE_ID (androidJavaLibs); + DECLARE_ID (androidAdditionalJavaFolders); + DECLARE_ID (androidAdditionalResourceFolders); DECLARE_ID (androidRepositories); DECLARE_ID (androidDependencies); DECLARE_ID (androidBuildConfigRemoteNotifsConfigFile); DECLARE_ID (androidAdditionalXmlValueResources); DECLARE_ID (androidAdditionalDrawableResources); DECLARE_ID (androidAdditionalRawValueResources); - DECLARE_ID (androidActivityClass); - DECLARE_ID (androidActivitySubClassName); - DECLARE_ID (androidActivityBaseClassName); +// DECLARE_ID (androidActivityClass); // DEPRECATED! + const Identifier androidCustomActivityClass ("androidActivitySubClassName"); // old name is very confusing, but we need to remain backward compatible +// DECLARE_ID (androidActivityBaseClassName); // DEPRECATED! + DECLARE_ID (androidCustomApplicationClass); DECLARE_ID (androidVersionCode); DECLARE_ID (androidSDKPath); DECLARE_ID (androidNDKPath); @@ -215,6 +219,7 @@ namespace Ids DECLARE_ID (androidRemoteNotificationsConfigFile); DECLARE_ID (androidEnableContentSharing); DECLARE_ID (androidMinimumSDK); + DECLARE_ID (androidTargetSDK); DECLARE_ID (androidOtherPermissions); DECLARE_ID (androidKeyStore); DECLARE_ID (androidKeyStorePass); @@ -332,6 +337,8 @@ namespace Ids DECLARE_ID (pluginAAXCategory); DECLARE_ID (pluginAAXDisableBypass); DECLARE_ID (pluginAAXDisableMultiMono); + DECLARE_ID (pluginVSTNumMidiInputs); + DECLARE_ID (pluginVSTNumMidiOutputs); DECLARE_ID (exporters); DECLARE_ID (website); DECLARE_ID (mainClass); @@ -339,6 +346,9 @@ namespace Ids DECLARE_ID (buildEnabled); DECLARE_ID (continuousRebuildEnabled); DECLARE_ID (warningsEnabled); + DECLARE_ID (projectLineFeed); + DECLARE_ID (compilerFlagSchemes); + DECLARE_ID (compilerFlagScheme); const Identifier ID ("id"); const Identifier ID_uppercase ("ID"); diff --git a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp index b473cb7d..693b8537 100644 --- a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp +++ b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.cpp @@ -92,9 +92,10 @@ static bool isValidExporterName (StringRef exporterName) return ProjectExporter::getExporterValueTreeNames().contains (exporterName, true); } -static bool isMobileExporter (const String& exporterName) +static bool exporterRequiresExampleAssets (const String& exporterName, const String& projectName) { - return exporterName == "XCODE_IPHONE" || exporterName == "ANDROIDSTUDIO"; + return (exporterName == "XCODE_IPHONE" || exporterName == "ANDROIDSTUDIO") + || (exporterName == "XCODE_MAC" && projectName == "AUv3SynthPlugin"); } //============================================================================== @@ -228,7 +229,7 @@ ValueTree PIPGenerator::createModulePathChild (const String& moduleID) ValueTree modulePath (Ids::MODULEPATH); modulePath.setProperty (Ids::ID, moduleID, nullptr); - modulePath.setProperty (Ids::path, getPathForModule (moduleID).getFullPathName(), nullptr); + modulePath.setProperty (Ids::path, getPathForModule (moduleID), nullptr); return modulePath; } @@ -251,13 +252,13 @@ ValueTree PIPGenerator::createExporterChild (const String& exporterName) exporter.setProperty (Ids::targetFolder, "Builds/" + ProjectExporter::getTargetFolderForExporter (exporterName), nullptr); - if (isMobileExporter (exporterName) || (metadata[Ids::name] == "AUv3SynthPlugin" && exporterName == "XCODE_MAC")) + if (isJUCEExample (pipFile) && exporterRequiresExampleAssets (exporterName, metadata[Ids::name])) { - auto juceDir = getAppSettings().getStoredPath (Ids::jucePath, TargetOS::getThisOS()).get().toString(); + auto examplesDir = getExamplesDirectory(); - if (isValidJUCEExamplesDirectory (File (juceDir).getChildFile ("examples"))) + if (examplesDir != File()) { - auto assetsDirectoryPath = File (juceDir).getChildFile ("examples").getChildFile ("Assets").getFullPathName(); + auto assetsDirectoryPath = examplesDir.getChildFile ("Assets").getFullPathName(); exporter.setProperty (exporterName == "ANDROIDSTUDIO" ? Ids::androidExtraAssetsFolder : Ids::customXcodeResourceFolders, @@ -300,7 +301,7 @@ ValueTree PIPGenerator::createModuleChild (const String& moduleID) module.setProperty (Ids::ID, moduleID, nullptr); module.setProperty (Ids::showAllCode, 1, nullptr); module.setProperty (Ids::useLocalCopy, 0, nullptr); - module.setProperty (Ids::useGlobalPath, (getPathForModule (moduleID) == File() ? 1 : 0), nullptr); + module.setProperty (Ids::useGlobalPath, (getPathForModule (moduleID).isEmpty() ? 1 : 0), nullptr); return module; } @@ -356,12 +357,12 @@ Result PIPGenerator::setProjectSettings (ValueTree& jucerTree) if (useLocalCopy && isJUCEExample (pipFile)) { - auto juceDir = getAppSettings().getStoredPath (Ids::jucePath, TargetOS::getThisOS()).get().toString(); + auto examplesDir = getExamplesDirectory(); - if (isValidJUCEExamplesDirectory (File (juceDir).getChildFile ("examples"))) + if (examplesDir != File()) { defines += ((defines.isEmpty() ? "" : " ") + String ("PIP_JUCE_EXAMPLES_DIRECTORY=") - + Base64::toBase64 (File (juceDir).getChildFile ("examples").getFullPathName())); + + Base64::toBase64 (examplesDir.getFullPathName())); } else { @@ -426,7 +427,9 @@ String PIPGenerator::getMainFileTextForType() String mainTemplate (BinaryData::jucer_PIPMain_cpp); mainTemplate = mainTemplate.replace ("%%filename%%", useLocalCopy ? pipFile.getFileName() - : pipFile.getFullPathName()); + : isTemp ? pipFile.getFullPathName() + : RelativePath (pipFile, outputDirectory.getChildFile ("Source"), + RelativePath::unknown).toUnixStyle()); auto type = metadata[Ids::type].toString(); @@ -517,29 +520,61 @@ StringArray PIPGenerator::getPluginCharacteristics() const auto name = metadata[Ids::name].toString(); if (name == "AudioPluginDemo") - return { Ids::pluginWantsMidiIn.toString(), + return { Ids::pluginIsSynth.toString(), + Ids::pluginWantsMidiIn.toString(), Ids::pluginProducesMidiOut.toString(), Ids::pluginEditorRequiresKeys.toString() }; else if (name == "AUv3SynthPlugin" || name == "MultiOutSynthPlugin") - return { Ids::pluginWantsMidiIn.toString(), + return { Ids::pluginIsSynth.toString(), + Ids::pluginWantsMidiIn.toString(), Ids::pluginIsSynth.toString() }; else if (name == "ArpeggiatorPlugin") - return { Ids::pluginIsMidiEffectPlugin.toString() }; + return { Ids::pluginWantsMidiIn.toString(), + Ids::pluginProducesMidiOut.toString(), + Ids::pluginIsMidiEffectPlugin.toString() }; return {}; } -File PIPGenerator::getPathForModule (const String& moduleID) const +String PIPGenerator::getPathForModule (const String& moduleID) const { if (isJUCEModule (moduleID)) { if (juceModulesPath != File()) - return juceModulesPath; + { + if (isTemp) + return juceModulesPath.getFullPathName(); + + return RelativePath (juceModulesPath, outputDirectory, RelativePath::projectFolder).toUnixStyle(); + } } else if (availableUserModules != nullptr) { - return availableUserModules->getModuleWithID (moduleID).second.getParentDirectory(); + auto moduleRoot = availableUserModules->getModuleWithID (moduleID).second.getParentDirectory(); + + if (isTemp) + return moduleRoot.getFullPathName(); + + return RelativePath (moduleRoot , outputDirectory, RelativePath::projectFolder).toUnixStyle(); } return {}; } + +File PIPGenerator::getExamplesDirectory() const +{ + if (juceModulesPath != File()) + { + auto examples = juceModulesPath.getSiblingFile ("examples"); + + if (isValidJUCEExamplesDirectory (examples)) + return examples; + } + + auto examples = File (getAppSettings().getStoredPath (Ids::jucePath, TargetOS::getThisOS()).get().toString()).getChildFile ("examples"); + + if (isValidJUCEExamplesDirectory (examples)) + return examples; + + return {}; +} diff --git a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h index 5a9fa94e..f28337e2 100644 --- a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h +++ b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h @@ -74,7 +74,8 @@ private: StringArray getExtraPluginFormatsToBuild() const; StringArray getPluginCharacteristics() const; - File getPathForModule (const String&) const; + String getPathForModule (const String&) const; + File getExamplesDirectory() const; //============================================================================== File pipFile, outputDirectory, juceModulesPath; diff --git a/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_LabelPropertyComponent.h b/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_LabelPropertyComponent.h index a9c09489..196ec37c 100644 --- a/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_LabelPropertyComponent.h +++ b/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_LabelPropertyComponent.h @@ -46,7 +46,7 @@ public: setLookAndFeel (&lf); } - ~LabelPropertyComponent() { setLookAndFeel (nullptr); } + ~LabelPropertyComponent() override { setLookAndFeel (nullptr); } //============================================================================== void refresh() override {} diff --git a/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h b/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h index 7338b22d..7ce4eea4 100644 --- a/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h +++ b/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h @@ -45,7 +45,7 @@ public: setEnabled (valueWithDefault.get()); } - ~TextPropertyComponentWithEnablement() { value.removeListener (this); } + ~TextPropertyComponentWithEnablement() override { value.removeListener (this); } private: ValueWithDefault valueWithDefault; @@ -69,14 +69,52 @@ public: value (valueToListenTo.getPropertyAsValue()) { value.addListener (this); - setEnabled (valueWithDefault.get()); + valueChanged (value); + } + + ChoicePropertyComponentWithEnablement (ValueWithDefault& valueToControl, + ValueWithDefault valueToListenTo, + const Identifier& multiChoiceID, + const String& propertyName, + const StringArray& choices, + const Array& correspondingValues) + : ChoicePropertyComponentWithEnablement (valueToControl, valueToListenTo, propertyName, choices, correspondingValues) + { + jassert (valueToListenTo.get().getArray() != nullptr); + + isMultiChoice = true; + idToCheck = multiChoiceID; + + valueChanged (value); } - ~ChoicePropertyComponentWithEnablement() { value.removeListener (this); } + ~ChoicePropertyComponentWithEnablement() override { value.removeListener (this); } private: ValueWithDefault valueWithDefault; Value value; - void valueChanged (Value&) override { setEnabled (valueWithDefault.get()); } + bool isMultiChoice = false; + Identifier idToCheck; + + bool checkMultiChoiceVar() const + { + jassert (isMultiChoice); + + auto v = valueWithDefault.get(); + + if (auto* varArray = v.getArray()) + return varArray->contains (idToCheck.toString()); + + jassertfalse; + return false; + } + + void valueChanged (Value&) override + { + if (isMultiChoice) + setEnabled (checkMultiChoiceVar()); + else + setEnabled (valueWithDefault.get()); + } }; diff --git a/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.cpp b/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.cpp index 71fc687a..861f490d 100644 --- a/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.cpp +++ b/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.cpp @@ -118,7 +118,7 @@ Colour JucerTreeViewBase::getContentColour (bool isIcon) const return getOwnerView()->findColour (isIcon ? treeIconColourId : defaultTextColourId); } -void JucerTreeViewBase::paintContent (Graphics& g, const Rectangle& area) +void JucerTreeViewBase::paintContent (Graphics& g, Rectangle area) { g.setFont (getFont()); g.setColour (getContentColour (false)); diff --git a/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.h b/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.h index f49e057c..3f63af51 100644 --- a/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.h +++ b/extras/Projucer/Source/Utility/UI/jucer_JucerTreeViewBase.h @@ -35,7 +35,7 @@ class JucerTreeViewBase : public TreeViewItem, { public: JucerTreeViewBase(); - ~JucerTreeViewBase(); + ~JucerTreeViewBase() override; int getItemWidth() const override { return -1; } int getItemHeight() const override { return 25; } @@ -45,6 +45,8 @@ public: void itemClicked (const MouseEvent& e) override; void itemSelectionChanged (bool isNowSelected) override; void itemDoubleClicked (const MouseEvent&) override; + Component* createItemComponent() override; + String getTooltip() override { return {}; } void cancelDelayedSelectionTimer(); @@ -59,12 +61,11 @@ public: virtual Icon getIcon() const = 0; virtual bool isIconCrossedOut() const { return false; } virtual void paintIcon (Graphics& g, Rectangle area); - virtual void paintContent (Graphics& g, const Rectangle& area); + virtual void paintContent (Graphics& g, Rectangle area); virtual int getRightHandButtonSpace() { return 0; } virtual Colour getContentColour (bool isIcon) const; virtual int getMillisecsAllowedForDragGesture() { return 120; } virtual File getDraggableFile() const { return {}; } - virtual Component* createItemComponent() override; void refreshSubItems(); virtual void deleteItem(); @@ -79,8 +80,6 @@ public: virtual void handlePopupMenuResult (int resultCode); virtual void setSearchFilter (const String&) {} - String getTooltip() override { return {}; } - //============================================================================== // To handle situations where an item gets deleted before openness is // restored for it, this OpennessRestorer keeps only a pointer to the @@ -134,7 +133,7 @@ public: tree.addMouseListener (this, true); } - ~TreePanelBase() + ~TreePanelBase() override { tree.setRootItem (nullptr); } diff --git a/extras/Projucer/Source/Utility/UI/jucer_ProjucerLookAndFeel.h b/extras/Projucer/Source/Utility/UI/jucer_ProjucerLookAndFeel.h index b7b221df..7b80b6d1 100644 --- a/extras/Projucer/Source/Utility/UI/jucer_ProjucerLookAndFeel.h +++ b/extras/Projucer/Source/Utility/UI/jucer_ProjucerLookAndFeel.h @@ -32,7 +32,7 @@ class ProjucerLookAndFeel : public LookAndFeel_V4 { public: ProjucerLookAndFeel(); - ~ProjucerLookAndFeel(); + ~ProjucerLookAndFeel() override; void drawTabButton (TabBarButton& button, Graphics&, bool isMouseOver, bool isMouseDown) override; int getTabButtonBestWidth (TabBarButton&, int tabDepth) override; diff --git a/extras/Projucer/Source/Utility/UI/jucer_SlidingPanelComponent.h b/extras/Projucer/Source/Utility/UI/jucer_SlidingPanelComponent.h index 63edb8c8..0cfaada1 100644 --- a/extras/Projucer/Source/Utility/UI/jucer_SlidingPanelComponent.h +++ b/extras/Projucer/Source/Utility/UI/jucer_SlidingPanelComponent.h @@ -33,7 +33,7 @@ class SlidingPanelComponent : public Component { public: SlidingPanelComponent(); - ~SlidingPanelComponent(); + ~SlidingPanelComponent() override; /** Adds a new tab to the panel slider. */ void addTab (const String& tabName, diff --git a/extras/Projucer/Source/Utility/UI/jucer_UserSettingsPopup.h b/extras/Projucer/Source/Utility/UI/jucer_UserSettingsPopup.h index 3da9ea63..36e60047 100644 --- a/extras/Projucer/Source/Utility/UI/jucer_UserSettingsPopup.h +++ b/extras/Projucer/Source/Utility/UI/jucer_UserSettingsPopup.h @@ -65,7 +65,7 @@ public: licenseTypeLabel->setJustificationType (Justification::centred); licenseTypeLabel->setMinimumHorizontalScale (1.0f); - logoutButton.reset (new TextButton (isInsideWebview ? "Select different account..." : "Logout")); + logoutButton.reset (new TextButton (isInsideWebview ? "Select different account..." : "Sign out")); addAndMakeVisible (logoutButton.get()); logoutButton->setColour (TextButton::buttonColourId, findColour (secondaryButtonBackgroundColourId)); diff --git a/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp index 19e2c617..70a84940 100644 --- a/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp +++ b/extras/Projucer/Source/Wizards/jucer_NewFileWizard.cpp @@ -34,11 +34,12 @@ namespace { static String fillInBasicTemplateFields (const File& file, const Project::Item& item, const char* templateName) { - return item.project.getFileTemplate (templateName) - .replace ("%%filename%%", file.getFileName(), false) - .replace ("%%date%%", Time::getCurrentTime().toString (true, true, true), false) - .replace ("%%author%%", SystemStats::getFullUserName(), false) - .replace ("%%include_corresponding_header%%", CodeHelpers::createIncludeStatement (file.withFileExtension (".h"), file)); + return replaceLineFeeds (item.project.getFileTemplate (templateName) + .replace ("%%filename%%", file.getFileName(), false) + .replace ("%%date%%", Time::getCurrentTime().toString (true, true, true), false) + .replace ("%%author%%", SystemStats::getFullUserName(), false) + .replace ("%%include_corresponding_header%%", CodeHelpers::createIncludeStatement (file.withFileExtension (".h"), file)), + item.project.getProjectLineFeed()); } static bool fillInNewCppFileTemplate (const File& file, const Project::Item& item, const char* templateName) @@ -167,9 +168,11 @@ public: static bool create (const String& className, Project::Item parent, const File& newFile, const char* templateName) { - String content = fillInBasicTemplateFields (newFile, parent, templateName) - .replace ("%%component_class%%", className) - .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (parent.project.getAppIncludeFile(), newFile)); + auto content = fillInBasicTemplateFields (newFile, parent, templateName) + .replace ("%%component_class%%", className) + .replace ("%%include_juce%%", CodeHelpers::createIncludeStatement (parent.project.getAppIncludeFile(), newFile)); + + content = replaceLineFeeds (content, parent.project.getProjectLineFeed()); if (FileHelpers::overwriteFileWithNewDataIfDifferent (newFile, content)) { diff --git a/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h b/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h index 51c3e1fe..aaa50fc6 100644 --- a/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h +++ b/extras/Projucer/Source/Wizards/jucer_NewProjectWizard.h @@ -81,7 +81,6 @@ struct NewProjectWizard "juce_gui_basics", "juce_gui_extra", "juce_cryptography", - "juce_video", "juce_opengl", "juce_audio_basics", "juce_audio_devices", diff --git a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile index 7e387636..62bc41cb 100644 --- a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile +++ b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile @@ -1,213 +1,213 @@ -# Automatically generated makefile, created by the Projucer -# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! - -# build with "V=1" for verbose builds -ifeq ($(V), 1) -V_AT = -else -V_AT = @ -endif - -# (this disables dependency generation if multiple architectures are set) -DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) - -ifndef STRIP - STRIP=strip -endif - -ifndef AR - AR=ar -endif - -ifndef CONFIG - CONFIG=Debug -endif - -JUCE_ARCH_LABEL := $(shell uname -m) - -ifeq ($(CONFIG),Debug) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Debug - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=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 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) +# Automatically generated makefile, created by the Projucer +# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project! + +# build with "V=1" for verbose builds +ifeq ($(V), 1) +V_AT = +else +V_AT = @ +endif + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +ifndef STRIP + STRIP=strip +endif + +ifndef AR + AR=ar +endif + +ifndef CONFIG + CONFIG=Debug +endif + +JUCE_ARCH_LABEL := $(shell uname -m) + +ifeq ($(CONFIG),Debug) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Debug + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=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 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 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 := UnitTestRunner - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -ifeq ($(CONFIG),Release) - JUCE_BINDIR := build - JUCE_LIBDIR := build - JUCE_OBJDIR := build/intermediate/Release - JUCE_OUTDIR := build - - ifeq ($(TARGET_ARCH),) - TARGET_ARCH := -march=native - endif - - JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=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 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_TARGET_CONSOLEAPP := UnitTestRunner + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +ifeq ($(CONFIG),Release) + JUCE_BINDIR := build + JUCE_LIBDIR := build + JUCE_OBJDIR := build/intermediate/Release + JUCE_OUTDIR := build + + ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native + endif + + JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=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 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 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 := UnitTestRunner - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) - JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) -endif - -OBJECTS_CONSOLEAPP := \ - $(JUCE_OBJDIR)/Main_90ebc5c2.o \ - $(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o \ - $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ - $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ - $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ - $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ - $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ - $(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o \ - $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ - $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ - $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ - $(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o \ - $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ - $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ - $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ - $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ - $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ - $(JUCE_OBJDIR)/include_juce_osc_f3df604d.o \ - $(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o \ - $(JUCE_OBJDIR)/include_juce_video_be78589.o \ - -.PHONY: clean all strip - -all : $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) - -$(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) : $(OBJECTS_CONSOLEAPP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl - @echo Linking "UnitTestRunner - ConsoleApp" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) $(OBJECTS_CONSOLEAPP) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) - -$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling Main.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o: ../../JuceLibraryCode/include_juce_analytics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_analytics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_devices.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_formats.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_processors.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_audio_utils.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o: ../../JuceLibraryCode/include_juce_blocks_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_blocks_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_core.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_cryptography.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_data_structures.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o: ../../JuceLibraryCode/include_juce_dsp.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_dsp.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_events.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_graphics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_basics.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_gui_extra.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_opengl.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_osc_f3df604d.o: ../../JuceLibraryCode/include_juce_osc.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_osc.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o: ../../JuceLibraryCode/include_juce_product_unlocking.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_product_unlocking.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -$(JUCE_OBJDIR)/include_juce_video_be78589.o: ../../JuceLibraryCode/include_juce_video.cpp - -$(V_AT)mkdir -p $(JUCE_OBJDIR) - @echo "Compiling include_juce_video.cpp" - $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" - -clean: - @echo Cleaning UnitTestRunner - $(V_AT)$(CLEANCMD) - -strip: - @echo Stripping UnitTestRunner - -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) - --include $(OBJECTS_CONSOLEAPP:%.o=%.d) + JUCE_TARGET_CONSOLEAPP := UnitTestRunner + + JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) + JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++14 $(CXXFLAGS) + JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl) -fvisibility=hidden -lGL -ldl -lpthread -lrt $(LDFLAGS) + + CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) +endif + +OBJECTS_CONSOLEAPP := \ + $(JUCE_OBJDIR)/Main_90ebc5c2.o \ + $(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o \ + $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ + $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ + $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ + $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \ + $(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \ + $(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o \ + $(JUCE_OBJDIR)/include_juce_core_f26d17db.o \ + $(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o \ + $(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o \ + $(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o \ + $(JUCE_OBJDIR)/include_juce_events_fd7d695.o \ + $(JUCE_OBJDIR)/include_juce_graphics_f817e147.o \ + $(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o \ + $(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o \ + $(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o \ + $(JUCE_OBJDIR)/include_juce_osc_f3df604d.o \ + $(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o \ + $(JUCE_OBJDIR)/include_juce_video_be78589.o \ + +.PHONY: clean all strip + +all : $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) + +$(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) : $(OBJECTS_CONSOLEAPP) $(RESOURCES) + @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } + @pkg-config --print-errors alsa freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0 libcurl + @echo Linking "UnitTestRunner - ConsoleApp" + -$(V_AT)mkdir -p $(JUCE_BINDIR) + -$(V_AT)mkdir -p $(JUCE_LIBDIR) + -$(V_AT)mkdir -p $(JUCE_OUTDIR) + $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_CONSOLEAPP) $(OBJECTS_CONSOLEAPP) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + +$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling Main.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_analytics_f8e9fa94.o: ../../JuceLibraryCode/include_juce_analytics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_analytics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o: ../../JuceLibraryCode/include_juce_audio_devices.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_devices.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o: ../../JuceLibraryCode/include_juce_audio_formats.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_formats.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/include_juce_audio_processors.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_processors.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_audio_utils.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_blocks_basics_90805d6c.o: ../../JuceLibraryCode/include_juce_blocks_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_blocks_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_core_f26d17db.o: ../../JuceLibraryCode/include_juce_core.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_core.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_cryptography_8cb807a8.o: ../../JuceLibraryCode/include_juce_cryptography.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_cryptography.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_data_structures_7471b1e3.o: ../../JuceLibraryCode/include_juce_data_structures.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_data_structures.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_dsp_aeb2060f.o: ../../JuceLibraryCode/include_juce_dsp.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_dsp.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_events_fd7d695.o: ../../JuceLibraryCode/include_juce_events.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_events.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_graphics_f817e147.o: ../../JuceLibraryCode/include_juce_graphics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_graphics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_basics_e3f79785.o: ../../JuceLibraryCode/include_juce_gui_basics.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_basics.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_gui_extra_6dee1c1a.o: ../../JuceLibraryCode/include_juce_gui_extra.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_gui_extra.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_opengl_a8a032b.o: ../../JuceLibraryCode/include_juce_opengl.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_opengl.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_osc_f3df604d.o: ../../JuceLibraryCode/include_juce_osc.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_osc.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_product_unlocking_8278fcdc.o: ../../JuceLibraryCode/include_juce_product_unlocking.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_product_unlocking.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +$(JUCE_OBJDIR)/include_juce_video_be78589.o: ../../JuceLibraryCode/include_juce_video.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling include_juce_video.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_CONSOLEAPP) $(JUCE_CFLAGS_CONSOLEAPP) -o "$@" -c "$<" + +clean: + @echo Cleaning UnitTestRunner + $(V_AT)$(CLEANCMD) + +strip: + @echo Stripping UnitTestRunner + -$(V_AT)$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET) + +-include $(OBJECTS_CONSOLEAPP:%.o=%.d) diff --git a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..949b6789 --- /dev/null +++ b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Original + + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj index 247c3ab1..1eb52e52 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj @@ -167,15 +167,6 @@ true - - true - - - true - - - true - true @@ -248,6 +239,15 @@ true + + true + + + true + + + true + true @@ -539,6 +539,9 @@ true + + true + true @@ -662,6 +665,36 @@ true + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + true @@ -773,6 +806,9 @@ true + + true + true @@ -1019,6 +1055,9 @@ true + + true + true @@ -2047,12 +2086,6 @@ - - - - - - @@ -2080,6 +2113,13 @@ + + + + + + + @@ -2217,6 +2257,7 @@ + @@ -2232,8 +2273,11 @@ + + + @@ -2245,6 +2289,7 @@ + @@ -2294,6 +2339,7 @@ + @@ -2813,6 +2859,7 @@ + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters index 38bcba2a..a277bcb9 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters @@ -23,9 +23,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -41,6 +38,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -197,6 +197,9 @@ {56B98154-96AF-63C0-CF58-1E2698CA95AB} + + {BBFDA49F-EE50-D570-2101-7DC71D7E7DA1} + {01174C18-A414-8669-5964-5D0BEEFB965B} @@ -227,6 +230,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -514,15 +520,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -595,6 +592,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -895,6 +901,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1039,6 +1048,36 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + + + JUCE Modules\juce_blocks_basics\topology\internal + JUCE Modules\juce_blocks_basics\topology @@ -1150,6 +1189,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1417,6 +1459,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2580,24 +2625,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2679,6 +2706,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -3090,6 +3138,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -3135,12 +3186,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -3174,6 +3234,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -3321,6 +3384,9 @@ JUCE Modules\juce_blocks_basics\blocks + + JUCE Modules\juce_blocks_basics\blocks + JUCE Modules\juce_blocks_basics\blocks @@ -4874,6 +4940,9 @@ JUCE Modules\juce_blocks_basics + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/UnitTestRunner/UnitTestRunner.jucer b/extras/UnitTestRunner/UnitTestRunner.jucer index 672f68ef..ca935e4e 100644 --- a/extras/UnitTestRunner/UnitTestRunner.jucer +++ b/extras/UnitTestRunner/UnitTestRunner.jucer @@ -1,7 +1,7 @@ diff --git a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj index e6bc8bfa..3a3955a3 100644 --- a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj +++ b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj @@ -150,15 +150,6 @@ true - - true - - - true - - - true - true @@ -231,6 +222,15 @@ true + + true + + + true + + + true + true @@ -522,6 +522,9 @@ true + + true + true @@ -738,6 +741,9 @@ true + + true + true @@ -984,6 +990,9 @@ true + + true + true @@ -1897,12 +1906,6 @@ - - - - - - @@ -1930,6 +1933,13 @@ + + + + + + + @@ -2067,6 +2077,7 @@ + @@ -2082,8 +2093,11 @@ + + + @@ -2095,6 +2109,7 @@ + @@ -2589,6 +2604,7 @@ + diff --git a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters index 627957d5..587aa9a4 100644 --- a/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters +++ b/extras/WindowsDLL/Builds/VisualStudio2017/WindowsDLL_StaticLibrary.vcxproj.filters @@ -8,9 +8,6 @@ {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - {31054003-EA72-6A9D-D650-56451D9820E6} - {D78296AF-218E-B17E-7F8B-9D148601188D} @@ -26,6 +23,9 @@ {8292766D-2459-2E7E-7615-17216318BA93} + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + {10472B2C-9888-D269-F351-0D0AC3BCD16C} @@ -194,6 +194,9 @@ {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} @@ -427,15 +430,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -508,6 +502,15 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -808,6 +811,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -1045,6 +1051,9 @@ JUCE Modules\juce_core\native + + JUCE Modules\juce_core\native + JUCE Modules\juce_core\native @@ -1312,6 +1321,9 @@ JUCE Modules\juce_data_structures\values + + JUCE Modules\juce_data_structures\values + JUCE Modules\juce_data_structures @@ -2334,24 +2346,6 @@ JUCE Modules\juce_audio_basics\buffers - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - - - JUCE Modules\juce_audio_basics\effects - JUCE Modules\juce_audio_basics\midi @@ -2433,6 +2427,27 @@ JUCE Modules\juce_audio_basics\synthesisers + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + JUCE Modules\juce_audio_basics @@ -2844,6 +2859,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base @@ -2889,12 +2907,21 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst @@ -2928,6 +2955,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst @@ -4406,6 +4436,9 @@ JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + JUCE Modules\juce_core\native\java + JUCE Modules\juce_graphics\image_formats\jpglib diff --git a/extras/WindowsDLL/WindowsDLL.jucer b/extras/WindowsDLL/WindowsDLL.jucer index 2ac24556..fc789412 100644 --- a/extras/WindowsDLL/WindowsDLL.jucer +++ b/extras/WindowsDLL/WindowsDLL.jucer @@ -1,7 +1,7 @@ diff --git a/modules/juce_analytics/analytics/juce_Analytics.h b/modules/juce_analytics/analytics/juce_Analytics.h index 562cbb93..99a88a8b 100644 --- a/modules/juce_analytics/analytics/juce_Analytics.h +++ b/modules/juce_analytics/analytics/juce_Analytics.h @@ -102,7 +102,7 @@ public: private: //============================================================================== Analytics() = default; - ~Analytics() { clearSingletonInstance(); } + ~Analytics() override { clearSingletonInstance(); } String userId; StringPairArray userProperties; diff --git a/modules/juce_analytics/analytics/juce_ButtonTracker.h b/modules/juce_analytics/analytics/juce_ButtonTracker.h index 89d444a7..8b005bba 100644 --- a/modules/juce_analytics/analytics/juce_ButtonTracker.h +++ b/modules/juce_analytics/analytics/juce_ButtonTracker.h @@ -63,7 +63,7 @@ public: int triggeredEventType = 0); /** Destructor. */ - ~ButtonTracker(); + ~ButtonTracker() override; private: /** @internal */ diff --git a/modules/juce_analytics/destinations/juce_AnalyticsDestination.h b/modules/juce_analytics/destinations/juce_AnalyticsDestination.h index e1938fe4..d0855d82 100644 --- a/modules/juce_analytics/destinations/juce_AnalyticsDestination.h +++ b/modules/juce_analytics/destinations/juce_AnalyticsDestination.h @@ -80,7 +80,7 @@ struct JUCE_API AnalyticsDestination AnalyticsDestination() = default; /** Destructor. */ - virtual ~AnalyticsDestination() {} + virtual ~AnalyticsDestination() = default; /** When an AnalyticsDestination is added to an Analytics object this method diff --git a/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h b/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h index 3eb9a4bc..d6d0182f 100644 --- a/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h +++ b/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.h @@ -63,7 +63,7 @@ public: ThreadedAnalyticsDestination (const String& threadName = "Analytics thread"); /** Destructor. */ - virtual ~ThreadedAnalyticsDestination(); + ~ThreadedAnalyticsDestination() override; //============================================================================== /** diff --git a/modules/juce_analytics/juce_analytics.h b/modules/juce_analytics/juce_analytics.h index 378848af..ef8d77c7 100644 --- a/modules/juce_analytics/juce_analytics.h +++ b/modules/juce_analytics/juce_analytics.h @@ -35,7 +35,7 @@ ID: juce_analytics vendor: juce - version: 5.4.1 + version: 5.4.2 name: JUCE analytics classes description: Classes to collect analytics and send to destinations website: http://www.juce.com/juce diff --git a/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h b/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h index 8a58c7ba..70f3a2b4 100644 --- a/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h +++ b/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h @@ -39,10 +39,10 @@ class JUCE_API AudioPlayHead { protected: //============================================================================== - AudioPlayHead() {} + AudioPlayHead() = default; public: - virtual ~AudioPlayHead() {} + virtual ~AudioPlayHead() = default; //============================================================================== /** Frame rate types. */ diff --git a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp index 4ca398ca..a86a5544 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp +++ b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp @@ -75,6 +75,27 @@ String AudioChannelSet::getChannelTypeName (AudioChannelSet::ChannelType type) case ambisonicZ: return NEEDS_TRANS("Ambisonic Z"); case topSideLeft: return NEEDS_TRANS("Top Side Left"); case topSideRight: return NEEDS_TRANS("Top Side Right"); + case ambisonicACN4: return NEEDS_TRANS("Ambisonic 4"); + case ambisonicACN5: return NEEDS_TRANS("Ambisonic 5"); + case ambisonicACN6: return NEEDS_TRANS("Ambisonic 6"); + case ambisonicACN7: return NEEDS_TRANS("Ambisonic 7"); + case ambisonicACN8: return NEEDS_TRANS("Ambisonic 8"); + case ambisonicACN9: return NEEDS_TRANS("Ambisonic 9"); + case ambisonicACN10: return NEEDS_TRANS("Ambisonic 10"); + case ambisonicACN11: return NEEDS_TRANS("Ambisonic 11"); + case ambisonicACN12: return NEEDS_TRANS("Ambisonic 12"); + case ambisonicACN13: return NEEDS_TRANS("Ambisonic 13"); + case ambisonicACN14: return NEEDS_TRANS("Ambisonic 14"); + case ambisonicACN15: return NEEDS_TRANS("Ambisonic 15"); + case bottomFrontLeft: return NEEDS_TRANS("Bottom Front Left"); + case bottomFrontCentre: return NEEDS_TRANS("Bottom Front Centre"); + case bottomFrontRight: return NEEDS_TRANS("Bottom Front Right"); + case bottomSideLeft: return NEEDS_TRANS("Bottom Side Left"); + case bottomSideRight: return NEEDS_TRANS("Bottom Side Right"); + case bottomRearLeft: return NEEDS_TRANS("Bottom Rear Left"); + case bottomRearCentre: return NEEDS_TRANS("Bottom Rear Centre"); + case bottomRearRight: return NEEDS_TRANS("Bottom Rear Right"); + case discreteChannel0: return NEEDS_TRANS("Discrete channel"); default: break; } @@ -115,8 +136,28 @@ String AudioChannelSet::getAbbreviatedChannelTypeName (AudioChannelSet::ChannelT case ambisonicACN1: return "ACN1"; case ambisonicACN2: return "ACN2"; case ambisonicACN3: return "ACN3"; + case ambisonicACN4: return "ACN4"; + case ambisonicACN5: return "ACN5"; + case ambisonicACN6: return "ACN6"; + case ambisonicACN7: return "ACN7"; + case ambisonicACN8: return "ACN8"; + case ambisonicACN9: return "ACN9"; + case ambisonicACN10: return "ACN10"; + case ambisonicACN11: return "ACN11"; + case ambisonicACN12: return "ACN12"; + case ambisonicACN13: return "ACN13"; + case ambisonicACN14: return "ACN14"; + case ambisonicACN15: return "ACN15"; case topSideLeft: return "Tsl"; case topSideRight: return "Tsr"; + case bottomFrontLeft: return "Bfl"; + case bottomFrontCentre: return "Bfc"; + case bottomFrontRight: return "Bfr"; + case bottomSideLeft: return "Bsl"; + case bottomSideRight: return "Bsr"; + case bottomRearLeft: return "Brl"; + case bottomRearCentre: return "Brc"; + case bottomRearRight: return "Brr"; default: break; } @@ -132,36 +173,59 @@ AudioChannelSet::ChannelType AudioChannelSet::getChannelTypeFromAbbreviation (co return static_cast (static_cast (discreteChannel0) + abbr.getIntValue() + 1); - if (abbr == "L") return left; - if (abbr == "R") return right; - if (abbr == "C") return centre; - if (abbr == "Lfe") return LFE; - if (abbr == "Ls") return leftSurround; - if (abbr == "Rs") return rightSurround; - if (abbr == "Lc") return leftCentre; - if (abbr == "Rc") return rightCentre; - if (abbr == "Cs") return centreSurround; - if (abbr == "Lrs") return leftSurroundRear; - if (abbr == "Rrs") return rightSurroundRear; - if (abbr == "Tm") return topMiddle; - if (abbr == "Tfl") return topFrontLeft; - if (abbr == "Tfc") return topFrontCentre; - if (abbr == "Tfr") return topFrontRight; - if (abbr == "Trl") return topRearLeft; - if (abbr == "Trc") return topRearCentre; - if (abbr == "Trr") return topRearRight; - if (abbr == "Wl") return wideLeft; - if (abbr == "Wr") return wideRight; - if (abbr == "Lfe2") return LFE2; - if (abbr == "Lss") return leftSurroundSide; - if (abbr == "Rss") return rightSurroundSide; - if (abbr == "W") return ambisonicW; - if (abbr == "X") return ambisonicX; - if (abbr == "Y") return ambisonicY; - if (abbr == "Z") return ambisonicZ; - if (abbr == "Tsl") return topSideLeft; - if (abbr == "Tsr") return topSideRight; - + if (abbr == "L") return left; + if (abbr == "R") return right; + if (abbr == "C") return centre; + if (abbr == "Lfe") return LFE; + if (abbr == "Ls") return leftSurround; + if (abbr == "Rs") return rightSurround; + if (abbr == "Lc") return leftCentre; + if (abbr == "Rc") return rightCentre; + if (abbr == "Cs") return centreSurround; + if (abbr == "Lrs") return leftSurroundRear; + if (abbr == "Rrs") return rightSurroundRear; + if (abbr == "Tm") return topMiddle; + if (abbr == "Tfl") return topFrontLeft; + if (abbr == "Tfc") return topFrontCentre; + if (abbr == "Tfr") return topFrontRight; + if (abbr == "Trl") return topRearLeft; + if (abbr == "Trc") return topRearCentre; + if (abbr == "Trr") return topRearRight; + if (abbr == "Wl") return wideLeft; + if (abbr == "Wr") return wideRight; + if (abbr == "Lfe2") return LFE2; + if (abbr == "Lss") return leftSurroundSide; + if (abbr == "Rss") return rightSurroundSide; + if (abbr == "W") return ambisonicW; + if (abbr == "X") return ambisonicX; + if (abbr == "Y") return ambisonicY; + if (abbr == "Z") return ambisonicZ; + if (abbr == "ACN0") return ambisonicACN0; + if (abbr == "ACN1") return ambisonicACN1; + if (abbr == "ACN2") return ambisonicACN2; + if (abbr == "ACN3") return ambisonicACN3; + if (abbr == "ACN4") return ambisonicACN4; + if (abbr == "ACN5") return ambisonicACN5; + if (abbr == "ACN6") return ambisonicACN6; + if (abbr == "ACN7") return ambisonicACN7; + if (abbr == "ACN8") return ambisonicACN8; + if (abbr == "ACN9") return ambisonicACN9; + if (abbr == "ACN10") return ambisonicACN10; + if (abbr == "ACN11") return ambisonicACN11; + if (abbr == "ACN12") return ambisonicACN12; + if (abbr == "ACN13") return ambisonicACN13; + if (abbr == "ACN14") return ambisonicACN14; + if (abbr == "ACN15") return ambisonicACN15; + if (abbr == "Tsl") return topSideLeft; + if (abbr == "Tsr") return topSideRight; + if (abbr == "Bfl") return bottomFrontLeft; + if (abbr == "Bfc") return bottomFrontCentre; + if (abbr == "Bfr") return bottomFrontRight; + if (abbr == "Bsl") return bottomSideLeft; + if (abbr == "Bsr") return bottomSideRight; + if (abbr == "Brl") return bottomRearLeft; + if (abbr == "Brc") return bottomRearCentre; + if (abbr == "Brr") return bottomRearRight; return unknown; } diff --git a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h index 719e029f..e9985a18 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h +++ b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h @@ -49,7 +49,7 @@ public: /** Creates an empty channel set. You can call addChannel to add channels to the set. */ - AudioChannelSet() noexcept {} + AudioChannelSet() = default; /** Creates a zero-channel set which can be used to indicate that a bus is disabled. */ @@ -365,7 +365,21 @@ public: ambisonicZ = ambisonicACN2, /**< Same as first-order ambisonic channel number 2. */ //============================================================================== - discreteChannel0 = 64 /**< Non-typed individual channels are indexed upwards from this value. */ + bottomFrontLeft = 62, /**< Bottom Front Left (Bfl) */ + bottomFrontCentre = 63, /**< Bottom Front Centre (Bfc) */ + bottomFrontRight = 64, /**< Bottom Front Right (Bfr) */ + + proxymityLeft = 65, /**< Proximity Left (Pl) */ + proximityRight = 66, /**< Proximity Right (Pr) */ + + bottomSideLeft = 67, /**< Bottom Side Left (Bsl) */ + bottomSideRight = 68, /**< Bottom Side Right (Bsr) */ + bottomRearLeft = 69, /**< Bottom Rear Left (Brl) */ + bottomRearCentre = 70, /**< Bottom Rear Center (Brc) */ + bottomRearRight = 71, /**< Bottom Rear Right (Brr) */ + + //============================================================================== + discreteChannel0 = 128 /**< Non-typed individual channels are indexed upwards from this value. */ }; /** Returns the name of a given channel type. For example, this method may return "Surround Left". */ diff --git a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp index 4b7b4683..162fd1a8 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp +++ b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp @@ -23,16 +23,16 @@ namespace juce { -void AudioDataConverters::convertFloatToInt16LE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToInt16LE (const float* source, void* dest, int numSamples, int destBytesPerSample) { - const double maxVal = (double) 0x7fff; - char* intData = static_cast (dest); + auto maxVal = (double) 0x7fff; + auto intData = static_cast (dest); if (dest != (void*) source || destBytesPerSample <= 4) { for (int i = 0; i < numSamples; ++i) { - *(uint16*) intData = ByteOrder::swapIfBigEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfBigEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); intData += destBytesPerSample; } } @@ -43,21 +43,21 @@ void AudioDataConverters::convertFloatToInt16LE (const float* source, void* dest for (int i = numSamples; --i >= 0;) { intData -= destBytesPerSample; - *(uint16*) intData = ByteOrder::swapIfBigEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfBigEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); } } } -void AudioDataConverters::convertFloatToInt16BE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToInt16BE (const float* source, void* dest, int numSamples, int destBytesPerSample) { - const double maxVal = (double) 0x7fff; - char* intData = static_cast (dest); + auto maxVal = (double) 0x7fff; + auto intData = static_cast (dest); if (dest != (void*) source || destBytesPerSample <= 4) { for (int i = 0; i < numSamples; ++i) { - *(uint16*) intData = ByteOrder::swapIfLittleEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfLittleEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); intData += destBytesPerSample; } } @@ -68,15 +68,15 @@ void AudioDataConverters::convertFloatToInt16BE (const float* source, void* dest for (int i = numSamples; --i >= 0;) { intData -= destBytesPerSample; - *(uint16*) intData = ByteOrder::swapIfLittleEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfLittleEndian ((uint16) (short) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); } } } -void AudioDataConverters::convertFloatToInt24LE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToInt24LE (const float* source, void* dest, int numSamples, int destBytesPerSample) { - const double maxVal = (double) 0x7fffff; - char* intData = static_cast (dest); + auto maxVal = (double) 0x7fffff; + auto intData = static_cast (dest); if (dest != (void*) source || destBytesPerSample <= 4) { @@ -98,10 +98,10 @@ void AudioDataConverters::convertFloatToInt24LE (const float* source, void* dest } } -void AudioDataConverters::convertFloatToInt24BE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToInt24BE (const float* source, void* dest, int numSamples, int destBytesPerSample) { - const double maxVal = (double) 0x7fffff; - char* intData = static_cast (dest); + auto maxVal = (double) 0x7fffff; + auto intData = static_cast (dest); if (dest != (void*) source || destBytesPerSample <= 4) { @@ -123,16 +123,16 @@ void AudioDataConverters::convertFloatToInt24BE (const float* source, void* dest } } -void AudioDataConverters::convertFloatToInt32LE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToInt32LE (const float* source, void* dest, int numSamples, int destBytesPerSample) { - const double maxVal = (double) 0x7fffffff; - char* intData = static_cast (dest); + auto maxVal = (double) 0x7fffffff; + auto intData = static_cast (dest); if (dest != (void*) source || destBytesPerSample <= 4) { for (int i = 0; i < numSamples; ++i) { - *(uint32*)intData = ByteOrder::swapIfBigEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfBigEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); intData += destBytesPerSample; } } @@ -143,21 +143,21 @@ void AudioDataConverters::convertFloatToInt32LE (const float* source, void* dest for (int i = numSamples; --i >= 0;) { intData -= destBytesPerSample; - *(uint32*)intData = ByteOrder::swapIfBigEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfBigEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); } } } -void AudioDataConverters::convertFloatToInt32BE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToInt32BE (const float* source, void* dest, int numSamples, int destBytesPerSample) { - const double maxVal = (double) 0x7fffffff; - char* intData = static_cast (dest); + auto maxVal = (double) 0x7fffffff; + auto intData = static_cast (dest); if (dest != (void*) source || destBytesPerSample <= 4) { for (int i = 0; i < numSamples; ++i) { - *(uint32*)intData = ByteOrder::swapIfLittleEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfLittleEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); intData += destBytesPerSample; } } @@ -168,12 +168,12 @@ void AudioDataConverters::convertFloatToInt32BE (const float* source, void* dest for (int i = numSamples; --i >= 0;) { intData -= destBytesPerSample; - *(uint32*)intData = ByteOrder::swapIfLittleEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); + *reinterpret_cast (intData) = ByteOrder::swapIfLittleEndian ((uint32) roundToInt (jlimit (-maxVal, maxVal, maxVal * source[i]))); } } } -void AudioDataConverters::convertFloatToFloat32LE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToFloat32LE (const float* source, void* dest, int numSamples, int destBytesPerSample) { jassert (dest != (void*) source || destBytesPerSample <= 4); // This op can't be performed on in-place data! @@ -181,28 +181,28 @@ void AudioDataConverters::convertFloatToFloat32LE (const float* source, void* de for (int i = 0; i < numSamples; ++i) { - *(float*) d = source[i]; + *reinterpret_cast (d) = source[i]; #if JUCE_BIG_ENDIAN - *(uint32*) d = ByteOrder::swap (*(uint32*) d); + *reinterpret_cast (d) = ByteOrder::swap (*reinterpret_cast (d)); #endif d += destBytesPerSample; } } -void AudioDataConverters::convertFloatToFloat32BE (const float* source, void* dest, int numSamples, const int destBytesPerSample) +void AudioDataConverters::convertFloatToFloat32BE (const float* source, void* dest, int numSamples, int destBytesPerSample) { jassert (dest != (void*) source || destBytesPerSample <= 4); // This op can't be performed on in-place data! - char* d = static_cast (dest); + auto d = static_cast (dest); for (int i = 0; i < numSamples; ++i) { - *(float*) d = source[i]; + *reinterpret_cast (d) = source[i]; #if JUCE_LITTLE_ENDIAN - *(uint32*) d = ByteOrder::swap (*(uint32*) d); + *reinterpret_cast (d) = ByteOrder::swap (*reinterpret_cast (d)); #endif d += destBytesPerSample; @@ -210,16 +210,16 @@ void AudioDataConverters::convertFloatToFloat32BE (const float* source, void* de } //============================================================================== -void AudioDataConverters::convertInt16LEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertInt16LEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { const float scale = 1.0f / 0x7fff; - const char* intData = static_cast (source); + auto intData = static_cast (source); if (source != (void*) dest || srcBytesPerSample >= 4) { for (int i = 0; i < numSamples; ++i) { - dest[i] = scale * (short) ByteOrder::swapIfBigEndian (*(uint16*)intData); + dest[i] = scale * (short) ByteOrder::swapIfBigEndian (*reinterpret_cast (intData)); intData += srcBytesPerSample; } } @@ -230,21 +230,21 @@ void AudioDataConverters::convertInt16LEToFloat (const void* const source, float for (int i = numSamples; --i >= 0;) { intData -= srcBytesPerSample; - dest[i] = scale * (short) ByteOrder::swapIfBigEndian (*(uint16*)intData); + dest[i] = scale * (short) ByteOrder::swapIfBigEndian (*reinterpret_cast (intData)); } } } -void AudioDataConverters::convertInt16BEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertInt16BEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { const float scale = 1.0f / 0x7fff; - const char* intData = static_cast (source); + auto intData = static_cast (source); if (source != (void*) dest || srcBytesPerSample >= 4) { for (int i = 0; i < numSamples; ++i) { - dest[i] = scale * (short) ByteOrder::swapIfLittleEndian (*(uint16*)intData); + dest[i] = scale * (short) ByteOrder::swapIfLittleEndian (*reinterpret_cast (intData)); intData += srcBytesPerSample; } } @@ -255,15 +255,15 @@ void AudioDataConverters::convertInt16BEToFloat (const void* const source, float for (int i = numSamples; --i >= 0;) { intData -= srcBytesPerSample; - dest[i] = scale * (short) ByteOrder::swapIfLittleEndian (*(uint16*)intData); + dest[i] = scale * (short) ByteOrder::swapIfLittleEndian (*reinterpret_cast (intData)); } } } -void AudioDataConverters::convertInt24LEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertInt24LEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { const float scale = 1.0f / 0x7fffff; - const char* intData = static_cast (source); + auto intData = static_cast (source); if (source != (void*) dest || srcBytesPerSample >= 4) { @@ -285,10 +285,10 @@ void AudioDataConverters::convertInt24LEToFloat (const void* const source, float } } -void AudioDataConverters::convertInt24BEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertInt24BEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { const float scale = 1.0f / 0x7fffff; - const char* intData = static_cast (source); + auto intData = static_cast (source); if (source != (void*) dest || srcBytesPerSample >= 4) { @@ -310,16 +310,16 @@ void AudioDataConverters::convertInt24BEToFloat (const void* const source, float } } -void AudioDataConverters::convertInt32LEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertInt32LEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { - const auto scale = 1.0f / (float) 0x7fffffff; - const char* intData = static_cast (source); + const float scale = 1.0f / (float) 0x7fffffff; + auto intData = static_cast (source); if (source != (void*) dest || srcBytesPerSample >= 4) { for (int i = 0; i < numSamples; ++i) { - dest[i] = scale * (int) ByteOrder::swapIfBigEndian (*(uint32*) intData); + dest[i] = scale * (int) ByteOrder::swapIfBigEndian (*reinterpret_cast (intData)); intData += srcBytesPerSample; } } @@ -330,21 +330,21 @@ void AudioDataConverters::convertInt32LEToFloat (const void* const source, float for (int i = numSamples; --i >= 0;) { intData -= srcBytesPerSample; - dest[i] = scale * (int) ByteOrder::swapIfBigEndian (*(uint32*) intData); + dest[i] = scale * (int) ByteOrder::swapIfBigEndian (*reinterpret_cast (intData)); } } } -void AudioDataConverters::convertInt32BEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertInt32BEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { - const auto scale = 1.0f / (float) 0x7fffffff; - const char* intData = static_cast (source); + const float scale = 1.0f / (float) 0x7fffffff; + auto intData = static_cast (source); if (source != (void*) dest || srcBytesPerSample >= 4) { for (int i = 0; i < numSamples; ++i) { - dest[i] = scale * (int) ByteOrder::swapIfLittleEndian (*(uint32*) intData); + dest[i] = scale * (int) ByteOrder::swapIfLittleEndian (*reinterpret_cast (intData)); intData += srcBytesPerSample; } } @@ -355,21 +355,21 @@ void AudioDataConverters::convertInt32BEToFloat (const void* const source, float for (int i = numSamples; --i >= 0;) { intData -= srcBytesPerSample; - dest[i] = scale * (int) ByteOrder::swapIfLittleEndian (*(uint32*) intData); + dest[i] = scale * (int) ByteOrder::swapIfLittleEndian (*reinterpret_cast (intData)); } } } -void AudioDataConverters::convertFloat32LEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertFloat32LEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { - const char* s = static_cast (source); + auto s = static_cast (source); for (int i = 0; i < numSamples; ++i) { - dest[i] = *(float*)s; + dest[i] = *reinterpret_cast (s); #if JUCE_BIG_ENDIAN - uint32* const d = (uint32*) (dest + i); + auto d = reinterpret_cast (dest + i); *d = ByteOrder::swap (*d); #endif @@ -377,16 +377,16 @@ void AudioDataConverters::convertFloat32LEToFloat (const void* const source, flo } } -void AudioDataConverters::convertFloat32BEToFloat (const void* const source, float* const dest, int numSamples, const int srcBytesPerSample) +void AudioDataConverters::convertFloat32BEToFloat (const void* source, float* dest, int numSamples, int srcBytesPerSample) { - const char* s = static_cast (source); + auto s = static_cast (source); for (int i = 0; i < numSamples; ++i) { - dest[i] = *(float*)s; + dest[i] = *reinterpret_cast (s); #if JUCE_LITTLE_ENDIAN - uint32* const d = (uint32*) (dest + i); + auto d = reinterpret_cast (dest + i); *d = ByteOrder::swap (*d); #endif @@ -396,10 +396,7 @@ void AudioDataConverters::convertFloat32BEToFloat (const void* const source, flo //============================================================================== -void AudioDataConverters::convertFloatToFormat (const DataFormat destFormat, - const float* const source, - void* const dest, - const int numSamples) +void AudioDataConverters::convertFloatToFormat (DataFormat destFormat, const float* source, void* dest, int numSamples) { switch (destFormat) { @@ -415,10 +412,7 @@ void AudioDataConverters::convertFloatToFormat (const DataFormat destFormat, } } -void AudioDataConverters::convertFormatToFloat (const DataFormat sourceFormat, - const void* const source, - float* const dest, - const int numSamples) +void AudioDataConverters::convertFormatToFloat (DataFormat sourceFormat, const void* source, float* dest, int numSamples) { switch (sourceFormat) { @@ -435,15 +429,12 @@ void AudioDataConverters::convertFormatToFloat (const DataFormat sourceFormat, } //============================================================================== -void AudioDataConverters::interleaveSamples (const float** const source, - float* const dest, - const int numSamples, - const int numChannels) +void AudioDataConverters::interleaveSamples (const float** source, float* dest, int numSamples, int numChannels) { for (int chan = 0; chan < numChannels; ++chan) { - int i = chan; - const float* src = source [chan]; + auto i = chan; + auto src = source [chan]; for (int j = 0; j < numSamples; ++j) { @@ -453,15 +444,12 @@ void AudioDataConverters::interleaveSamples (const float** const source, } } -void AudioDataConverters::deinterleaveSamples (const float* const source, - float** const dest, - const int numSamples, - const int numChannels) +void AudioDataConverters::deinterleaveSamples (const float* source, float** dest, int numSamples, int numChannels) { for (int chan = 0; chan < numChannels; ++chan) { - int i = chan; - float* dst = dest [chan]; + auto i = chan; + auto dst = dest [chan]; for (int j = 0; j < numSamples; ++j) { @@ -492,7 +480,7 @@ public: static void test (UnitTest& unitTest, bool inPlace, Random& r) { const int numSamples = 2048; - int32 original [numSamples], converted [numSamples], reversed [numSamples]; + int32 original[numSamples], converted[numSamples], reversed[numSamples]; { AudioData::Pointer d (original); @@ -514,13 +502,13 @@ public: } // convert data from the source to dest format.. - std::unique_ptr conv (new AudioData::ConverterInstance , - AudioData::Pointer>()); + std::unique_ptr conv (new AudioData::ConverterInstance, + AudioData::Pointer>()); conv->convertSamples (inPlace ? reversed : converted, original, numSamples); // ..and back again.. - conv.reset (new AudioData::ConverterInstance , - AudioData::Pointer>()); + conv.reset (new AudioData::ConverterInstance, + AudioData::Pointer>()); if (! inPlace) zeromem (reversed, sizeof (reversed)); @@ -582,7 +570,7 @@ public: void runTest() override { - Random r = getRandom(); + auto r = getRandom(); beginTest ("Round-trip conversion: Int8"); Test1 ::test (*this, r); beginTest ("Round-trip conversion: Int16"); diff --git a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h index 45c6c309..47edc642 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h +++ b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h @@ -277,8 +277,8 @@ public: class NonInterleaved { public: - inline NonInterleaved() noexcept {} - inline NonInterleaved (const NonInterleaved&) noexcept {} + inline NonInterleaved() = default; + inline NonInterleaved (const NonInterleaved&) = default; inline NonInterleaved (const int) noexcept {} inline void copyFrom (const NonInterleaved&) noexcept {} template inline void advanceData (SampleFormatType& s) noexcept { s.advance(); } @@ -292,15 +292,15 @@ public: class Interleaved { public: - inline Interleaved() noexcept : numInterleavedChannels (1) {} - inline Interleaved (const Interleaved& other) noexcept : numInterleavedChannels (other.numInterleavedChannels) {} + inline Interleaved() noexcept {} + inline Interleaved (const Interleaved& other) = default; inline Interleaved (const int numInterleavedChans) noexcept : numInterleavedChannels (numInterleavedChans) {} inline void copyFrom (const Interleaved& other) noexcept { numInterleavedChannels = other.numInterleavedChannels; } template inline void advanceData (SampleFormatType& s) noexcept { s.skip (numInterleavedChannels); } template inline void advanceDataBy (SampleFormatType& s, int numSamples) noexcept { s.skip (numInterleavedChannels * numSamples); } template inline void clear (SampleFormatType& s, int numSamples) noexcept { while (--numSamples >= 0) { s.clear(); s.skip (numInterleavedChannels); } } template inline int getNumBytesBetweenSamples (const SampleFormatType&) const noexcept { return numInterleavedChannels * SampleFormatType::bytesPerSample; } - int numInterleavedChannels; + int numInterleavedChannels = 1; enum { isInterleavedType = 1 }; }; @@ -587,7 +587,7 @@ public: class Converter { public: - virtual ~Converter() {} + virtual ~Converter() = default; /** Converts a sequence of samples from the converter's source format into the dest format. */ virtual void convertSamples (void* destSamples, const void* sourceSamples, int numSamples) const = 0; diff --git a/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h b/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h index 1c2ce7f8..9072ae97 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h +++ b/modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h @@ -172,14 +172,14 @@ public: /** Destructor. This will free any memory allocated by the buffer. */ - ~AudioBuffer() noexcept {} + ~AudioBuffer() = default; /** Move constructor */ AudioBuffer (AudioBuffer&& other) noexcept : numChannels (other.numChannels), size (other.size), allocatedBytes (other.allocatedBytes), - allocatedData (static_cast&&> (other.allocatedData)), + allocatedData (std::move (other.allocatedData)), isClear (other.isClear) { if (numChannels < (int) numElementsInArray (preallocatedChannelSpace)) @@ -205,7 +205,7 @@ public: numChannels = other.numChannels; size = other.size; allocatedBytes = other.allocatedBytes; - allocatedData = static_cast&&> (other.allocatedData); + allocatedData = std::move (other.allocatedData); isClear = other.isClear; if (numChannels < (int) numElementsInArray (preallocatedChannelSpace)) @@ -1080,7 +1080,7 @@ private: allocatedBytes = (size_t) numChannels * (size_t) size * sizeof (Type) + channelListSize + 32; allocatedData.malloc (allocatedBytes); channels = reinterpret_cast (allocatedData.get()); - auto* chan = (Type*) (allocatedData + channelListSize); + auto chan = reinterpret_cast (allocatedData + channelListSize); for (int i = 0; i < numChannels; ++i) { diff --git a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp index 4dc44c1b..da999286 100644 --- a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp +++ b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp @@ -878,7 +878,7 @@ void JUCE_CALLTYPE FloatVectorOperations::convertFixedToFloat (float* dest, cons JUCE_LOAD_NONE, JUCE_INCREMENT_SRC_DEST, ) #else JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = (float) src[i] * multiplier, - Mode::mul (mult, _mm_cvtepi32_ps (_mm_loadu_si128 ((const __m128i*) src))), + Mode::mul (mult, _mm_cvtepi32_ps (_mm_loadu_si128 (reinterpret_cast (src)))), JUCE_LOAD_NONE, JUCE_INCREMENT_SRC_DEST, const Mode::ParallelType mult = Mode::load1 (multiplier);) #endif diff --git a/modules/juce_audio_basics/juce_audio_basics.cpp b/modules/juce_audio_basics/juce_audio_basics.cpp index 3b00dee3..acf49880 100644 --- a/modules/juce_audio_basics/juce_audio_basics.cpp +++ b/modules/juce_audio_basics/juce_audio_basics.cpp @@ -57,9 +57,9 @@ #include "buffers/juce_FloatVectorOperations.cpp" #include "buffers/juce_AudioChannelSet.cpp" #include "buffers/juce_AudioProcessLoadMeasurer.cpp" -#include "effects/juce_IIRFilter.cpp" -#include "effects/juce_LagrangeInterpolator.cpp" -#include "effects/juce_CatmullRomInterpolator.cpp" +#include "utilities/juce_IIRFilter.cpp" +#include "utilities/juce_LagrangeInterpolator.cpp" +#include "utilities/juce_CatmullRomInterpolator.cpp" #include "midi/juce_MidiBuffer.cpp" #include "midi/juce_MidiFile.cpp" #include "midi/juce_MidiKeyboardState.cpp" diff --git a/modules/juce_audio_basics/juce_audio_basics.h b/modules/juce_audio_basics/juce_audio_basics.h index a3eb065c..c5a135d7 100644 --- a/modules/juce_audio_basics/juce_audio_basics.h +++ b/modules/juce_audio_basics/juce_audio_basics.h @@ -31,7 +31,7 @@ ID: juce_audio_basics vendor: juce - version: 5.4.1 + version: 5.4.2 name: JUCE audio and MIDI data classes description: Classes for audio buffer manipulation, midi message handling, synthesis, etc. website: http://www.juce.com/juce @@ -85,12 +85,13 @@ #include "buffers/juce_AudioSampleBuffer.h" #include "buffers/juce_AudioChannelSet.h" #include "buffers/juce_AudioProcessLoadMeasurer.h" -#include "effects/juce_Decibels.h" -#include "effects/juce_IIRFilter.h" -#include "effects/juce_LagrangeInterpolator.h" -#include "effects/juce_CatmullRomInterpolator.h" -#include "effects/juce_LinearSmoothedValue.h" -#include "effects/juce_Reverb.h" +#include "utilities/juce_Decibels.h" +#include "utilities/juce_IIRFilter.h" +#include "utilities/juce_LagrangeInterpolator.h" +#include "utilities/juce_CatmullRomInterpolator.h" +#include "utilities/juce_LinearSmoothedValue.h" +#include "utilities/juce_Reverb.h" +#include "utilities/juce_ADSR.h" #include "midi/juce_MidiMessage.h" #include "midi/juce_MidiBuffer.h" #include "midi/juce_MidiMessageSequence.h" diff --git a/modules/juce_audio_basics/midi/juce_MidiFile.cpp b/modules/juce_audio_basics/midi/juce_MidiFile.cpp index d6aef794..edad27d2 100644 --- a/modules/juce_audio_basics/midi/juce_MidiFile.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiFile.cpp @@ -169,14 +169,14 @@ MidiFile& MidiFile::operator= (const MidiFile& other) } MidiFile::MidiFile (MidiFile&& other) - : tracks (static_cast&&> (other.tracks)), + : tracks (std::move (other.tracks)), timeFormat (other.timeFormat) { } MidiFile& MidiFile::operator= (MidiFile&& other) { - tracks = static_cast&&> (other.tracks); + tracks = std::move (other.tracks); timeFormat = other.timeFormat; return *this; } @@ -363,7 +363,7 @@ void MidiFile::convertTimestampTicksToSeconds() } //============================================================================== -bool MidiFile::writeTo (OutputStream& out, int midiFileType) +bool MidiFile::writeTo (OutputStream& out, int midiFileType) const { jassert (midiFileType >= 0 && midiFileType <= 2); @@ -381,7 +381,7 @@ bool MidiFile::writeTo (OutputStream& out, int midiFileType) return true; } -bool MidiFile::writeTrack (OutputStream& mainOut, const MidiMessageSequence& ms) +bool MidiFile::writeTrack (OutputStream& mainOut, const MidiMessageSequence& ms) const { MemoryOutputStream out; diff --git a/modules/juce_audio_basics/midi/juce_MidiFile.h b/modules/juce_audio_basics/midi/juce_MidiFile.h index 8c3c930d..0f3f9f00 100644 --- a/modules/juce_audio_basics/midi/juce_MidiFile.h +++ b/modules/juce_audio_basics/midi/juce_MidiFile.h @@ -174,7 +174,7 @@ public: @returns true if the operation succeeded. */ - bool writeTo (OutputStream& destStream, int midiFileType = 1); + bool writeTo (OutputStream& destStream, int midiFileType = 1) const; /** Converts the timestamp of all the midi events from midi ticks to seconds. @@ -183,14 +183,13 @@ public: */ void convertTimestampTicksToSeconds(); - private: //============================================================================== OwnedArray tracks; short timeFormat; void readNextTrack (const uint8*, int, bool); - bool writeTrack (OutputStream&, const MidiMessageSequence&); + bool writeTrack (OutputStream&, const MidiMessageSequence&) const; JUCE_LEAK_DETECTOR (MidiFile) }; diff --git a/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h b/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h index ddbbe2db..5b20bc57 100644 --- a/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h +++ b/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h @@ -38,8 +38,8 @@ class JUCE_API MidiKeyboardStateListener { public: //============================================================================== - MidiKeyboardStateListener() noexcept {} - virtual ~MidiKeyboardStateListener() {} + MidiKeyboardStateListener() = default; + virtual ~MidiKeyboardStateListener() = default; //============================================================================== /** Called when one of the MidiKeyboardState's keys is pressed. diff --git a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp index 0321e466..6477e7d7 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp @@ -24,7 +24,7 @@ namespace juce { MidiMessageSequence::MidiEventHolder::MidiEventHolder (const MidiMessage& mm) : message (mm) {} -MidiMessageSequence::MidiEventHolder::MidiEventHolder (MidiMessage&& mm) : message (static_cast (mm)) {} +MidiMessageSequence::MidiEventHolder::MidiEventHolder (MidiMessage&& mm) : message (std::move (mm)) {} MidiMessageSequence::MidiEventHolder::~MidiEventHolder() {} //============================================================================== @@ -53,13 +53,13 @@ MidiMessageSequence& MidiMessageSequence::operator= (const MidiMessageSequence& } MidiMessageSequence::MidiMessageSequence (MidiMessageSequence&& other) noexcept - : list (static_cast&&> (other.list)) + : list (std::move (other.list)) { } MidiMessageSequence& MidiMessageSequence::operator= (MidiMessageSequence&& other) noexcept { - list = static_cast&&> (other.list); + list = std::move (other.list); return *this; } @@ -174,7 +174,7 @@ MidiMessageSequence::MidiEventHolder* MidiMessageSequence::addEvent (const MidiM MidiMessageSequence::MidiEventHolder* MidiMessageSequence::addEvent (MidiMessage&& newMessage, double timeAdjustment) { - return addEvent (new MidiEventHolder (static_cast (newMessage)), timeAdjustment); + return addEvent (new MidiEventHolder (std::move (newMessage)), timeAdjustment); } void MidiMessageSequence::deleteEvent (int index, bool deleteMatchingNoteUp) diff --git a/modules/juce_audio_basics/mpe/juce_MPEInstrument.h b/modules/juce_audio_basics/mpe/juce_MPEInstrument.h index 59b070bf..436bb7b9 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEInstrument.h +++ b/modules/juce_audio_basics/mpe/juce_MPEInstrument.h @@ -241,7 +241,7 @@ public: { public: /** Destructor. */ - virtual ~Listener() {} + virtual ~Listener() = default; /** Implement this callback to be informed whenever a new expressive MIDI note is triggered. @@ -352,8 +352,7 @@ private: struct MPEDimension { - MPEDimension() noexcept : trackingMode (lastNotePlayedOnChannel) {} - TrackingMode trackingMode; + TrackingMode trackingMode = lastNotePlayedOnChannel; MPEValue lastValueReceivedOnChannel[16]; MPEValue MPENote::* value; MPEValue& getValue (MPENote& note) noexcept { return note.*(value); } diff --git a/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h b/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h index c49bbcde..1dfae9d8 100644 --- a/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h +++ b/modules/juce_audio_basics/mpe/juce_MPESynthesiser.h @@ -72,7 +72,7 @@ public: MPESynthesiser (MPEInstrument* instrument); /** Destructor. */ - ~MPESynthesiser(); + ~MPESynthesiser() override; //============================================================================== /** Deletes all voices. */ @@ -188,7 +188,7 @@ protected: renderNextBlock(). Do not call it yourself, otherwise the internal MPE note state will become inconsistent. */ - virtual void noteAdded (MPENote newNote) override; + void noteAdded (MPENote newNote) override; /** Stops playing a note. @@ -203,7 +203,7 @@ protected: renderNextBlock(). Do not call it yourself, otherwise the internal MPE note state will become inconsistent. */ - virtual void noteReleased (MPENote finishedNote) override; + void noteReleased (MPENote finishedNote) override; /** Will find any voice that is currently playing changedNote, update its currently playing note, and call its notePressureChanged method. @@ -211,7 +211,7 @@ protected: This method will be called automatically according to the midi data passed into renderNextBlock(). Do not call it yourself. */ - virtual void notePressureChanged (MPENote changedNote) override; + void notePressureChanged (MPENote changedNote) override; /** Will find any voice that is currently playing changedNote, update its currently playing note, and call its notePitchbendChanged method. @@ -219,7 +219,7 @@ protected: This method will be called automatically according to the midi data passed into renderNextBlock(). Do not call it yourself. */ - virtual void notePitchbendChanged (MPENote changedNote) override; + void notePitchbendChanged (MPENote changedNote) override; /** Will find any voice that is currently playing changedNote, update its currently playing note, and call its noteTimbreChanged method. @@ -227,7 +227,7 @@ protected: This method will be called automatically according to the midi data passed into renderNextBlock(). Do not call it yourself. */ - virtual void noteTimbreChanged (MPENote changedNote) override; + void noteTimbreChanged (MPENote changedNote) override; /** Will find any voice that is currently playing changedNote, update its currently playing note, and call its noteKeyStateChanged method. @@ -235,24 +235,24 @@ protected: This method will be called automatically according to the midi data passed into renderNextBlock(). Do not call it yourself. */ - virtual void noteKeyStateChanged (MPENote changedNote) override; + void noteKeyStateChanged (MPENote changedNote) override; //============================================================================== /** This will simply call renderNextBlock for each currently active voice and fill the buffer with the sum. Override this method if you need to do more work to render your audio. */ - virtual void renderNextSubBlock (AudioBuffer& outputAudio, - int startSample, - int numSamples) override; + void renderNextSubBlock (AudioBuffer& outputAudio, + int startSample, + int numSamples) override; /** This will simply call renderNextBlock for each currently active voice and fill the buffer with the sum. (souble-precision version) Override this method if you need to do more work to render your audio. */ - virtual void renderNextSubBlock (AudioBuffer& outputAudio, - int startSample, - int numSamples) override; + void renderNextSubBlock (AudioBuffer& outputAudio, + int startSample, + int numSamples) override; //============================================================================== /** Searches through the voices to find one that's not currently playing, and diff --git a/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h b/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h index 1414324c..955deb37 100644 --- a/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h +++ b/modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h @@ -80,13 +80,7 @@ public: */ struct Zone { - Zone (const Zone& other) noexcept - : numMemberChannels (other.numMemberChannels), - perNotePitchbendRange (other.perNotePitchbendRange), - masterPitchbendRange (other.masterPitchbendRange), - lowerZone (other.lowerZone) - { - } + Zone (const Zone& other) = default; bool isLowerZone() const noexcept { return lowerZone; } bool isUpperZone() const noexcept { return ! lowerZone; } @@ -185,7 +179,7 @@ public: { public: /** Destructor. */ - virtual ~Listener() {} + virtual ~Listener() = default; /** Implement this callback to be notified about any changes to this MPEZoneLayout. Will be called whenever a zone is added, zones are diff --git a/modules/juce_audio_basics/sources/juce_AudioSource.h b/modules/juce_audio_basics/sources/juce_AudioSource.h index 9633f67b..3b48ee06 100644 --- a/modules/juce_audio_basics/sources/juce_AudioSource.h +++ b/modules/juce_audio_basics/sources/juce_AudioSource.h @@ -32,9 +32,7 @@ namespace juce struct JUCE_API AudioSourceChannelInfo { /** Creates an uninitialised AudioSourceChannelInfo. */ - AudioSourceChannelInfo() noexcept - { - } + AudioSourceChannelInfo() = default; /** Creates an AudioSourceChannelInfo. */ AudioSourceChannelInfo (AudioBuffer* bufferToUse, @@ -113,11 +111,11 @@ class JUCE_API AudioSource protected: //============================================================================== /** Creates an AudioSource. */ - AudioSource() noexcept {} + AudioSource() = default; public: /** Destructor. */ - virtual ~AudioSource() {} + virtual ~AudioSource() = default; //============================================================================== /** Tells the source to prepare for playing. diff --git a/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h b/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h index bc6f5abe..44c755d3 100644 --- a/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_BufferingAudioSource.h @@ -66,7 +66,7 @@ public: The input source may be deleted depending on whether the deleteSourceWhenDeleted flag was set in the constructor. */ - ~BufferingAudioSource(); + ~BufferingAudioSource() override; //============================================================================== /** Implementation of the AudioSource method. */ diff --git a/modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h b/modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h index f46093b2..69761faf 100644 --- a/modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h @@ -56,7 +56,7 @@ public: bool deleteSourceWhenDeleted); /** Destructor. */ - ~ChannelRemappingAudioSource(); + ~ChannelRemappingAudioSource() override; //============================================================================== /** Specifies a number of channels that this audio source must produce from its diff --git a/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h b/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h index 35030c06..e47e9e81 100644 --- a/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h @@ -43,7 +43,7 @@ public: bool deleteInputWhenDeleted); /** Destructor. */ - ~IIRFilterAudioSource(); + ~IIRFilterAudioSource() override; //============================================================================== /** Changes the filter to use the same parameters as the one being passed in. */ diff --git a/modules/juce_audio_basics/sources/juce_MixerAudioSource.h b/modules/juce_audio_basics/sources/juce_MixerAudioSource.h index 8b3e9c27..d3766f93 100644 --- a/modules/juce_audio_basics/sources/juce_MixerAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_MixerAudioSource.h @@ -41,7 +41,7 @@ public: MixerAudioSource(); /** Destructor. */ - ~MixerAudioSource(); + ~MixerAudioSource() override; //============================================================================== /** Adds an input source to the mixer. diff --git a/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h b/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h index 610d2c5a..df7ea363 100644 --- a/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_PositionableAudioSource.h @@ -40,11 +40,11 @@ class JUCE_API PositionableAudioSource : public AudioSource protected: //============================================================================== /** Creates the PositionableAudioSource. */ - PositionableAudioSource() noexcept {} + PositionableAudioSource() = default; public: /** Destructor */ - ~PositionableAudioSource() {} + ~PositionableAudioSource() override = default; //============================================================================== /** Tells the stream to move to a new position. diff --git a/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h b/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h index 0ff3fae6..e33396b8 100644 --- a/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h @@ -47,7 +47,7 @@ public: int numChannels = 2); /** Destructor. */ - ~ResamplingAudioSource(); + ~ResamplingAudioSource() override; /** Changes the resampling ratio. diff --git a/modules/juce_audio_basics/sources/juce_ReverbAudioSource.h b/modules/juce_audio_basics/sources/juce_ReverbAudioSource.h index 99fc422d..a22f4199 100644 --- a/modules/juce_audio_basics/sources/juce_ReverbAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_ReverbAudioSource.h @@ -44,7 +44,7 @@ public: bool deleteInputWhenDeleted); /** Destructor. */ - ~ReverbAudioSource(); + ~ReverbAudioSource() override; //============================================================================== /** Returns the parameters from the reverb. */ diff --git a/modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h b/modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h index ea1da6af..df04c899 100644 --- a/modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h +++ b/modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h @@ -38,7 +38,7 @@ public: ToneGeneratorAudioSource(); /** Destructor. */ - ~ToneGeneratorAudioSource(); + ~ToneGeneratorAudioSource() override; //============================================================================== /** Sets the signal's amplitude. */ diff --git a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp index ba6f818d..8c02bf24 100644 --- a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp +++ b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp @@ -217,6 +217,18 @@ void Synthesiser::processNextBlock (AudioBuffer& outputAudio, template void Synthesiser::processNextBlock (AudioBuffer&, const MidiBuffer&, int, int); template void Synthesiser::processNextBlock (AudioBuffer&, const MidiBuffer&, int, int); +void Synthesiser::renderNextBlock (AudioBuffer& outputAudio, const MidiBuffer& inputMidi, + int startSample, int numSamples) +{ + processNextBlock (outputAudio, inputMidi, startSample, numSamples); +} + +void Synthesiser::renderNextBlock (AudioBuffer& outputAudio, const MidiBuffer& inputMidi, + int startSample, int numSamples) +{ + processNextBlock (outputAudio, inputMidi, startSample, numSamples); +} + void Synthesiser::renderVoices (AudioBuffer& buffer, int startSample, int numSamples) { for (auto* voice : voices) diff --git a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h index 62e8cc1a..cdff3778 100644 --- a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h +++ b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h @@ -46,7 +46,7 @@ protected: public: /** Destructor. */ - virtual ~SynthesiserSound(); + ~SynthesiserSound() override; //============================================================================== /** Returns true if this sound should be played when a given midi note is pressed. @@ -525,21 +525,15 @@ public: both to the audio output buffer and the midi input buffer, so any midi events with timestamps outside the specified region will be ignored. */ - inline void renderNextBlock (AudioBuffer& outputAudio, - const MidiBuffer& inputMidi, - int startSample, - int numSamples) - { - processNextBlock (outputAudio, inputMidi, startSample, numSamples); - } + void renderNextBlock (AudioBuffer& outputAudio, + const MidiBuffer& inputMidi, + int startSample, + int numSamples); - inline void renderNextBlock (AudioBuffer& outputAudio, - const MidiBuffer& inputMidi, - int startSample, - int numSamples) - { - processNextBlock (outputAudio, inputMidi, startSample, numSamples); - } + void renderNextBlock (AudioBuffer& outputAudio, + const MidiBuffer& inputMidi, + int startSample, + int numSamples); /** Returns the current target sample rate at which rendering is being done. Subclasses may need to know this so that they can pitch things correctly. @@ -632,12 +626,6 @@ protected: private: //============================================================================== - template - void processNextBlock (AudioBuffer& outputAudio, - const MidiBuffer& inputMidi, - int startSample, - int numSamples); - //============================================================================== double sampleRate = 0; uint32 lastNoteOnCounter = 0; int minimumSubBlockSize = 32; @@ -645,6 +633,9 @@ private: bool shouldStealNotes = true; BigInteger sustainPedalsDown; + template + void processNextBlock (AudioBuffer&, const MidiBuffer&, int startSample, int numSamples); + #if JUCE_CATCH_DEPRECATED_CODE_MISUSE // Note the new parameters for these methods. virtual int findFreeVoice (const bool) const { return 0; } diff --git a/modules/juce_audio_basics/utilities/juce_ADSR.h b/modules/juce_audio_basics/utilities/juce_ADSR.h new file mode 100644 index 00000000..3821333f --- /dev/null +++ b/modules/juce_audio_basics/utilities/juce_ADSR.h @@ -0,0 +1,222 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2017 - ROLI Ltd. + + JUCE is an open source library subject to commercial or open-source + licensing. + + The code included in this file is provided under the terms of the ISC license + http://www.isc.org/downloads/software-support-policy/isc-license. Permission + To use, copy, modify, and/or distribute this software for any purpose with or + without fee is hereby granted provided that the above copyright notice and + this permission notice appear in all copies. + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + +namespace juce +{ + +//============================================================================== +/** + A very simple ADSR envelope class. + + To use it, call setSampleRate() with the current sample rate and give it some parameters + with setParameters() then call getNextSample() to get the envelope value to be applied + to each audio sample or applyEnvelopeToBuffer() to apply the envelope to a whole buffer. +*/ +class ADSR +{ +public: + //============================================================================== + ADSR() + { + setSampleRate (44100.0); + setParameters ({}); + } + + //============================================================================== + /** Holds the parameters being used by an ADSR object. */ + struct Parameters + { + /** Attack time in seconds. */ + float attack = 0.1f; + + /** Decay time in seconds. */ + float decay = 0.1f; + + /** Sustain level. */ + float sustain = 1.0f; + + /** Release time in seconds. */ + float release = 0.1f; + }; + + /** Sets the parameters that will be used by an ADSR object. + + You must have called setSampleRate() with the correct sample rate before + this otherwise the values may be incorrect! + + @see getParameters + */ + void setParameters (const Parameters& newParameters) + { + currentParameters = newParameters; + + sustainLevel = newParameters.sustain; + calculateRates (newParameters); + } + + /** Returns the parameters currently being used by an ADSR object. + + @see setParameters + */ + const Parameters& getParameters() const { return currentParameters; } + + /** Returns true if the envelope is in its attack, decay, sustain or release stage. */ + bool isActive() const noexcept { return currentState != State::idle; } + + //============================================================================== + /** Sets the sample rate that will be used for the envelope. + + This must be called before the getNextSample() or setParameters() methods. + */ + void setSampleRate (double sampleRate) + { + jassert (sampleRate > 0.0); + sr = sampleRate; + } + + //============================================================================== + /** Resets the envelope to an idle state. */ + void reset() + { + envelopeVal = 0.0f; + currentState = State::idle; + } + + /** Starts the attack phase of the envelope. */ + void noteOn() + { + if (attackRate > 0.0f) currentState = State::attack; + else if (decayRate > 0.0f) currentState = State::decay; + else currentState = State::sustain; + } + + /** Starts the release phase of the envelope. */ + void noteOff() + { + if (currentState != State::idle) + { + if (releaseRate > 0.0f) + currentState = State::release; + else + reset(); + } + } + + //============================================================================== + /** Returns the next sample value for an ADSR object. + + @see applyEnvelopeToBuffer + */ + float getNextSample() + { + if (currentState == State::idle) + return 0.0f; + + if (currentState == State::attack) + { + envelopeVal += attackRate; + + if (envelopeVal >= 1.0f) + { + envelopeVal = 1.0f; + + if (decayRate > 0.0f) + currentState = State::decay; + else + currentState = State::sustain; + } + } + else if (currentState == State::decay) + { + envelopeVal -= decayRate; + + if (envelopeVal <= sustainLevel) + { + envelopeVal = sustainLevel; + currentState = State::sustain; + } + } + else if (currentState == State::sustain) + { + envelopeVal = sustainLevel; + } + else if (currentState == State::release) + { + envelopeVal -= releaseRate; + + if (envelopeVal <= 0.0f) + reset(); + } + + return envelopeVal; + } + + /** This method will conveniently apply the next numSamples number of envelope values + to an AudioBuffer. + + @see getNextSample + */ + template + void applyEnvelopeToBuffer (AudioBuffer& buffer, int startSample, int numSamples) + { + jassert (startSample + numSamples <= buffer.getNumSamples()); + + auto numChannels = buffer.getNumChannels(); + + while (--numSamples >= 0) + { + auto env = getNextSample(); + + for (int i = 0; i < numChannels; ++i) + buffer.getWritePointer (i)[startSample] *= env; + + ++startSample; + } + } + +private: + //============================================================================== + void calculateRates (const Parameters& parameters) + { + // need to call setSampleRate() first! + jassert (sr > 0.0); + + attackRate = (parameters.attack > 0.0f ? static_cast (1.0f / (parameters.attack * sr)) : -1.0f); + decayRate = (parameters.decay > 0.0f ? static_cast ((1.0f - sustainLevel) / (parameters.decay * sr)) : -1.0f); + releaseRate = (parameters.release > 0.0f ? static_cast (sustainLevel / (parameters.release * sr)) : -1.0f); + } + + //============================================================================== + enum class State { idle, attack, decay, sustain, release }; + + State currentState = State::idle; + Parameters currentParameters; + + double sr = 0.0; + + float envelopeVal = 0.0f; + + float sustainLevel = 0.0f; + float attackRate = 0.0f, decayRate = 0.0f, releaseRate = 0.0f; +}; + +} // namespace juce diff --git a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp b/modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp similarity index 100% rename from modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp rename to modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.cpp diff --git a/modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h b/modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h similarity index 100% rename from modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h rename to modules/juce_audio_basics/utilities/juce_CatmullRomInterpolator.h diff --git a/modules/juce_audio_basics/effects/juce_Decibels.h b/modules/juce_audio_basics/utilities/juce_Decibels.h similarity index 100% rename from modules/juce_audio_basics/effects/juce_Decibels.h rename to modules/juce_audio_basics/utilities/juce_Decibels.h diff --git a/modules/juce_audio_basics/effects/juce_IIRFilter.cpp b/modules/juce_audio_basics/utilities/juce_IIRFilter.cpp similarity index 100% rename from modules/juce_audio_basics/effects/juce_IIRFilter.cpp rename to modules/juce_audio_basics/utilities/juce_IIRFilter.cpp diff --git a/modules/juce_audio_basics/effects/juce_IIRFilter.h b/modules/juce_audio_basics/utilities/juce_IIRFilter.h similarity index 100% rename from modules/juce_audio_basics/effects/juce_IIRFilter.h rename to modules/juce_audio_basics/utilities/juce_IIRFilter.h diff --git a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp b/modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp similarity index 100% rename from modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp rename to modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.cpp diff --git a/modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h b/modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h similarity index 100% rename from modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h rename to modules/juce_audio_basics/utilities/juce_LagrangeInterpolator.h diff --git a/modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h b/modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h similarity index 96% rename from modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h rename to modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h index e586f92e..3087b079 100644 --- a/modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h +++ b/modules/juce_audio_basics/utilities/juce_LinearSmoothedValue.h @@ -35,9 +35,7 @@ class LinearSmoothedValue { public: /** Constructor. */ - LinearSmoothedValue() noexcept - { - } + LinearSmoothedValue() = default; /** Constructor. */ LinearSmoothedValue (FloatType initialValue) noexcept diff --git a/modules/juce_audio_basics/effects/juce_Reverb.h b/modules/juce_audio_basics/utilities/juce_Reverb.h similarity index 88% rename from modules/juce_audio_basics/effects/juce_Reverb.h rename to modules/juce_audio_basics/utilities/juce_Reverb.h index aabcad87..6244351e 100644 --- a/modules/juce_audio_basics/effects/juce_Reverb.h +++ b/modules/juce_audio_basics/utilities/juce_Reverb.h @@ -49,22 +49,13 @@ public: /** Holds the parameters being used by a Reverb object. */ struct Parameters { - Parameters() noexcept - : roomSize (0.5f), - damping (0.5f), - wetLevel (0.33f), - dryLevel (0.4f), - width (1.0f), - freezeMode (0) - {} - - float roomSize; /**< Room size, 0 to 1.0, where 1.0 is big, 0 is small. */ - float damping; /**< Damping, 0 to 1.0, where 0 is not damped, 1.0 is fully damped. */ - float wetLevel; /**< Wet level, 0 to 1.0 */ - float dryLevel; /**< Dry level, 0 to 1.0 */ - float width; /**< Reverb width, 0 to 1.0, where 1.0 is very wide. */ - float freezeMode; /**< Freeze mode - values < 0.5 are "normal" mode, values > 0.5 - put the reverb into a continuous feedback loop. */ + float roomSize = 0.5f; /**< Room size, 0 to 1.0, where 1.0 is big, 0 is small. */ + float damping = 0.5f; /**< Damping, 0 to 1.0, where 0 is not damped, 1.0 is fully damped. */ + float wetLevel = 0.33f; /**< Wet level, 0 to 1.0 */ + float dryLevel = 0.4f; /**< Dry level, 0 to 1.0 */ + float width = 1.0f; /**< Reverb width, 0 to 1.0, where 1.0 is very wide. */ + float freezeMode = 0.0f; /**< Freeze mode - values < 0.5 are "normal" mode, values > 0.5 + put the reverb into a continuous feedback loop. */ }; //============================================================================== @@ -224,7 +215,7 @@ private: class CombFilter { public: - CombFilter() noexcept : bufferSize (0), bufferIndex (0), last (0) {} + CombFilter() noexcept {} void setSize (const int size) { @@ -259,8 +250,8 @@ private: private: HeapBlock buffer; - int bufferSize, bufferIndex; - float last; + int bufferSize = 0, bufferIndex = 0; + float last = 0.0f; JUCE_DECLARE_NON_COPYABLE (CombFilter) }; @@ -269,7 +260,7 @@ private: class AllPassFilter { public: - AllPassFilter() noexcept : bufferSize (0), bufferIndex (0) {} + AllPassFilter() noexcept {} void setSize (const int size) { @@ -300,7 +291,7 @@ private: private: HeapBlock buffer; - int bufferSize, bufferIndex; + int bufferSize = 0, bufferIndex = 0; JUCE_DECLARE_NON_COPYABLE (AllPassFilter) }; diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp index bbbcbbe6..dd93f276 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp @@ -124,10 +124,36 @@ void AudioDeviceManager::audioDeviceListChanged() { if (currentAudioDevice != nullptr) { - currentSetup.sampleRate = currentAudioDevice->getCurrentSampleRate(); - currentSetup.bufferSize = currentAudioDevice->getCurrentBufferSizeSamples(); - currentSetup.inputChannels = currentAudioDevice->getActiveInputChannels(); - currentSetup.outputChannels = currentAudioDevice->getActiveOutputChannels(); + auto isCurrentDeviceStillAvailable = [&] + { + for (auto* dt : availableDeviceTypes) + if (currentAudioDevice->getTypeName() == dt->getTypeName()) + for (auto& dn : dt->getDeviceNames()) + if (currentAudioDevice->getName() == dn) + return true; + + return false; + }; + + if (! isCurrentDeviceStillAvailable()) + { + closeAudioDevice(); + + std::unique_ptr e (createStateXml()); + + if (e == nullptr) + initialiseDefault (preferredDeviceName, ¤tSetup); + else + initialiseFromXML (*e, true, preferredDeviceName, ¤tSetup); + } + + if (currentAudioDevice != nullptr) + { + currentSetup.sampleRate = currentAudioDevice->getCurrentSampleRate(); + currentSetup.bufferSize = currentAudioDevice->getCurrentBufferSizeSamples(); + currentSetup.inputChannels = currentAudioDevice->getActiveInputChannels(); + currentSetup.outputChannels = currentAudioDevice->getActiveOutputChannels(); + } } sendChangeMessage(); @@ -189,12 +215,13 @@ String AudioDeviceManager::initialise (const int numInputChannelsNeeded, numInputChansNeeded = numInputChannelsNeeded; numOutputChansNeeded = numOutputChannelsNeeded; + preferredDeviceName = preferredDefaultDeviceName; if (xml != nullptr && xml->hasTagName ("DEVICESETUP")) return initialiseFromXML (*xml, selectDefaultDeviceOnFailure, - preferredDefaultDeviceName, preferredSetupOptions); + preferredDeviceName, preferredSetupOptions); - return initialiseDefault (preferredDefaultDeviceName, preferredSetupOptions); + return initialiseDefault (preferredDeviceName, preferredSetupOptions); } String AudioDeviceManager::initialiseDefault (const String& preferredDefaultDeviceName, @@ -425,16 +452,15 @@ String AudioDeviceManager::setAudioDeviceSetup (const AudioDeviceSetup& newSetup stopDevice(); - if (! newSetup.useDefaultInputChannels) numInputChansNeeded = newSetup.inputChannels.countNumberOfSetBits(); - if (! newSetup.useDefaultOutputChannels) numOutputChansNeeded = newSetup.outputChannels.countNumberOfSetBits(); + if (! newSetup.useDefaultInputChannels) + numInputChansNeeded = newSetup.inputChannels.countNumberOfSetBits(); - auto newInputDeviceName (numInputChansNeeded == 0 ? String() : newSetup.inputDeviceName); - auto newOutputDeviceName (numOutputChansNeeded == 0 ? String() : newSetup.outputDeviceName); + if (! newSetup.useDefaultOutputChannels) + numOutputChansNeeded = newSetup.outputChannels.countNumberOfSetBits(); - String error; auto* type = getCurrentDeviceTypeObject(); - if (type == nullptr || (newInputDeviceName.isEmpty() && newOutputDeviceName.isEmpty())) + if (type == nullptr) { deleteCurrentDevice(); @@ -444,20 +470,22 @@ String AudioDeviceManager::setAudioDeviceSetup (const AudioDeviceSetup& newSetup return {}; } - if (currentSetup.inputDeviceName != newInputDeviceName - || currentSetup.outputDeviceName != newOutputDeviceName - || currentAudioDevice == nullptr) + String error; + + if (currentSetup.inputDeviceName != newSetup.inputDeviceName + || currentSetup.outputDeviceName != newSetup.outputDeviceName + || currentAudioDevice == nullptr) { deleteCurrentDevice(); scanDevicesIfNeeded(); - if (newOutputDeviceName.isNotEmpty() && ! deviceListContains (type, false, newOutputDeviceName)) - return "No such device: " + newOutputDeviceName; + if (newSetup.outputDeviceName.isNotEmpty() && ! deviceListContains (type, false, newSetup.outputDeviceName)) + return "No such device: " + newSetup.outputDeviceName; - if (newInputDeviceName.isNotEmpty() && ! deviceListContains (type, true, newInputDeviceName)) - return "No such device: " + newInputDeviceName; + if (newSetup.inputDeviceName.isNotEmpty() && ! deviceListContains (type, true, newSetup.inputDeviceName)) + return "No such device: " + newSetup.inputDeviceName; - currentAudioDevice.reset (type->createDevice (newOutputDeviceName, newInputDeviceName)); + currentAudioDevice.reset (type->createDevice (newSetup.outputDeviceName, newSetup.inputDeviceName)); if (currentAudioDevice == nullptr) error = "Can't open the audio device!\n\n" @@ -484,15 +512,26 @@ String AudioDeviceManager::setAudioDeviceSetup (const AudioDeviceSetup& newSetup outputChannels.setRange (0, numOutputChansNeeded, true); } - if (newInputDeviceName.isEmpty()) inputChannels.clear(); - if (newOutputDeviceName.isEmpty()) outputChannels.clear(); + if (newSetup.inputDeviceName.isEmpty()) inputChannels.clear(); + if (newSetup.outputDeviceName.isEmpty()) outputChannels.clear(); } - if (! newSetup.useDefaultInputChannels) inputChannels = newSetup.inputChannels; - if (! newSetup.useDefaultOutputChannels) outputChannels = newSetup.outputChannels; + if (! newSetup.useDefaultInputChannels) + inputChannels = newSetup.inputChannels; + + if (! newSetup.useDefaultOutputChannels) + outputChannels = newSetup.outputChannels; currentSetup = newSetup; + if (inputChannels.isZero() && outputChannels.isZero()) + { + if (treatAsChosenDevice) + updateXml(); + + return {}; + } + currentSetup.sampleRate = chooseBestSampleRate (newSetup.sampleRate); currentSetup.bufferSize = chooseBestBufferSize (newSetup.bufferSize); diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h index 80e268d8..8914dbcc 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h @@ -76,7 +76,7 @@ public: AudioDeviceManager(); /** Destructor. */ - ~AudioDeviceManager(); + ~AudioDeviceManager() override; //============================================================================== /** @@ -470,7 +470,7 @@ private: std::unique_ptr currentAudioDevice; Array callbacks; int numInputChansNeeded = 0, numOutputChansNeeded = 2; - String currentDeviceType; + String preferredDeviceName, currentDeviceType; BigInteger inputChannels, outputChannels; std::unique_ptr lastExplicitSettings; mutable bool listNeedsScanning = true; diff --git a/modules/juce_audio_devices/audio_io/juce_AudioIODevice.h b/modules/juce_audio_devices/audio_io/juce_AudioIODevice.h index 83679842..d835dd62 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioIODevice.h +++ b/modules/juce_audio_devices/audio_io/juce_AudioIODevice.h @@ -43,7 +43,7 @@ class JUCE_API AudioIODeviceCallback { public: /** Destructor. */ - virtual ~AudioIODeviceCallback() {} + virtual ~AudioIODeviceCallback() = default; /** Processes a block of incoming and outgoing audio data. diff --git a/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h b/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h index f7b3236f..b778e6a2 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h +++ b/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h @@ -126,7 +126,7 @@ public: class Listener { public: - virtual ~Listener() {} + virtual ~Listener() = default; /** Called when the list of available audio devices changes. */ virtual void audioDeviceListChanged() = 0; diff --git a/modules/juce_audio_devices/juce_audio_devices.h b/modules/juce_audio_devices/juce_audio_devices.h index 330efb53..b7b0cba2 100644 --- a/modules/juce_audio_devices/juce_audio_devices.h +++ b/modules/juce_audio_devices/juce_audio_devices.h @@ -31,7 +31,7 @@ ID: juce_audio_devices vendor: juce - version: 5.4.1 + version: 5.4.2 name: JUCE audio and MIDI I/O device classes description: Classes to play and record from audio and MIDI I/O devices website: http://www.juce.com/juce diff --git a/modules/juce_audio_devices/midi_io/juce_MidiInput.h b/modules/juce_audio_devices/midi_io/juce_MidiInput.h index e0260b62..49af5bfc 100644 --- a/modules/juce_audio_devices/midi_io/juce_MidiInput.h +++ b/modules/juce_audio_devices/midi_io/juce_MidiInput.h @@ -41,7 +41,7 @@ class JUCE_API MidiInputCallback { public: /** Destructor. */ - virtual ~MidiInputCallback() {} + virtual ~MidiInputCallback() = default; /** Receives an incoming message. @@ -89,7 +89,7 @@ public: @tags{Audio} */ -class JUCE_API MidiInput +class JUCE_API MidiInput final { public: //============================================================================== diff --git a/modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h b/modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h index 346e1187..6692a1b3 100644 --- a/modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h +++ b/modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h @@ -44,7 +44,7 @@ public: MidiMessageCollector(); /** Destructor. */ - ~MidiMessageCollector(); + ~MidiMessageCollector() override; //============================================================================== /** Clears any messages from the queue. diff --git a/modules/juce_audio_devices/midi_io/juce_MidiOutput.h b/modules/juce_audio_devices/midi_io/juce_MidiOutput.h index 5c8e6214..c41dde70 100644 --- a/modules/juce_audio_devices/midi_io/juce_MidiOutput.h +++ b/modules/juce_audio_devices/midi_io/juce_MidiOutput.h @@ -34,7 +34,7 @@ namespace juce @tags{Audio} */ -class JUCE_API MidiOutput : private Thread +class JUCE_API MidiOutput final : private Thread { public: //============================================================================== @@ -81,7 +81,7 @@ public: //============================================================================== /** Destructor. */ - ~MidiOutput(); + ~MidiOutput() override; /** Returns the name of this device. */ const String& getName() const noexcept { return name; } diff --git a/modules/juce_core/native/java/AndroidMidi.java b/modules/juce_audio_devices/native/java/app/com/roli/juce/JuceMidiSupport.java similarity index 63% rename from modules/juce_core/native/java/AndroidMidi.java rename to modules/juce_audio_devices/native/java/app/com/roli/juce/JuceMidiSupport.java index 9e337be8..cfe99180 100644 --- a/modules/juce_core/native/java/AndroidMidi.java +++ b/modules/juce_audio_devices/native/java/app/com/roli/juce/JuceMidiSupport.java @@ -1,29 +1,85 @@ +package com.roli.juce; + + +import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothGatt; +import android.bluetooth.BluetoothGattCallback; +import android.bluetooth.BluetoothGattCharacteristic; +import android.bluetooth.BluetoothGattDescriptor; +import android.bluetooth.BluetoothProfile; +import android.bluetooth.le.BluetoothLeScanner; +import android.bluetooth.le.ScanFilter; +import android.bluetooth.le.ScanResult; +import android.bluetooth.le.ScanSettings; +import android.content.Context; +import android.media.midi.MidiDevice; +import android.media.midi.MidiDeviceInfo; +import android.media.midi.MidiDeviceStatus; +import android.media.midi.MidiInputPort; +import android.media.midi.MidiManager; +import android.bluetooth.le.ScanCallback; +import android.bluetooth.BluetoothDevice; +import android.media.midi.MidiOutputPort; +import android.media.midi.MidiReceiver; +import android.os.ParcelUuid; +import android.util.Log; +import android.util.Pair; + +import java.io.IOException; +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; + +import static android.content.Context.MIDI_SERVICE; + +public class JuceMidiSupport +{ //============================================================================== - public class BluetoothManager extends ScanCallback + public interface JuceMidiPort { - BluetoothManager() + boolean isInputPort (); + + // start, stop does nothing on an output port + void start (); + + void stop (); + + void close (); + + // send will do nothing on an input port + void sendMidi (byte[] msg, int offset, int count); + } + + //============================================================================== + public static class BluetoothManager extends ScanCallback + { + BluetoothManager (Context contextToUse) { + appContext = contextToUse; } - public String[] getMidiBluetoothAddresses() + public String[] getMidiBluetoothAddresses () { - return bluetoothMidiDevices.toArray (new String[bluetoothMidiDevices.size()]); + return bluetoothMidiDevices.toArray (new String[bluetoothMidiDevices.size ()]); } public String getHumanReadableStringForBluetoothAddress (String address) { - BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice (address); - return btDevice.getName(); + BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter ().getRemoteDevice (address); + return btDevice.getName (); } public int getBluetoothDeviceStatus (String address) { - return getAndroidMidiDeviceManager().getBluetoothDeviceStatus (address); + return getAndroidMidiDeviceManager (appContext).getBluetoothDeviceStatus (address); } public void startStopScan (boolean shouldStart) { - BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter (); if (bluetoothAdapter == null) { @@ -31,7 +87,7 @@ return; } - BluetoothLeScanner bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner(); + BluetoothLeScanner bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner (); if (bluetoothLeScanner == null) { @@ -41,27 +97,26 @@ if (shouldStart) { - ScanFilter.Builder scanFilterBuilder = new ScanFilter.Builder(); + ScanFilter.Builder scanFilterBuilder = new ScanFilter.Builder (); scanFilterBuilder.setServiceUuid (ParcelUuid.fromString (bluetoothLEMidiServiceUUID)); - ScanSettings.Builder scanSettingsBuilder = new ScanSettings.Builder(); + ScanSettings.Builder scanSettingsBuilder = new ScanSettings.Builder (); scanSettingsBuilder.setCallbackType (ScanSettings.CALLBACK_TYPE_ALL_MATCHES) - .setScanMode (ScanSettings.SCAN_MODE_LOW_POWER) - .setScanMode (ScanSettings.MATCH_MODE_STICKY); + .setScanMode (ScanSettings.SCAN_MODE_LOW_POWER) + .setScanMode (ScanSettings.MATCH_MODE_STICKY); - bluetoothLeScanner.startScan (Arrays.asList (scanFilterBuilder.build()), - scanSettingsBuilder.build(), - this); - } - else + bluetoothLeScanner.startScan (Arrays.asList (scanFilterBuilder.build ()), + scanSettingsBuilder.build (), + this); + } else { bluetoothLeScanner.stopScan (this); } } - public boolean pairBluetoothMidiDevice(String address) + public boolean pairBluetoothMidiDevice (String address) { - BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice (address); + BluetoothDevice btDevice = BluetoothAdapter.getDefaultAdapter ().getRemoteDevice (address); if (btDevice == null) { @@ -69,12 +124,12 @@ return false; } - return getAndroidMidiDeviceManager().pairBluetoothDevice (btDevice); + return getAndroidMidiDeviceManager (appContext).pairBluetoothDevice (btDevice); } public void unpairBluetoothMidiDevice (String address) { - getAndroidMidiDeviceManager().unpairBluetoothDevice (address); + getAndroidMidiDeviceManager (appContext).unpairBluetoothDevice (address); } public void onScanFailed (int errorCode) @@ -84,23 +139,23 @@ public void onScanResult (int callbackType, ScanResult result) { if (callbackType == ScanSettings.CALLBACK_TYPE_ALL_MATCHES - || callbackType == ScanSettings.CALLBACK_TYPE_FIRST_MATCH) + || callbackType == ScanSettings.CALLBACK_TYPE_FIRST_MATCH) { - BluetoothDevice device = result.getDevice(); + BluetoothDevice device = result.getDevice (); if (device != null) - bluetoothMidiDevices.add (device.getAddress()); + bluetoothMidiDevices.add (device.getAddress ()); } if (callbackType == ScanSettings.CALLBACK_TYPE_MATCH_LOST) { Log.d ("JUCE", "ScanSettings.CALLBACK_TYPE_MATCH_LOST"); - BluetoothDevice device = result.getDevice(); + BluetoothDevice device = result.getDevice (); if (device != null) { - bluetoothMidiDevices.remove (device.getAddress()); - unpairBluetoothMidiDevice (device.getAddress()); + bluetoothMidiDevices.remove (device.getAddress ()); + unpairBluetoothMidiDevice (device.getAddress ()); } } } @@ -114,7 +169,8 @@ private BluetoothLeScanner scanner; private static final String bluetoothLEMidiServiceUUID = "03B80E5A-EDE8-4B33-A751-6CE34EC4C700"; - private HashSet bluetoothMidiDevices = new HashSet(); + private HashSet bluetoothMidiDevices = new HashSet (); + private Context appContext = null; } public static class JuceMidiInputPort extends MidiReceiver implements JuceMidiPort @@ -131,44 +187,49 @@ } @Override - protected void finalize() throws Throwable + protected void finalize () throws Throwable { - close(); - super.finalize(); + close (); + super.finalize (); } @Override - public boolean isInputPort() + public boolean isInputPort () { return true; } @Override - public void start() + public void start () { - if (owner != null && androidPort != null && ! isConnected) { - androidPort.connect(this); + if (owner != null && androidPort != null && !isConnected) + { + androidPort.connect (this); isConnected = true; } } @Override - public void stop() + public void stop () { - if (owner != null && androidPort != null && isConnected) { - androidPort.disconnect(this); + if (owner != null && androidPort != null && isConnected) + { + androidPort.disconnect (this); isConnected = false; } } @Override - public void close() + public void close () { - if (androidPort != null) { - try { - androidPort.close(); - } catch (IOException exception) { - Log.d("JUCE", "IO Exception while closing port"); + if (androidPort != null) + { + try + { + androidPort.close (); + } catch (IOException exception) + { + Log.d ("JUCE", "IO Exception while closing port"); } } @@ -187,7 +248,7 @@ } @Override - public void onFlush() + public void onFlush () {} @Override @@ -212,25 +273,25 @@ } @Override - protected void finalize() throws Throwable + protected void finalize () throws Throwable { - close(); - super.finalize(); + close (); + super.finalize (); } @Override - public boolean isInputPort() + public boolean isInputPort () { return false; } @Override - public void start() + public void start () { } @Override - public void stop() + public void stop () { } @@ -239,8 +300,9 @@ { if (androidPort != null) { - try { - androidPort.send(msg, offset, count); + try + { + androidPort.send (msg, offset, count); } catch (IOException exception) { Log.d ("JUCE", "send midi had IO exception"); @@ -249,13 +311,16 @@ } @Override - public void close() + public void close () { - if (androidPort != null) { - try { - androidPort.close(); - } catch (IOException exception) { - Log.d("JUCE", "IO Exception while closing port"); + if (androidPort != null) + { + try + { + androidPort.close (); + } catch (IOException exception) + { + Log.d ("JUCE", "IO Exception while closing port"); } } @@ -286,10 +351,10 @@ public boolean isInput; @Override - public int hashCode() + public int hashCode () { Integer i = new Integer ((deviceId * 128) + (portIndex < 128 ? portIndex : 127)); - return i.hashCode() * (isInput ? -1 : 1); + return i.hashCode () * (isInput ? -1 : 1); } @Override @@ -298,7 +363,7 @@ if (obj == null) return false; - if (getClass() != obj.getClass()) + if (getClass () != obj.getClass ()) return false; MidiPortPath other = (MidiPortPath) obj; @@ -307,34 +372,43 @@ } //============================================================================== - public class MidiDeviceManager extends MidiManager.DeviceCallback implements MidiManager.OnDeviceOpenedListener + public static class MidiDeviceManager extends MidiManager.DeviceCallback implements MidiManager.OnDeviceOpenedListener { //============================================================================== private class DummyBluetoothGattCallback extends BluetoothGattCallback { public DummyBluetoothGattCallback (MidiDeviceManager mm) { - super(); + super (); owner = mm; } - public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) + public void onConnectionStateChange (BluetoothGatt gatt, int status, int newState) { if (newState == BluetoothProfile.STATE_CONNECTED) { - gatt.requestConnectionPriority(BluetoothGatt.CONNECTION_PRIORITY_HIGH); - owner.pairBluetoothDeviceStepTwo (gatt.getDevice()); + gatt.requestConnectionPriority (BluetoothGatt.CONNECTION_PRIORITY_HIGH); + owner.pairBluetoothDeviceStepTwo (gatt.getDevice ()); } } - public void onServicesDiscovered(BluetoothGatt gatt, int status) {} - public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {} - public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {} - public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {} - public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {} - public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {} - public void onReliableWriteCompleted(BluetoothGatt gatt, int status) {} - public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {} - public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {} + + public void onServicesDiscovered (BluetoothGatt gatt, int status) {} + + public void onCharacteristicRead (BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {} + + public void onCharacteristicWrite (BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {} + + public void onCharacteristicChanged (BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {} + + public void onDescriptorRead (BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {} + + public void onDescriptorWrite (BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {} + + public void onReliableWriteCompleted (BluetoothGatt gatt, int status) {} + + public void onReadRemoteRssi (BluetoothGatt gatt, int rssi, int status) {} + + public void onMtuChanged (BluetoothGatt gatt, int mtu, int status) {} private MidiDeviceManager owner; } @@ -350,17 +424,17 @@ } @Override - public boolean cancel() + public boolean cancel () { synchronized (MidiDeviceOpenTask.class) { owner = null; - boolean retval = super.cancel(); + boolean retval = super.cancel (); if (btGatt != null) { - btGatt.disconnect(); - btGatt.close(); + btGatt.disconnect (); + btGatt.close (); btGatt = null; } @@ -369,10 +443,10 @@ { try { - midiDevice.close(); + midiDevice.close (); + } catch (IOException e) + { } - catch (IOException e) - {} midiDevice = null; } @@ -381,18 +455,18 @@ } } - public String getBluetoothAddress() + public String getBluetoothAddress () { synchronized (MidiDeviceOpenTask.class) { if (midiDevice != null) { - MidiDeviceInfo info = midiDevice.getInfo(); - if (info.getType() == MidiDeviceInfo.TYPE_BLUETOOTH) + MidiDeviceInfo info = midiDevice.getInfo (); + if (info.getType () == MidiDeviceInfo.TYPE_BLUETOOTH) { - BluetoothDevice btDevice = (BluetoothDevice) info.getProperties().get (info.PROPERTY_BLUETOOTH_DEVICE); + BluetoothDevice btDevice = (BluetoothDevice) info.getProperties ().get (info.PROPERTY_BLUETOOTH_DEVICE); if (btDevice != null) - return btDevice.getAddress(); + return btDevice.getAddress (); } } } @@ -400,15 +474,15 @@ return ""; } - public BluetoothGatt getGatt() { return btGatt; } + public BluetoothGatt getGatt () { return btGatt; } - public int getID() + public int getID () { - return midiDevice.getInfo().getId(); + return midiDevice.getInfo ().getId (); } @Override - public void run() + public void run () { synchronized (MidiDeviceOpenTask.class) { @@ -423,9 +497,10 @@ } //============================================================================== - public MidiDeviceManager() + public MidiDeviceManager (Context contextToUse) { - manager = (MidiManager) getSystemService (MIDI_SERVICE); + appContext = contextToUse; + manager = (MidiManager) appContext.getSystemService (MIDI_SERVICE); if (manager == null) { @@ -434,33 +509,33 @@ } openPorts = new HashMap> (); - midiDevices = new ArrayList>(); - openTasks = new HashMap(); - btDevicesPairing = new HashMap(); + midiDevices = new ArrayList> (); + openTasks = new HashMap (); + btDevicesPairing = new HashMap (); - MidiDeviceInfo[] foundDevices = manager.getDevices(); + MidiDeviceInfo[] foundDevices = manager.getDevices (); for (MidiDeviceInfo info : foundDevices) onDeviceAdded (info); manager.registerDeviceCallback (this, null); } - protected void finalize() throws Throwable + protected void finalize () throws Throwable { manager.unregisterDeviceCallback (this); synchronized (MidiDeviceManager.class) { - btDevicesPairing.clear(); + btDevicesPairing.clear (); - for (Integer deviceID : openTasks.keySet()) - openTasks.get (deviceID).cancel(); + for (Integer deviceID : openTasks.keySet ()) + openTasks.get (deviceID).cancel (); openTasks = null; } - for (MidiPortPath key : openPorts.keySet()) - openPorts.get (key).get().close(); + for (MidiPortPath key : openPorts.keySet ()) + openPorts.get (key).get ().close (); openPorts = null; @@ -468,24 +543,24 @@ { if (device.second != null) { - device.second.disconnect(); - device.second.close(); + device.second.disconnect (); + device.second.close (); } - device.first.close(); + device.first.close (); } - midiDevices.clear(); + midiDevices.clear (); - super.finalize(); + super.finalize (); } - public String[] getJuceAndroidMidiInputDevices() + public String[] getJuceAndroidMidiInputDevices () { return getJuceAndroidMidiDevices (MidiDeviceInfo.PortInfo.TYPE_OUTPUT); } - public String[] getJuceAndroidMidiOutputDevices() + public String[] getJuceAndroidMidiOutputDevices () { return getJuceAndroidMidiDevices (MidiDeviceInfo.PortInfo.TYPE_INPUT); } @@ -495,16 +570,16 @@ // only update the list when JUCE asks for a new list synchronized (MidiDeviceManager.class) { - deviceInfos = getDeviceInfos(); + deviceInfos = getDeviceInfos (); } - ArrayList portNames = new ArrayList(); + ArrayList portNames = new ArrayList (); int index = 0; for (MidiPortPath portInfo = getPortPathForJuceIndex (portType, index); portInfo != null; portInfo = getPortPathForJuceIndex (portType, ++index)) portNames.add (getPortName (portInfo)); - String[] names = new String[portNames.size()]; + String[] names = new String[portNames.size ()]; return portNames.toArray (names); } @@ -521,7 +596,7 @@ if (openPorts.containsKey (portInfo)) return null; - Pair devicePair = getMidiDevicePairForId (portInfo.deviceId); + Pair devicePair = getMidiDevicePairForId (portInfo.deviceId); if (devicePair != null) { @@ -532,22 +607,21 @@ if (isInput) { - MidiOutputPort outputPort = device.openOutputPort(portInfo.portIndex); + MidiOutputPort outputPort = device.openOutputPort (portInfo.portIndex); if (outputPort != null) - juceMidiPort = new JuceMidiInputPort(this, outputPort, portInfo, host); - } - else + juceMidiPort = new JuceMidiInputPort (this, outputPort, portInfo, host); + } else { - MidiInputPort inputPort = device.openInputPort(portInfo.portIndex); + MidiInputPort inputPort = device.openInputPort (portInfo.portIndex); if (inputPort != null) - juceMidiPort = new JuceMidiOutputPort(this, inputPort, portInfo); + juceMidiPort = new JuceMidiOutputPort (this, inputPort, portInfo); } if (juceMidiPort != null) { - openPorts.put(portInfo, new WeakReference(juceMidiPort)); + openPorts.put (portInfo, new WeakReference (juceMidiPort)); return juceMidiPort; } @@ -574,7 +648,7 @@ { synchronized (MidiDeviceManager.class) { - if (! address.isEmpty()) + if (!address.isEmpty ()) { if (findMidiDeviceForBluetoothAddress (address) != null) return 1; @@ -592,8 +666,8 @@ public boolean pairBluetoothDevice (BluetoothDevice btDevice) { - String btAddress = btDevice.getAddress(); - if (btAddress.isEmpty()) + String btAddress = btDevice.getAddress (); + if (btAddress.isEmpty ()) return false; synchronized (MidiDeviceManager.class) @@ -602,14 +676,13 @@ return false; - btDevicesPairing.put (btDevice.getAddress(), null); - BluetoothGatt gatt = btDevice.connectGatt (getApplicationContext(), true, new DummyBluetoothGattCallback (this)); + btDevicesPairing.put (btDevice.getAddress (), null); + BluetoothGatt gatt = btDevice.connectGatt (appContext.getApplicationContext (), true, new DummyBluetoothGattCallback (this)); if (gatt != null) { - btDevicesPairing.put (btDevice.getAddress(), gatt); - } - else + btDevicesPairing.put (btDevice.getAddress (), gatt); + } else { pairBluetoothDeviceStepTwo (btDevice); } @@ -620,12 +693,12 @@ public void pairBluetoothDeviceStepTwo (BluetoothDevice btDevice) { - manager.openBluetoothDevice(btDevice, this, null); + manager.openBluetoothDevice (btDevice, this, null); } public void unpairBluetoothDevice (String address) { - if (address.isEmpty()) + if (address.isEmpty ()) return; synchronized (MidiDeviceManager.class) @@ -635,8 +708,8 @@ BluetoothGatt gatt = btDevicesPairing.get (address); if (gatt != null) { - gatt.disconnect(); - gatt.close(); + gatt.disconnect (); + gatt.close (); } btDevicesPairing.remove (address); @@ -645,8 +718,8 @@ MidiDeviceOpenTask openTask = findOpenTaskForBluetoothAddress (address); if (openTask != null) { - int deviceID = openTask.getID(); - openTask.cancel(); + int deviceID = openTask.getID (); + openTask.cancel (); openTasks.remove (deviceID); } @@ -654,12 +727,12 @@ if (midiDevicePair != null) { MidiDevice midiDevice = midiDevicePair.first; - onDeviceRemoved (midiDevice.getInfo()); + onDeviceRemoved (midiDevice.getInfo ()); - try { - midiDevice.close(); - } - catch (IOException exception) + try + { + midiDevice.close (); + } catch (IOException exception) { Log.d ("JUCE", "IOException while closing midi device"); } @@ -669,13 +742,13 @@ private Pair findMidiDeviceForBluetoothAddress (String address) { - for (Pair midiDevice : midiDevices) + for (Pair midiDevice : midiDevices) { - MidiDeviceInfo info = midiDevice.first.getInfo(); - if (info.getType() == MidiDeviceInfo.TYPE_BLUETOOTH) + MidiDeviceInfo info = midiDevice.first.getInfo (); + if (info.getType () == MidiDeviceInfo.TYPE_BLUETOOTH) { - BluetoothDevice btDevice = (BluetoothDevice) info.getProperties().get (info.PROPERTY_BLUETOOTH_DEVICE); - if (btDevice != null && btDevice.getAddress().equals (address)) + BluetoothDevice btDevice = (BluetoothDevice) info.getProperties ().get (info.PROPERTY_BLUETOOTH_DEVICE); + if (btDevice != null && btDevice.getAddress ().equals (address)) return midiDevice; } } @@ -685,10 +758,10 @@ private MidiDeviceOpenTask findOpenTaskForBluetoothAddress (String address) { - for (Integer deviceID : openTasks.keySet()) + for (Integer deviceID : openTasks.keySet ()) { MidiDeviceOpenTask openTask = openTasks.get (deviceID); - if (openTask.getBluetoothAddress().equals (address)) + if (openTask.getBluetoothAddress ().equals (address)) return openTask; } @@ -721,7 +794,7 @@ public void onDeviceAdded (MidiDeviceInfo info) { // only add standard midi devices - if (info.getType() == info.TYPE_BLUETOOTH) + if (info.getType () == info.TYPE_BLUETOOTH) return; manager.openDevice (info, this, null); @@ -731,7 +804,7 @@ { synchronized (MidiDeviceManager.class) { - Pair devicePair = getMidiDevicePairForId (info.getId()); + Pair devicePair = getMidiDevicePairForId (info.getId ()); if (devicePair != null) { @@ -744,11 +817,11 @@ while (removedPort == true) { removedPort = false; - for (MidiPortPath key : openPorts.keySet()) + for (MidiPortPath key : openPorts.keySet ()) { - if (key.deviceId == info.getId()) + if (key.deviceId == info.getId ()) { - openPorts.get(key).get().close(); + openPorts.get (key).get ().close (); removedPort = true; break; } @@ -757,8 +830,8 @@ if (gatt != null) { - gatt.disconnect(); - gatt.close(); + gatt.disconnect (); + gatt.close (); } midiDevices.remove (devicePair); @@ -775,46 +848,45 @@ { synchronized (MidiDeviceManager.class) { - MidiDeviceInfo info = theDevice.getInfo(); - int deviceID = info.getId(); + MidiDeviceInfo info = theDevice.getInfo (); + int deviceID = info.getId (); BluetoothGatt gatt = null; boolean isBluetooth = false; - if (! openTasks.containsKey (deviceID)) + if (!openTasks.containsKey (deviceID)) { - if (info.getType() == MidiDeviceInfo.TYPE_BLUETOOTH) + if (info.getType () == MidiDeviceInfo.TYPE_BLUETOOTH) { isBluetooth = true; - BluetoothDevice btDevice = (BluetoothDevice) info.getProperties().get (info.PROPERTY_BLUETOOTH_DEVICE); + BluetoothDevice btDevice = (BluetoothDevice) info.getProperties ().get (info.PROPERTY_BLUETOOTH_DEVICE); if (btDevice != null) { - String btAddress = btDevice.getAddress(); + String btAddress = btDevice.getAddress (); if (btDevicesPairing.containsKey (btAddress)) { gatt = btDevicesPairing.get (btAddress); btDevicesPairing.remove (btAddress); - } - else + } else { // unpair was called in the mean time try { - Pair midiDevicePair = findMidiDeviceForBluetoothAddress (btDevice.getAddress()); + Pair midiDevicePair = findMidiDeviceForBluetoothAddress (btDevice.getAddress ()); if (midiDevicePair != null) { gatt = midiDevicePair.second; if (gatt != null) { - gatt.disconnect(); - gatt.close(); + gatt.disconnect (); + gatt.close (); } } - theDevice.close(); + theDevice.close (); + } catch (IOException e) + { } - catch (IOException e) - {} return; } @@ -824,7 +896,7 @@ MidiDeviceOpenTask openTask = new MidiDeviceOpenTask (this, theDevice, gatt); openTasks.put (deviceID, openTask); - new java.util.Timer().schedule (openTask, (isBluetooth ? 2000 : 100)); + new java.util.Timer ().schedule (openTask, (isBluetooth ? 2000 : 100)); } } } @@ -833,49 +905,48 @@ { synchronized (MidiDeviceManager.class) { - int deviceID = theDevice.getInfo().getId(); + int deviceID = theDevice.getInfo ().getId (); if (openTasks.containsKey (deviceID)) { - if (! midiDevices.contains(theDevice)) + if (!midiDevices.contains (theDevice)) { - BluetoothGatt gatt = openTasks.get (deviceID).getGatt(); + BluetoothGatt gatt = openTasks.get (deviceID).getGatt (); openTasks.remove (deviceID); - midiDevices.add (new Pair (theDevice, gatt)); + midiDevices.add (new Pair (theDevice, gatt)); } - } - else + } else { // unpair was called in the mean time - MidiDeviceInfo info = theDevice.getInfo(); - BluetoothDevice btDevice = (BluetoothDevice) info.getProperties().get (info.PROPERTY_BLUETOOTH_DEVICE); + MidiDeviceInfo info = theDevice.getInfo (); + BluetoothDevice btDevice = (BluetoothDevice) info.getProperties ().get (info.PROPERTY_BLUETOOTH_DEVICE); if (btDevice != null) { - String btAddress = btDevice.getAddress(); - Pair midiDevicePair = findMidiDeviceForBluetoothAddress (btDevice.getAddress()); + String btAddress = btDevice.getAddress (); + Pair midiDevicePair = findMidiDeviceForBluetoothAddress (btDevice.getAddress ()); if (midiDevicePair != null) { BluetoothGatt gatt = midiDevicePair.second; if (gatt != null) { - gatt.disconnect(); - gatt.close(); + gatt.disconnect (); + gatt.close (); } } } try { - theDevice.close(); + theDevice.close (); + } catch (IOException e) + { } - catch (IOException e) - {} } } } - public String getPortName(MidiPortPath path) + public String getPortName (MidiPortPath path) { int portTypeToFind = (path.isInput ? MidiDeviceInfo.PortInfo.TYPE_INPUT : MidiDeviceInfo.PortInfo.TYPE_OUTPUT); @@ -884,19 +955,19 @@ for (MidiDeviceInfo info : deviceInfos) { int localIndex = 0; - if (info.getId() == path.deviceId) + if (info.getId () == path.deviceId) { - for (MidiDeviceInfo.PortInfo portInfo : info.getPorts()) + for (MidiDeviceInfo.PortInfo portInfo : info.getPorts ()) { - int portType = portInfo.getType(); + int portType = portInfo.getType (); if (portType == portTypeToFind) { - int portIndex = portInfo.getPortNumber(); + int portIndex = portInfo.getPortNumber (); if (portIndex == path.portIndex) { - String portName = portInfo.getName(); - if (portName.isEmpty()) - portName = (String) info.getProperties().get(info.PROPERTY_NAME); + String portName = portInfo.getName (); + if (portName.isEmpty ()) + portName = (String) info.getProperties ().get (info.PROPERTY_NAME); return portName; } @@ -914,14 +985,14 @@ int portIdx = 0; for (MidiDeviceInfo info : deviceInfos) { - for (MidiDeviceInfo.PortInfo portInfo : info.getPorts()) + for (MidiDeviceInfo.PortInfo portInfo : info.getPorts ()) { - if (portInfo.getType() == portType) + if (portInfo.getType () == portType) { if (portIdx == juceIndex) - return new MidiPortPath (info.getId(), + return new MidiPortPath (info.getId (), (portType == MidiDeviceInfo.PortInfo.TYPE_INPUT), - portInfo.getPortNumber()); + portInfo.getPortNumber ()); portIdx++; } @@ -931,15 +1002,15 @@ return null; } - private MidiDeviceInfo[] getDeviceInfos() + private MidiDeviceInfo[] getDeviceInfos () { synchronized (MidiDeviceManager.class) { - MidiDeviceInfo[] infos = new MidiDeviceInfo[midiDevices.size()]; + MidiDeviceInfo[] infos = new MidiDeviceInfo[midiDevices.size ()]; int idx = 0; - for (Pair midiDevice : midiDevices) - infos[idx++] = midiDevice.first.getInfo(); + for (Pair midiDevice : midiDevices) + infos[idx++] = midiDevice.first.getInfo (); return infos; } @@ -949,8 +1020,8 @@ { synchronized (MidiDeviceManager.class) { - for (Pair midiDevice : midiDevices) - if (midiDevice.first.getInfo().getId() == deviceId) + for (Pair midiDevice : midiDevices) + if (midiDevice.first.getInfo ().getId () == deviceId) return midiDevice; } @@ -963,37 +1034,42 @@ private ArrayList> midiDevices; private MidiDeviceInfo[] deviceInfos; private HashMap> openPorts; + private Context appContext = null; } - public MidiDeviceManager getAndroidMidiDeviceManager() + public static MidiDeviceManager getAndroidMidiDeviceManager (Context context) { - if (getSystemService (MIDI_SERVICE) == null) + if (context.getSystemService (MIDI_SERVICE) == null) return null; - synchronized (JuceAppActivity.class) + synchronized (JuceMidiSupport.class) { if (midiDeviceManager == null) - midiDeviceManager = new MidiDeviceManager(); + midiDeviceManager = new MidiDeviceManager (context); } return midiDeviceManager; } - public BluetoothManager getAndroidBluetoothManager() + public static BluetoothManager getAndroidBluetoothManager (Context context) { - BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); + BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter (); if (adapter == null) return null; - if (adapter.getBluetoothLeScanner() == null) + if (adapter.getBluetoothLeScanner () == null) return null; - synchronized (JuceAppActivity.class) + synchronized (JuceMidiSupport.class) { if (bluetoothManager == null) - bluetoothManager = new BluetoothManager(); + bluetoothManager = new BluetoothManager (context); } return bluetoothManager; } + + private static MidiDeviceManager midiDeviceManager = null; + private static BluetoothManager bluetoothManager = null; +} diff --git a/modules/juce_audio_devices/native/juce_MidiDataConcatenator.h b/modules/juce_audio_devices/native/juce_MidiDataConcatenator.h index 148a7f21..d8a1cbc8 100644 --- a/modules/juce_audio_devices/native/juce_MidiDataConcatenator.h +++ b/modules/juce_audio_devices/native/juce_MidiDataConcatenator.h @@ -172,7 +172,7 @@ private: } static bool isRealtimeMessage (uint8 byte) { return byte >= 0xf8 && byte <= 0xfe; } - static bool isInitialByte (uint8 byte) { return byte >= 0x80; } + static bool isInitialByte (uint8 byte) { return byte >= 0x80 && byte != 0xf7; } uint8 currentMessage[3]; int currentMessageLen = 0; diff --git a/modules/juce_audio_devices/native/juce_android_Audio.cpp b/modules/juce_audio_devices/native/juce_android_Audio.cpp index fe995ae4..3fa73992 100644 --- a/modules/juce_audio_devices/native/juce_android_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_android_Audio.cpp @@ -23,7 +23,7 @@ namespace juce { -#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \ +#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \ STATICMETHOD (getMinBufferSize, "getMinBufferSize", "(III)I") \ STATICMETHOD (getNativeOutputSampleRate, "getNativeOutputSampleRate", "(I)I") \ METHOD (constructor, "", "(IIIIII)V") \ @@ -38,7 +38,7 @@ DECLARE_JNI_CLASS (AudioTrack, "android/media/AudioTrack") #undef JNI_CLASS_MEMBERS //============================================================================== -#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \ +#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \ STATICMETHOD (getMinBufferSize, "getMinBufferSize", "(III)I") \ METHOD (constructor, "", "(IIIII)V") \ METHOD (getState, "getState", "()I") \ @@ -50,13 +50,6 @@ DECLARE_JNI_CLASS (AudioTrack, "android/media/AudioTrack") DECLARE_JNI_CLASS (AudioRecord, "android/media/AudioRecord") #undef JNI_CLASS_MEMBERS -//============================================================================== -#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \ - STATICFIELD (SDK_INT, "SDK_INT", "I") \ - - DECLARE_JNI_CLASS (AndroidBuildVersion, "android/os/Build$VERSION") -#undef JNI_CLASS_MEMBERS - //============================================================================== enum { @@ -198,11 +191,11 @@ public: if (numClientOutputChannels > 0) { numDeviceOutputChannels = 2; - outputDevice = GlobalRef (env->NewObject (AudioTrack, AudioTrack.constructor, - STREAM_MUSIC, sampleRate, CHANNEL_OUT_STEREO, ENCODING_PCM_16BIT, - (jint) (minBufferSizeOut * numDeviceOutputChannels * static_cast (sizeof (int16))), MODE_STREAM)); + outputDevice = GlobalRef (LocalRef(env->NewObject (AudioTrack, AudioTrack.constructor, + STREAM_MUSIC, sampleRate, CHANNEL_OUT_STEREO, ENCODING_PCM_16BIT, + (jint) (minBufferSizeOut * numDeviceOutputChannels * static_cast (sizeof (int16))), MODE_STREAM))); - const bool supportsUnderrunCount = (getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT) >= 24); + const bool supportsUnderrunCount = (getAndroidSDKVersion() >= 24); getUnderrunCount = supportsUnderrunCount ? env->GetMethodID (AudioTrack, "getUnderrunCount", "()I") : 0; int outputDeviceState = env->CallIntMethod (outputDevice, AudioTrack.getState); @@ -232,11 +225,11 @@ public: else { numDeviceInputChannels = jmin (numClientInputChannels, numDeviceInputChannelsAvailable); - inputDevice = GlobalRef (env->NewObject (AudioRecord, AudioRecord.constructor, - 0 /* (default audio source) */, sampleRate, - numDeviceInputChannelsAvailable > 1 ? CHANNEL_IN_STEREO : CHANNEL_IN_MONO, - ENCODING_PCM_16BIT, - (jint) (minBufferSizeIn * numDeviceInputChannels * static_cast (sizeof (int16))))); + inputDevice = GlobalRef (LocalRef(env->NewObject (AudioRecord, AudioRecord.constructor, + 0 /* (default audio source) */, sampleRate, + numDeviceInputChannelsAvailable > 1 ? CHANNEL_IN_STEREO : CHANNEL_IN_MONO, + ENCODING_PCM_16BIT, + (jint) (minBufferSizeIn * numDeviceInputChannels * static_cast (sizeof (int16)))))); int inputDeviceState = env->CallIntMethod (inputDevice, AudioRecord.getState); if (inputDeviceState > 0) diff --git a/modules/juce_audio_devices/native/juce_android_Midi.cpp b/modules/juce_audio_devices/native/juce_android_Midi.cpp index a178abf0..449ff1c3 100644 --- a/modules/juce_audio_devices/native/juce_android_Midi.cpp +++ b/modules/juce_audio_devices/native/juce_android_Midi.cpp @@ -23,24 +23,346 @@ namespace juce { -#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \ +//============================================================================== +// This byte-code is generated from native/java/com/roli/juce/JuceMidiSupport.java with min sdk version 23 +// See juce_core/native/java/README.txt on how to generate this byte-code. +static const uint8 javaMidiByteCode[] = +{31,139,8,8,173,175,226,91,0,3,106,117,99,101,95,97,117,100,105,111,95,100,101,118,105,99,101,115,46,100,101,120,0,149, +124,11,124,220,69,181,255,153,223,99,119,179,217,164,155,77,218,164,105,178,217,164,73,179,133,60,155,182,164,77,26,154, +164,105,155,118,251,160,217,22,105,144,186,77,182,237,150,100,55,236,110,250,0,175,148,135,180,32,42,42,143,42,92,254,40, +175,130,168,232,5,46,34,42,8,87,20,69,184,92,212,122,125,1,194,223,130,200,67,65,68,196,222,239,153,153,125,164,45,84, +203,231,187,103,126,103,206,156,153,57,115,230,204,153,223,46,25,141,238,113,183,117,44,160,7,183,254,71,91,73,96,244, +225,231,218,251,238,107,108,49,191,55,239,138,244,25,191,14,80,247,85,235,137,38,136,104,207,166,249,62,210,255,30,90,71, +116,150,80,252,1,224,25,155,104,19,232,17,7,81,0,244,117,55,209,93,76,11,137,10,64,215,151,128,223,3,121,104,216,209,76, +180,19,24,7,146,192,36,112,61,112,35,112,8,184,27,184,7,120,0,120,8,120,26,40,110,33,90,7,156,11,196,129,36,176,27,56,8, +124,23,248,30,240,3,224,151,192,107,192,123,64,105,43,209,12,160,18,168,1,234,129,83,128,22,160,3,88,4,108,1,46,5,110,7, +158,6,204,54,162,54,96,24,216,7,124,25,248,9,240,6,224,111,39,234,7,206,1,46,4,190,2,60,13,188,3,84,207,35,90,11,236,7, +238,0,126,2,188,1,56,58,136,170,128,5,192,32,240,97,32,9,252,16,120,23,104,153,79,180,21,184,10,248,13,80,191,128,232,76, +224,227,192,109,192,227,192,203,64,209,66,162,38,96,37,176,5,72,2,251,129,235,129,175,1,223,7,94,0,204,211,136,102,2,109, +192,48,144,0,46,1,14,2,119,1,15,3,63,7,142,0,127,3,90,59,137,150,2,67,192,78,224,223,128,135,128,103,128,231,129,130,69, +68,30,192,11,76,7,102,1,179,129,70,160,9,152,7,44,2,122,128,126,96,16,88,7,108,2,62,12,68,128,81,96,7,48,6,76,0,87,3,143, +0,47,1,255,0,74,23,195,55,128,38,96,1,176,24,232,7,206,0,206,1,118,2,73,224,82,224,38,224,30,224,251,192,175,128,87,129, +119,0,179,11,227,3,170,129,122,96,30,176,24,88,5,156,1,124,8,136,0,113,96,15,240,113,224,83,192,13,192,205,192,109,192, +55,128,7,128,71,129,159,0,191,6,94,6,222,1,236,110,216,0,168,2,234,129,86,96,49,176,19,72,3,215,1,247,3,223,5,158,0,126, +1,252,22,120,25,120,13,120,23,40,95,66,52,31,88,13,124,4,56,31,248,12,112,61,240,85,224,155,192,15,129,159,2,191,1,10, +176,95,188,64,121,143,218,59,61,192,89,192,94,224,11,192,189,192,19,192,207,128,183,0,227,116,162,18,224,20,96,62,208,15, +132,129,109,64,2,248,24,176,31,248,12,112,29,240,37,224,86,224,78,224,235,192,127,2,223,1,126,8,252,12,248,29,240,10,240, +22,96,44,133,31,0,51,128,90,160,21,152,15,116,3,43,129,51,128,51,129,17,96,23,112,25,240,57,224,58,224,6,224,139,192,237, +192,87,129,251,129,239,0,143,0,63,2,126,11,252,21,40,238,37,106,0,122,128,245,192,8,144,4,46,6,62,15,220,9,60,12,60,14, +28,6,94,6,172,62,34,31,16,0,130,64,15,48,4,108,1,226,192,167,128,175,1,143,3,255,11,188,8,188,6,252,13,16,253,216,87,64, +25,48,23,24,0,206,1,70,129,113,96,15,112,49,112,37,112,29,240,69,224,110,224,1,224,113,224,73,224,247,192,107,192,187, +128,107,25,246,6,112,42,48,31,232,6,250,128,21,192,102,32,1,236,1,46,6,174,0,174,2,238,2,238,3,30,3,158,1,94,0,222,0,222, +6,254,1,20,32,184,86,0,1,96,14,208,6,116,1,189,192,32,16,6,62,12,164,129,79,3,119,0,119,3,211,16,115,203,128,58,96,54,80, +15,52,0,115,128,70,32,8,204,5,78,1,78,5,154,0,132,89,66,216,36,132,65,66,184,35,132,53,66,8,35,132,41,66,104,34,132,33, +66,136,33,132,13,66,104,32,108,93,194,214,35,108,15,130,123,19,92,150,224,42,132,101,33,152,151,96,18,90,166,207,135,229, +192,10,96,37,48,8,172,2,86,3,33,96,13,176,22,88,199,231,4,112,6,176,1,24,2,194,164,206,149,15,1,155,129,179,129,115,128, +45,64,4,24,1,70,129,40,112,46,112,1,240,49,224,66,96,31,112,17,112,49,112,9,41,155,100,254,121,53,125,22,147,47,209,229, +35,40,87,130,26,250,153,203,166,46,215,232,242,179,90,198,210,252,90,93,126,93,243,93,121,242,56,2,233,239,154,95,168, +249,179,128,34,110,211,164,248,197,121,125,77,203,43,251,242,228,203,180,60,151,43,242,218,86,230,245,85,165,199,198,50, +126,45,83,163,203,204,175,209,114,30,173,167,78,203,84,235,114,89,147,146,229,114,149,110,91,159,215,182,65,183,229,126, +216,135,130,122,12,45,121,227,108,205,27,91,91,222,216,184,220,214,164,242,2,46,119,54,229,248,25,123,182,231,233,105, +207,27,63,151,151,230,149,51,242,157,121,250,217,15,87,234,126,23,107,62,251,194,18,93,30,211,101,214,57,174,203,235,81, +142,235,242,135,80,78,232,242,104,147,202,105,184,156,70,121,183,46,127,20,229,243,116,249,0,202,73,93,190,10,229,73,93, +190,1,229,93,186,124,75,94,249,238,60,157,15,230,149,61,121,229,71,243,202,63,206,235,247,153,60,254,179,121,229,35,121, +253,190,158,199,255,107,94,91,222,208,123,50,125,53,231,228,43,80,222,171,203,129,230,92,219,165,121,122,218,242,244,119, +230,143,225,212,92,185,169,57,215,215,124,148,211,25,61,40,159,175,203,43,155,115,182,90,143,114,74,151,207,110,86,123, +181,71,175,209,71,117,153,215,232,223,116,57,157,87,110,203,43,103,124,160,87,183,229,114,95,158,63,244,231,249,195,50, +205,159,165,203,150,244,243,54,186,143,20,93,42,184,205,52,250,132,108,219,78,159,146,244,52,250,140,164,46,234,17,236, +183,21,116,5,219,10,189,191,36,169,160,87,37,109,160,217,178,126,14,53,11,142,5,101,82,174,86,243,107,53,127,182,126,102, +122,134,224,125,101,209,181,196,212,75,127,145,84,213,215,235,250,6,61,158,6,68,219,107,36,237,163,59,37,45,167,55,37, +157,79,239,232,122,191,80,52,32,212,190,60,68,76,123,232,15,164,158,231,10,142,247,53,116,21,49,109,160,183,137,227,155, +139,190,39,169,73,143,74,106,211,255,18,199,55,39,221,40,105,29,61,168,233,255,176,205,112,82,220,160,233,87,37,181,232, +191,36,93,67,11,161,223,6,223,73,28,251,86,208,42,193,116,1,173,21,156,247,43,190,59,75,221,116,157,164,5,180,28,245,30, +173,167,72,215,23,129,115,157,164,133,180,76,40,58,32,56,46,22,209,119,137,105,45,253,146,56,118,171,241,120,17,61,127, +44,233,52,154,41,152,122,169,90,112,60,87,227,230,184,254,51,77,127,69,42,166,254,72,210,51,232,176,164,37,244,11,205, +231,250,50,173,183,12,167,83,47,244,76,215,227,42,199,105,244,152,164,173,84,46,152,46,162,10,73,187,105,158,164,93,180, +73,112,108,86,237,43,224,225,255,174,41,219,107,166,214,83,137,241,127,139,56,134,250,232,126,226,216,107,208,45,210,15, +151,201,250,26,172,163,162,130,30,150,180,129,126,40,105,152,254,91,210,229,100,74,127,61,133,74,37,61,149,202,36,93,79, +115,36,29,164,213,146,14,208,70,233,151,167,75,125,1,61,46,166,255,33,105,51,253,90,210,16,189,162,249,211,164,252,106, +154,46,233,42,234,23,138,63,168,233,26,233,207,61,82,95,173,214,87,171,245,213,106,61,181,186,93,173,110,87,171,219,213, +105,249,58,45,87,167,229,234,180,92,157,150,155,77,75,165,254,217,200,58,44,249,220,65,182,166,14,73,219,201,41,233,124, +114,105,90,160,249,94,77,75,36,109,35,159,166,51,228,190,234,149,122,235,209,255,231,37,173,163,135,36,117,208,15,72,157, +115,143,75,58,151,186,244,126,114,202,253,165,230,215,0,143,184,71,210,153,116,175,164,106,125,26,224,23,223,151,116,54, +61,33,233,70,250,137,164,97,122,82,211,167,36,45,165,167,181,220,51,146,214,211,79,37,157,69,63,151,180,147,220,178,223, +211,168,80,83,143,80,252,34,73,23,83,177,80,251,191,82,210,25,52,75,210,10,170,146,116,45,213,75,218,66,13,66,197,139, +249,146,14,80,88,198,133,38,57,159,57,200,176,190,166,227,194,111,101,60,152,11,11,40,234,148,116,58,125,91,210,74,250, +14,241,121,126,138,228,183,106,249,86,120,236,135,4,159,219,74,190,77,219,167,13,30,253,8,241,249,172,244,183,195,206,47, +19,231,141,253,82,174,3,30,206,126,63,95,183,155,15,185,253,250,249,122,253,252,255,36,157,67,127,212,207,29,66,229,156, +43,37,29,162,33,193,249,103,35,93,73,156,131,42,61,11,117,251,133,144,191,73,210,26,217,207,66,100,183,127,146,52,64,237, +66,241,89,223,105,186,221,105,186,255,211,116,63,167,233,126,78,211,253,116,98,252,191,33,166,200,136,4,231,23,106,92, +139,53,237,210,122,186,144,205,158,46,56,247,85,207,221,218,191,248,12,2,91,190,247,32,185,255,113,94,115,162,141,36,247, +189,53,42,199,18,142,92,142,196,245,46,156,105,11,215,170,231,128,110,207,252,167,78,85,180,2,116,173,174,175,213,245, +109,121,245,109,160,151,233,250,217,90,175,157,167,127,37,234,191,170,235,235,53,191,59,175,254,67,168,127,81,215,55,104, +253,211,129,195,90,255,14,80,207,58,85,63,71,183,203,31,255,221,168,63,160,235,27,243,198,151,169,127,8,245,55,233,122, +206,175,127,129,196,255,217,144,146,251,131,166,127,11,229,234,10,215,228,202,229,107,84,125,93,30,239,84,93,94,8,186,36, +175,188,114,141,202,211,89,102,8,229,115,116,219,152,166,231,107,250,9,77,111,210,244,94,77,127,156,215,199,111,53,239, +101,169,211,144,229,111,14,168,187,195,132,183,8,207,117,240,153,9,47,251,238,176,215,66,84,31,246,26,52,236,51,112,46, +177,60,235,121,124,64,229,254,97,212,156,231,189,148,248,212,139,7,118,96,141,221,50,223,183,180,220,127,15,168,123,193, +121,178,23,143,136,7,12,236,35,200,122,109,249,204,113,205,68,29,203,254,102,64,157,105,225,128,69,225,90,11,50,95,66, +141,91,204,46,89,6,221,55,99,124,30,248,224,50,41,99,203,83,30,119,121,180,153,1,154,244,222,134,62,61,34,233,189,133, +219,24,157,70,17,120,183,162,204,109,60,228,243,197,219,22,193,131,130,175,23,235,145,17,189,51,160,236,192,119,21,135, +156,25,158,151,171,187,160,175,100,94,153,77,190,218,142,178,18,140,163,4,253,121,176,111,10,41,220,206,227,226,155,145, +199,136,7,110,130,207,250,122,59,202,106,16,191,166,83,165,177,147,206,11,180,131,151,107,225,59,166,197,23,101,173,165, +109,209,141,8,90,44,231,194,125,7,150,171,187,74,190,173,122,161,101,17,250,85,250,191,161,245,251,196,52,17,110,87,150, +23,82,242,124,105,169,224,91,110,104,98,237,109,208,117,38,207,163,220,231,208,250,160,199,77,149,22,244,216,69,82,79,24, +125,199,229,133,209,35,22,137,76,157,71,215,5,255,212,89,176,128,234,12,55,60,129,109,86,105,89,232,175,141,173,108,197, +3,94,196,226,58,179,8,117,62,88,46,30,40,67,6,204,252,233,184,181,122,44,95,3,151,194,52,59,189,20,61,76,67,107,143,189, +198,182,28,231,121,175,83,237,189,165,104,229,177,227,75,11,169,247,227,193,111,199,3,30,220,104,131,223,164,172,127,141, +46,87,247,204,169,254,245,111,240,175,98,228,97,14,57,163,241,229,234,110,57,225,109,65,155,225,217,5,52,92,239,160,225, +6,55,109,158,227,130,229,207,14,56,229,218,218,210,191,4,93,180,92,197,16,159,25,238,117,80,167,112,18,211,184,247,84, +212,133,123,11,192,41,144,52,220,231,70,95,31,133,157,135,251,161,179,223,1,45,69,122,5,124,122,5,130,71,84,28,98,221,66, +52,227,248,18,114,76,215,162,15,142,153,113,126,193,69,9,239,229,218,191,212,46,35,186,113,185,218,135,62,88,69,104,222, +45,203,115,126,88,140,185,241,93,251,206,229,106,223,44,41,244,208,208,69,46,114,238,115,126,78,220,34,238,181,190,191, +203,181,84,203,90,250,182,254,64,94,123,67,239,165,239,47,87,113,46,236,45,80,94,232,197,140,33,177,209,235,148,126,192, +207,241,64,19,246,148,207,123,182,215,57,165,237,147,31,208,182,51,219,182,153,219,82,166,45,143,133,199,112,88,175,219, +132,247,0,71,15,225,161,97,163,144,134,225,41,197,217,117,56,146,183,14,133,122,29,10,97,177,217,114,29,60,122,29,60,88, +135,162,236,58,64,79,127,225,191,176,14,239,101,215,97,229,9,215,193,94,161,215,1,30,228,212,163,47,4,175,148,231,221, +174,71,5,26,95,138,44,43,154,235,183,79,232,126,223,86,239,71,116,191,238,204,90,214,173,200,173,69,134,23,204,227,153, +50,218,17,181,172,80,239,84,134,197,52,216,138,45,54,108,20,203,248,170,222,204,44,206,107,147,89,231,101,39,224,173,95, +145,31,195,44,57,167,179,87,168,56,234,11,116,216,211,176,190,241,64,1,180,134,3,188,219,93,188,239,16,47,46,144,183,140, +156,158,115,79,160,123,247,9,120,151,156,128,247,233,99,230,199,255,174,63,1,239,214,60,158,45,45,71,244,181,21,188,179, +217,14,165,176,195,157,210,14,56,111,204,18,26,182,120,132,150,180,162,73,15,173,80,239,100,170,140,122,170,54,124,98, +184,221,135,85,253,50,106,224,143,237,94,172,215,52,73,227,240,71,161,75,28,37,88,210,139,231,18,72,184,37,141,123,43,52, +191,132,252,6,238,96,194,111,52,138,34,17,124,155,103,51,19,117,53,114,124,166,204,23,28,210,103,231,94,216,220,52,87, +151,13,250,245,10,149,59,86,153,24,139,25,222,0,221,198,108,98,26,247,206,228,88,39,226,222,58,121,10,249,230,119,244, +205,0,183,150,163,180,81,105,125,22,254,220,138,200,201,103,146,137,189,228,202,158,12,126,179,4,168,196,242,5,255,94, +132,82,163,161,206,251,57,104,217,172,125,73,32,223,205,248,239,187,43,84,125,216,235,149,107,109,104,111,19,43,51,231, +178,26,141,140,155,94,245,214,78,157,203,106,15,58,87,242,253,14,115,16,152,131,8,183,249,56,39,167,112,27,230,130,252, +142,159,195,243,160,33,144,70,196,245,11,246,127,191,104,36,213,103,169,236,171,12,251,70,157,193,190,149,234,125,166, +207,154,240,54,192,114,195,225,50,26,222,84,6,139,148,81,165,249,22,180,148,227,230,227,49,106,140,114,26,222,80,14,62, +110,154,56,87,42,13,236,40,115,187,220,201,243,176,214,117,198,66,248,192,65,142,229,27,102,226,105,62,158,62,45,159,42, +166,212,85,78,121,154,46,245,197,189,115,216,242,84,107,250,140,5,243,220,124,15,199,105,155,68,28,59,108,24,88,91,41, +211,54,151,54,88,193,31,187,244,25,115,250,74,149,43,134,71,42,208,254,115,188,51,44,206,31,44,114,155,157,102,155,204, +31,44,57,110,63,133,17,176,106,76,175,180,169,153,91,97,211,183,160,99,232,247,71,245,10,155,149,182,90,225,161,236,10, +255,226,168,94,97,51,30,248,4,206,72,214,252,228,209,18,195,103,4,255,225,200,156,117,43,213,187,234,112,95,37,244,223, +192,243,48,146,222,219,53,189,5,148,91,205,146,227,49,164,230,86,10,247,67,54,112,189,28,75,13,214,48,238,253,136,28,1, +247,50,36,229,95,56,90,34,124,34,248,15,142,51,202,123,46,92,169,222,123,87,217,13,84,109,135,211,60,235,107,120,182,214, +236,190,62,142,243,105,101,7,204,217,33,100,38,229,64,93,167,53,67,246,236,128,246,26,211,79,135,17,239,194,184,194,212, +88,202,26,124,158,175,177,12,33,68,240,247,126,187,196,40,178,252,118,163,197,126,209,34,123,109,37,151,244,19,131,238, +91,169,238,62,170,255,9,111,140,117,90,195,163,51,200,111,215,153,106,181,77,140,35,222,118,30,237,194,220,59,141,82,204, +113,2,123,128,51,139,171,112,235,58,12,7,207,212,6,223,80,61,241,28,76,158,67,47,103,137,215,194,59,61,86,141,133,44,81, +142,129,163,65,67,118,255,240,205,88,237,148,63,106,155,87,25,24,139,17,238,85,51,103,11,242,188,161,79,116,138,10,57, +111,83,90,220,47,111,156,53,66,205,89,230,92,222,26,153,115,117,156,113,228,168,223,224,88,226,163,224,123,42,154,168, +125,210,40,123,10,18,231,130,220,175,99,16,209,141,251,116,163,79,119,167,183,140,124,115,121,54,55,20,121,176,94,107,41, +252,240,76,204,224,11,200,143,185,119,39,44,225,119,151,144,111,102,240,213,13,237,179,104,34,16,199,125,212,227,236,116, +46,162,240,46,140,197,129,168,231,232,128,84,39,124,113,67,123,53,218,206,66,46,204,118,43,64,6,31,32,231,195,214,11,187, +28,242,77,39,191,107,129,246,58,171,3,122,62,137,53,139,183,253,59,181,91,126,119,240,41,140,216,221,40,84,251,74,110, +239,234,116,189,116,180,14,103,220,196,210,21,244,80,103,240,121,191,27,51,123,144,228,157,186,31,51,226,239,56,84,246, +178,66,250,22,123,241,126,204,141,223,253,249,28,225,20,118,90,224,20,248,122,149,133,121,90,225,212,116,216,236,243,124, +2,165,148,127,155,210,202,183,203,12,144,173,109,75,127,45,151,214,182,165,63,183,42,89,248,119,169,244,58,246,239,45, +144,15,190,84,100,250,173,70,211,103,14,163,222,15,221,51,143,213,152,183,131,43,243,118,240,28,146,178,208,56,91,106, +236,64,187,79,201,118,53,102,29,228,214,178,246,223,13,239,154,9,185,19,69,131,186,140,46,229,11,166,160,78,68,3,166,53, +166,37,79,29,51,239,201,33,159,50,17,163,130,117,255,82,233,253,12,202,156,141,112,214,196,247,232,185,176,223,124,82, +119,32,129,155,165,186,11,24,244,237,65,229,159,190,64,149,128,21,225,109,87,242,72,140,69,70,0,43,184,13,235,192,235, +140,27,138,215,207,39,223,188,233,210,115,250,228,205,199,137,88,29,252,139,138,216,19,129,237,90,214,98,238,31,252,194, +39,115,38,142,73,179,208,99,128,248,62,207,125,87,203,236,129,253,246,233,65,149,87,251,106,217,59,125,38,223,99,156,114, +39,26,242,198,198,239,106,130,239,229,242,197,231,7,149,111,248,2,19,129,115,229,141,171,36,91,119,36,83,231,205,213,101, +250,121,53,211,79,201,7,247,227,211,54,249,7,228,183,18,199,179,18,218,232,170,162,78,215,90,220,111,212,110,114,33,159, +9,23,206,160,218,7,125,46,113,249,130,31,174,194,9,80,88,224,51,244,46,117,113,155,13,69,179,168,227,240,34,172,2,191, +233,246,20,213,254,198,231,90,112,164,157,150,91,69,174,184,215,207,246,117,116,236,154,131,250,106,185,234,178,205,180, +106,234,248,115,21,120,85,188,250,54,175,3,252,21,123,164,56,115,174,187,42,11,222,147,81,255,32,234,107,236,118,222,181, +182,175,49,120,207,97,151,75,4,159,58,236,42,16,226,242,224,127,250,221,149,72,84,131,127,46,114,97,191,185,56,227,219, +128,214,31,201,198,166,45,176,133,41,215,37,182,74,125,247,232,43,245,89,62,17,126,12,179,218,35,150,47,184,108,30,45,39, +167,131,71,143,243,164,160,246,11,98,96,193,173,245,180,220,40,176,121,244,56,37,10,59,126,57,147,58,158,155,78,117,246, +156,204,169,239,232,88,82,40,103,132,122,107,98,233,199,40,218,239,28,42,49,69,127,240,47,135,17,179,15,219,182,8,254, +250,176,141,128,191,41,248,164,207,12,254,89,221,221,121,28,95,90,165,214,135,207,58,206,179,124,237,29,94,19,126,27,198, +121,238,19,241,165,65,106,243,5,223,225,247,202,134,204,151,238,130,252,77,28,223,138,176,34,69,105,49,147,119,175,139, +199,225,194,56,124,78,95,1,223,202,194,158,74,220,232,246,115,236,47,102,159,125,133,220,158,69,158,115,100,47,144,243, +248,122,58,94,105,67,212,99,235,186,200,227,169,44,86,103,234,43,210,186,56,83,109,117,131,70,164,176,148,62,229,251,33, +180,237,244,116,83,142,119,61,120,30,103,141,211,202,227,221,8,94,93,97,189,228,184,176,23,92,56,99,38,206,60,135,10,107, +143,27,27,34,228,43,133,117,197,93,56,151,14,97,214,157,5,109,84,234,121,202,121,209,67,182,151,243,67,236,236,165,119, +208,119,188,254,162,226,204,120,60,172,131,119,231,67,228,113,119,186,225,145,119,33,211,122,168,6,214,116,34,110,187, +100,156,112,202,248,224,164,52,206,151,82,242,23,5,159,43,242,248,139,26,61,165,158,81,10,62,93,228,9,190,205,123,99,18, +30,193,223,101,85,235,239,84,84,222,118,80,92,216,124,163,56,40,56,199,51,100,94,221,182,90,125,231,85,229,132,205,157, +124,54,185,113,122,179,205,113,118,27,225,107,213,124,12,94,7,216,232,50,172,67,167,3,209,245,90,196,162,192,103,233,54, +60,47,114,52,208,84,185,235,33,231,113,212,56,56,234,70,228,185,63,181,254,70,212,179,134,58,151,159,38,218,230,209,33, +147,79,231,203,200,239,44,38,61,2,139,87,143,243,136,74,151,90,189,203,100,92,199,234,137,42,105,45,33,243,82,73,29,108, +177,24,86,183,211,134,111,13,169,24,218,105,186,116,84,85,209,148,163,168,155,130,79,22,57,130,79,20,57,252,206,70,135, +58,99,199,97,247,9,29,63,119,203,189,132,8,122,97,115,122,23,114,132,66,25,53,4,237,131,141,62,204,54,194,76,171,165,109, +220,228,182,249,60,61,75,190,163,89,147,141,213,97,129,222,133,69,190,50,223,244,14,36,57,62,43,124,141,58,97,108,121,86, +221,174,169,60,179,176,162,175,30,213,103,150,60,97,54,52,206,34,173,221,213,177,255,213,163,178,45,172,217,32,61,87,157, +56,182,44,171,19,7,209,187,44,248,227,78,225,210,183,22,117,99,9,95,195,107,115,53,106,253,14,228,221,182,223,209,104, +171,185,158,37,227,196,230,236,251,171,71,86,79,189,251,241,61,248,71,171,179,241,118,253,94,154,23,246,200,236,195,144, +117,63,93,173,238,156,252,190,204,103,76,108,216,75,253,94,174,47,144,251,29,247,154,213,234,183,12,136,59,6,175,141,75, +174,17,191,153,230,44,208,164,105,134,58,209,249,61,159,19,22,236,180,113,210,88,193,183,112,95,177,26,141,112,114,58, +233,86,182,207,193,187,103,131,35,156,44,3,111,134,204,100,125,211,235,28,179,225,47,67,180,203,25,95,138,19,49,234,65, +150,131,21,207,107,39,91,9,191,37,230,5,31,231,59,234,126,10,254,77,189,151,116,99,166,252,93,231,169,210,6,21,217,24, +229,8,169,123,126,38,38,53,34,38,169,59,167,178,210,180,144,178,71,216,59,83,238,126,126,127,164,252,194,162,138,144,250, +189,5,207,209,45,119,6,71,55,181,147,194,215,170,168,114,155,228,227,206,114,173,138,40,183,201,181,134,127,26,106,213, +12,185,106,134,174,191,17,245,124,226,222,33,189,25,153,172,119,43,123,138,204,94,236,236,46,163,236,46,98,207,135,44, +172,11,223,235,159,114,195,112,196,3,147,216,21,42,123,240,59,131,247,40,175,47,18,149,14,220,154,92,165,242,214,116,25, +113,188,230,179,100,25,172,178,86,223,181,207,208,241,226,76,157,255,26,52,116,97,243,166,161,236,59,154,177,80,254,59, +154,179,196,44,58,219,168,162,179,204,106,249,246,73,221,48,63,26,82,239,203,125,98,17,98,238,52,228,31,87,200,76,138,41, +124,216,236,152,247,246,81,231,250,26,228,230,27,250,170,105,3,218,118,204,123,245,232,198,190,42,218,104,86,161,124,228, +232,134,190,89,224,227,196,157,247,252,81,95,73,240,183,153,247,112,68,159,12,169,239,10,234,112,55,216,208,59,139,158, +246,237,3,173,166,82,115,31,45,104,47,149,229,187,107,39,2,31,231,24,235,189,140,87,223,216,216,139,243,30,59,197,247, +198,55,106,167,137,82,113,33,5,95,131,214,191,169,219,48,209,23,245,58,251,96,179,26,192,143,185,100,222,5,29,10,169,124, +71,205,183,88,199,82,131,190,18,210,239,161,68,238,13,169,73,37,66,191,19,69,206,244,238,209,42,163,17,247,131,173,194, +79,139,4,178,106,81,131,53,235,64,134,30,3,199,47,249,193,35,153,156,191,68,234,16,250,123,12,33,179,43,83,247,245,88,72, +125,127,82,73,234,62,108,200,222,44,249,93,109,21,242,180,106,177,21,245,139,136,51,247,6,244,49,138,182,60,19,191,228,7, +95,205,220,191,139,116,31,213,217,62,170,228,111,79,229,221,95,219,130,231,250,81,159,250,254,231,82,208,43,179,191,110, +85,255,14,234,231,140,60,255,182,233,22,240,238,58,134,63,168,249,247,31,211,254,209,99,158,159,242,169,62,51,191,41,226, +119,135,207,250,212,111,122,94,247,169,239,73,254,234,83,191,91,56,226,83,191,105,98,189,219,88,184,84,253,94,5,14,77, +222,210,169,122,171,142,121,150,223,149,104,58,67,83,254,237,140,33,105,187,236,127,26,245,200,88,199,117,85,121,115,17, +164,114,25,67,63,153,154,246,80,238,119,81,153,239,118,12,73,219,228,243,28,205,239,207,202,121,116,91,245,11,15,213,215, +233,217,246,66,219,65,97,134,140,89,220,46,99,159,204,239,171,20,207,161,121,14,201,83,101,103,86,87,129,166,94,77,125, +90,198,167,245,10,101,62,202,124,167,101,72,58,139,50,223,177,177,44,127,199,59,71,247,203,223,171,206,209,123,176,1,255, +89,154,122,117,92,88,164,219,44,210,119,19,150,235,214,123,168,71,215,157,174,199,111,101,203,114,214,65,50,131,131,184, +203,204,165,250,182,142,190,206,182,129,5,189,205,3,203,6,58,155,231,247,117,116,52,247,158,182,160,189,121,97,255,64, +199,252,129,254,249,253,167,181,193,180,200,211,186,71,198,98,241,88,186,135,28,221,138,26,61,93,100,245,116,205,221,196, +159,40,123,251,198,38,163,233,68,34,189,99,77,36,30,217,30,77,210,226,99,57,129,104,50,153,72,46,14,140,36,38,199,70,3, +241,68,58,176,61,154,14,100,165,2,161,129,64,106,36,18,143,163,237,233,255,92,219,209,232,182,200,228,88,190,142,200,104, +100,34,13,5,149,203,38,199,199,247,102,249,43,34,233,116,127,100,108,108,107,100,4,23,155,65,50,6,67,100,14,134,66,84,51, +184,46,48,176,103,36,58,145,142,37,226,129,221,59,98,99,209,192,200,88,34,21,139,111,15,76,36,146,105,106,24,92,247,126, +245,227,177,209,24,134,176,43,54,18,37,177,138,172,85,27,251,7,168,100,213,228,72,116,13,106,6,227,19,147,233,245,172, +194,151,97,173,155,76,103,120,158,12,79,62,149,101,158,134,38,39,184,215,150,157,145,93,17,18,33,50,66,131,100,134,6,229, +7,122,192,7,50,10,12,219,12,225,195,10,133,54,135,168,62,20,137,143,38,19,177,209,214,173,153,217,182,102,231,221,171, +204,209,69,179,63,72,106,153,156,67,23,213,126,144,16,155,176,139,230,158,76,36,99,229,46,106,61,169,232,142,72,50,50, +130,225,197,82,233,216,72,23,157,122,178,6,203,162,169,145,100,108,34,157,72,158,120,32,99,209,156,124,40,58,164,124,233, +196,115,135,40,215,231,70,251,62,250,88,104,121,108,12,131,172,239,155,140,141,141,178,190,19,153,105,138,232,7,138,108, +136,166,224,178,39,158,173,22,25,138,166,211,112,176,84,174,203,15,152,66,70,184,139,102,102,133,70,18,241,116,52,158, +110,237,103,186,7,157,213,100,171,198,163,163,177,72,43,187,110,43,59,92,102,233,155,62,88,96,48,190,45,81,207,174,202, +133,252,225,188,175,116,23,53,124,176,208,80,58,146,158,196,168,235,222,79,44,187,129,242,93,233,24,25,29,29,234,149,202, +220,106,158,118,178,6,235,226,170,201,186,137,104,60,58,26,130,7,70,165,175,4,78,210,240,3,230,158,219,221,249,235,127, +140,208,134,232,72,52,182,139,245,148,102,69,18,169,214,190,201,248,232,24,150,161,44,159,185,50,194,76,136,150,231,115, +215,71,146,35,209,177,141,147,177,209,46,242,101,43,38,211,177,177,214,80,98,251,113,188,245,145,88,50,175,175,44,175, +139,54,30,207,236,62,137,155,156,52,62,224,32,104,11,141,36,198,91,147,137,177,88,235,78,68,181,214,99,66,91,253,177,145, +189,139,218,79,210,226,184,136,218,69,243,254,201,38,249,107,210,244,79,182,81,210,161,147,72,231,172,146,245,193,247,61, +113,186,104,217,191,172,45,199,97,23,13,71,82,231,158,220,80,199,105,57,249,164,51,19,94,31,73,239,224,48,241,129,210, +188,89,71,35,99,187,98,231,182,34,180,38,176,129,113,40,182,14,196,245,129,216,63,22,73,97,67,251,79,32,51,200,145,88, +215,215,158,160,126,77,116,124,171,22,136,66,164,250,4,34,67,177,237,113,68,140,36,118,73,229,9,170,195,59,146,137,221, +104,58,61,196,103,103,107,44,209,154,119,112,119,81,137,98,143,69,226,219,91,245,56,74,243,88,131,136,147,210,94,190,60, +230,186,173,59,163,35,233,169,188,161,116,18,51,205,118,35,121,178,235,200,86,222,191,85,121,236,100,116,91,235,153,209, +200,185,27,162,219,162,201,104,28,73,66,245,7,213,242,230,151,213,114,55,246,38,147,145,189,28,150,50,61,77,229,242,121, +117,2,118,247,241,35,237,201,142,63,39,154,154,202,91,25,73,97,51,78,100,12,146,207,59,94,16,199,205,113,130,224,77,29, +253,32,14,193,136,60,166,167,229,113,229,116,188,199,48,186,168,227,24,78,247,73,207,206,158,169,122,101,247,37,121,140, +112,108,156,215,114,250,177,44,181,139,74,142,219,38,212,123,28,235,196,249,102,222,65,16,72,237,197,153,49,30,72,69,147, +50,1,244,29,191,97,201,147,191,187,168,33,255,180,110,233,239,13,133,250,122,251,87,111,9,159,181,126,96,203,154,222,112, +255,202,45,161,117,67,97,18,155,200,216,132,132,111,19,82,84,107,211,224,230,65,114,108,90,133,20,112,21,216,72,252,54, +33,35,180,54,113,74,104,111,146,92,112,228,7,75,135,84,37,202,54,127,174,82,4,105,228,166,205,36,144,57,66,153,129,148, +209,24,238,163,186,225,147,103,49,205,195,255,82,86,80,255,79,136,99,219,13,159,96,139,77,97,102,246,88,97,100,100,36, +154,74,45,31,139,108,79,145,27,153,226,100,100,76,166,203,206,76,150,111,70,70,71,249,105,52,9,57,242,232,222,7,227,163, +209,61,104,173,158,100,11,119,100,98,66,39,67,228,136,164,148,39,110,61,38,75,166,202,44,39,52,32,195,158,90,219,141,27, +7,151,145,111,235,113,153,101,158,134,140,35,149,229,56,217,105,167,242,228,182,232,235,66,193,214,116,175,30,181,107, +107,90,201,65,76,151,82,124,22,195,4,228,216,154,230,115,132,236,173,156,8,146,103,68,31,40,225,189,19,81,114,96,20,200, +4,168,120,100,74,30,77,246,200,88,52,146,100,146,72,69,201,137,92,48,14,27,83,161,46,72,133,46,206,16,35,177,120,74,178, +101,105,117,116,175,20,150,54,242,232,66,56,177,17,58,108,236,130,120,154,196,40,185,71,179,41,56,57,244,92,92,138,194, +70,153,210,40,21,101,74,74,65,225,104,214,1,82,153,186,140,201,220,234,81,230,41,5,163,177,36,134,136,136,13,118,44,149, +25,186,35,122,30,150,62,69,5,114,83,246,39,70,97,192,104,38,182,83,203,182,8,110,101,163,129,116,34,48,146,140,70,210, +209,192,214,201,49,125,29,84,186,3,219,146,137,241,64,198,77,92,219,98,241,200,88,236,252,40,213,162,52,154,91,168,229, +137,100,222,197,73,9,215,176,72,102,67,159,72,192,222,22,75,194,153,60,219,96,162,209,204,130,187,185,67,229,198,100,109, +103,131,23,240,167,50,134,137,72,66,110,124,100,84,84,114,89,57,235,113,151,232,89,185,186,227,195,214,116,174,156,152, +24,139,141,200,51,48,227,224,165,96,31,55,206,138,124,102,126,6,46,181,28,127,109,34,23,216,242,164,164,18,148,150,169, +155,118,102,167,20,72,150,92,254,226,108,81,45,175,59,251,156,34,39,202,210,223,230,162,176,114,114,156,35,56,246,46,142, +74,101,156,19,26,20,162,240,37,73,70,165,6,214,75,85,178,160,147,185,181,145,113,94,45,78,79,212,102,159,137,90,126,58, +206,84,41,242,31,95,37,245,100,234,107,142,175,87,89,99,70,128,117,51,247,216,145,162,106,134,174,90,150,117,97,140,74, +143,154,199,72,213,40,228,114,208,227,134,93,136,234,76,5,21,101,30,38,57,23,162,114,253,200,103,199,148,70,46,93,145,82, +45,146,137,137,104,50,29,195,104,166,225,113,67,116,60,145,142,102,2,10,24,67,242,152,210,145,76,14,76,6,143,162,29,242, +114,161,175,35,228,220,17,73,173,101,223,113,161,176,67,238,48,107,71,2,126,93,192,159,202,111,69,140,204,216,232,30,178, +99,114,24,86,140,151,197,142,201,69,47,136,101,223,118,20,198,82,89,75,241,67,191,218,196,81,88,37,150,26,24,159,72,239, +229,130,92,2,174,206,189,38,113,197,116,214,64,46,78,62,87,202,238,119,102,167,237,217,153,255,198,196,60,23,225,202,129, +15,206,71,220,99,9,68,70,37,230,28,215,155,195,226,211,135,220,227,217,229,161,146,241,227,118,80,241,248,148,213,163, +194,241,60,207,49,198,199,201,28,79,109,199,71,122,146,172,56,47,146,205,159,136,33,241,232,110,222,62,48,83,156,205,102, +38,182,238,36,71,98,219,182,20,134,227,75,196,251,34,233,145,29,185,140,37,69,229,216,158,83,194,52,158,226,219,97,148, +178,99,43,120,135,208,244,99,185,103,38,97,29,169,69,153,19,219,93,246,175,212,144,55,17,207,189,28,145,26,74,242,57,170, +117,81,66,95,122,225,192,232,185,56,49,229,14,204,125,230,63,47,139,142,69,246,130,61,45,195,102,215,218,149,47,167,226, +71,102,34,206,68,124,249,216,100,106,7,121,18,241,53,233,201,12,27,35,227,241,40,191,220,144,74,197,168,130,57,99,49,142, +2,114,92,253,137,241,9,196,107,200,162,165,76,63,100,60,207,60,41,11,194,184,200,157,226,210,94,218,153,83,203,248,132, +192,93,26,178,165,216,4,241,99,194,27,185,153,169,203,69,92,206,249,154,159,31,167,220,41,207,140,165,119,228,246,88,77, +166,62,183,121,167,10,204,204,8,28,95,85,204,85,121,175,250,10,248,89,109,88,87,34,147,26,22,100,74,8,120,24,49,159,131, +137,92,19,59,177,155,67,112,233,4,124,242,216,89,85,158,128,57,148,142,78,132,119,39,168,124,74,93,46,50,145,53,193,25, +168,147,47,113,131,216,194,5,178,160,162,201,132,206,223,84,73,70,162,130,76,41,165,152,50,125,45,202,148,84,52,144,21, +50,148,20,103,74,225,196,114,132,6,50,121,103,207,72,70,183,243,75,149,228,212,55,51,228,72,74,47,34,183,162,42,98,168, +178,202,212,102,38,113,216,71,83,233,156,159,175,79,198,18,240,147,189,220,86,186,130,51,169,55,21,24,233,93,145,49,178, +146,236,87,102,114,50,78,37,169,108,254,170,95,158,81,105,42,47,239,206,48,157,153,55,205,174,212,200,142,232,40,18,6, +114,164,162,72,56,70,201,74,177,159,85,242,167,122,197,187,35,50,26,24,92,23,200,101,28,46,174,99,235,210,52,236,247,254, +252,164,172,16,12,246,218,53,28,66,139,249,65,231,144,147,177,81,84,238,224,235,4,246,13,38,106,165,56,5,177,83,242,161, +64,18,110,72,69,170,152,78,76,200,71,71,74,157,210,86,10,28,244,156,225,23,192,105,50,139,155,222,17,131,49,248,179,190, +13,21,184,234,160,209,248,4,57,211,9,121,223,163,233,147,241,19,185,210,204,99,216,121,14,83,49,25,127,159,21,180,97,241, +73,156,24,146,172,219,70,93,226,102,225,44,54,222,160,174,61,198,167,47,236,106,166,144,184,28,12,90,46,201,126,147,174, +17,22,255,191,111,197,116,171,16,100,89,223,52,22,143,56,139,143,154,116,191,81,180,217,38,186,92,136,175,179,252,39,133, +241,121,113,191,225,44,62,55,100,210,237,194,106,62,104,211,146,61,33,7,181,92,123,62,196,118,75,117,7,164,186,150,61,1, +58,67,252,192,112,54,65,244,83,194,108,49,252,187,141,109,213,33,83,92,37,10,90,174,104,217,108,26,223,54,10,175,219,108, +154,223,49,138,87,111,94,242,200,224,122,219,176,77,186,84,72,37,215,210,189,194,122,87,92,38,190,102,60,143,199,238,102, +252,235,166,223,10,114,86,135,182,172,222,219,220,108,236,170,246,155,244,13,209,66,15,129,89,220,221,77,143,49,165,183, +229,231,27,194,250,187,184,196,184,69,252,15,6,219,124,43,253,93,152,234,25,117,79,176,196,35,155,151,208,207,50,133,3, +134,169,186,82,29,209,125,198,9,186,249,140,161,186,57,200,148,14,25,89,133,107,182,24,23,84,215,40,161,27,101,229,205, +242,243,77,195,160,119,81,223,220,221,76,151,154,198,3,226,122,238,253,98,211,228,210,19,232,139,46,201,43,191,107,160, +252,132,177,15,229,37,171,175,163,143,115,213,109,170,234,178,188,242,229,92,126,79,149,15,112,249,91,134,44,239,231,14, +100,233,162,108,233,179,166,69,119,137,219,197,183,208,239,102,158,215,245,38,198,181,164,27,11,242,128,113,122,104,243, +112,207,218,115,122,154,109,50,246,118,57,136,30,144,149,161,152,41,254,191,40,221,251,136,92,196,230,115,108,178,197, +172,154,69,244,35,174,165,39,229,231,79,165,228,254,61,254,42,250,157,201,158,85,109,220,96,117,25,47,94,208,212,252,104, +200,40,222,13,155,237,217,179,103,111,12,238,35,250,149,190,197,61,182,160,95,216,114,105,133,207,107,25,111,139,154,222, +253,249,93,61,198,61,217,6,189,164,133,102,120,77,58,36,218,32,115,147,209,112,136,43,233,57,39,247,123,192,52,126,47, +250,177,40,47,8,33,156,54,153,2,133,71,44,147,53,10,195,22,14,18,133,54,57,68,141,109,54,75,141,119,88,226,110,182,106, +172,102,216,50,191,98,44,216,140,182,47,162,173,101,26,95,54,26,155,119,25,23,236,134,122,248,94,191,131,28,134,195,196, +136,143,138,1,122,205,41,238,192,64,150,8,223,52,139,88,249,115,1,155,102,213,156,66,15,88,230,139,226,57,241,10,87,118, +155,5,95,55,68,200,52,161,169,117,191,209,208,100,132,171,109,211,46,88,224,48,29,5,59,45,231,87,208,174,101,181,233,184, +93,148,180,192,69,222,16,179,91,118,154,198,205,198,204,102,12,149,70,108,3,91,231,182,118,116,111,218,14,219,105,156, +135,133,64,75,135,195,185,211,116,29,17,211,165,148,48,29,100,120,170,33,4,17,219,85,67,239,194,254,213,195,75,134,197, +140,105,166,128,141,254,203,22,139,187,107,248,201,248,147,104,132,121,109,163,133,141,140,29,90,211,27,218,115,254,229, +54,13,119,211,95,45,54,108,245,146,157,177,133,198,158,234,253,237,157,177,150,26,250,155,45,94,100,239,48,137,77,17,162, +27,45,233,191,242,243,18,199,212,186,59,156,226,16,236,184,215,116,98,202,75,238,149,139,231,55,141,55,133,184,237,54, +211,250,178,225,195,60,239,54,4,166,107,222,105,136,157,171,77,251,46,99,94,76,184,109,187,197,97,55,240,82,96,150,150, +109,219,14,99,164,218,118,46,112,8,88,219,226,201,26,23,116,161,194,97,148,175,98,41,246,54,167,113,183,241,186,112,54, +249,77,113,135,33,16,81,208,215,109,188,94,190,157,205,7,62,201,203,37,4,175,150,177,187,186,214,216,221,180,200,54,12, +239,42,68,160,79,58,48,42,103,241,5,85,244,176,67,60,37,247,146,233,66,91,12,237,144,16,126,211,249,128,176,107,204,130, +151,196,233,207,239,245,63,98,218,28,168,86,155,214,213,98,222,109,194,101,59,155,49,150,234,221,60,200,123,204,66,248, +221,189,162,196,107,23,250,141,209,106,12,212,190,213,114,191,195,235,185,179,165,251,244,165,182,123,161,154,12,175,137, +93,176,136,231,225,112,57,10,28,133,198,100,151,93,200,242,244,174,30,3,92,22,189,63,122,224,40,111,88,251,90,163,230,22, +219,244,35,24,162,103,140,237,17,83,168,97,16,134,177,223,178,101,31,33,135,217,210,221,39,29,195,14,181,74,227,89,116, +141,154,221,146,3,22,105,199,130,215,151,172,49,133,156,149,117,159,113,250,18,63,111,28,118,131,3,162,100,154,191,14, +158,208,221,51,140,230,176,188,191,10,6,122,208,161,98,195,31,45,131,157,24,165,63,89,114,153,233,74,27,195,112,54,169, +97,24,51,118,24,227,213,75,98,70,113,19,166,115,171,240,122,101,39,45,215,183,204,164,67,82,176,56,70,111,217,210,33,54, +211,87,212,158,53,130,59,140,225,234,37,7,100,44,178,209,241,217,182,1,47,128,29,121,114,176,64,55,142,139,213,150,245, +78,110,236,231,247,217,38,124,28,134,132,15,192,243,97,181,26,83,112,36,125,194,48,239,20,95,21,87,168,224,223,66,207,27, +226,98,195,89,221,49,243,190,102,147,190,100,52,210,47,57,200,98,115,154,244,59,209,246,13,155,186,17,195,110,118,97,103, +52,211,28,118,223,207,186,196,151,224,239,8,118,251,133,105,120,154,224,42,231,46,89,189,7,222,117,169,172,41,222,223,96, +156,95,173,56,70,80,252,220,168,104,52,230,26,151,10,171,224,61,81,94,104,156,10,78,149,85,254,225,114,187,124,168,220, +165,30,237,114,81,254,17,48,154,202,11,164,104,125,129,3,178,21,185,102,51,140,38,150,19,21,243,114,188,114,165,188,65, +113,12,112,138,115,197,29,57,185,109,198,41,220,214,168,168,175,152,157,233,110,88,246,94,159,235,159,25,103,148,47,207, +48,156,229,103,130,209,3,180,65,202,157,97,178,212,202,242,141,248,92,150,97,186,48,244,161,114,51,43,171,21,56,202,141, +60,150,28,139,27,99,137,169,177,56,42,26,42,230,84,212,86,4,42,106,42,234,68,185,37,76,81,96,86,26,248,39,140,142,125, +251,172,91,230,204,23,207,204,17,226,239,192,161,70,33,126,5,28,12,10,113,23,112,104,174,16,111,2,247,240,143,174,237, +181,23,185,72,28,3,108,98,151,67,255,230,70,208,146,139,246,89,135,79,53,47,54,168,71,28,104,18,214,43,77,134,184,178,89, +136,155,128,123,128,103,129,55,129,187,91,16,241,29,133,234,215,242,104,243,74,203,74,113,85,171,176,222,108,21,226,234, +54,244,11,188,2,236,107,39,67,184,139,13,113,85,96,8,98,87,183,135,197,61,237,66,252,0,248,21,240,58,112,203,60,33,238,7, +126,12,60,11,188,9,28,232,32,75,216,94,76,80,112,211,115,208,244,134,142,45,226,209,14,33,158,154,47,196,51,11,160,29, +184,122,33,57,157,165,101,74,76,255,55,10,217,103,23,26,198,193,78,97,220,180,200,48,14,44,6,186,76,227,234,238,66,227, +192,146,168,245,66,143,41,238,233,53,196,221,125,134,120,182,15,86,3,61,216,143,33,1,119,15,96,40,203,133,56,2,252,106, +16,163,15,9,113,120,13,250,2,14,172,53,196,161,181,224,175,67,27,224,224,122,88,192,152,37,248,223,199,208,231,85,27,46, +20,247,108,16,226,170,33,254,13,158,223,45,220,23,137,3,251,172,23,134,4,42,247,133,69,193,65,224,210,141,148,251,251,69, +249,191,225,201,252,109,62,254,109,74,230,239,243,241,239,82,50,127,163,143,127,151,18,32,245,119,250,248,183,57,153,191, +213,231,160,220,223,235,51,189,234,183,52,242,119,83,1,245,183,154,234,75,33,19,80,50,252,255,180,11,175,250,253,61,255, +127,232,70,64,245,203,127,223,207,212,242,252,255,75,91,1,245,187,27,254,127,170,237,128,26,31,255,127,240,164,245,200, +31,228,121,21,159,255,174,224,255,1,51,160,178,16,144,80,0,0}; + +#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \ + STATICMETHOD (getAndroidMidiDeviceManager, "getAndroidMidiDeviceManager", "(Landroid/content/Context;)Lcom/roli/juce/JuceMidiSupport$MidiDeviceManager;") \ + STATICMETHOD (getAndroidBluetoothManager, "getAndroidBluetoothManager", "(Landroid/content/Context;)Lcom/roli/juce/JuceMidiSupport$BluetoothManager;") + +DECLARE_JNI_CLASS_WITH_BYTECODE (JuceMidiSupport, "com/roli/juce/JuceMidiSupport", 23, javaMidiByteCode, sizeof (javaMidiByteCode)) +#undef JNI_CLASS_MEMBERS + +#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \ METHOD (getJuceAndroidMidiInputDevices, "getJuceAndroidMidiInputDevices", "()[Ljava/lang/String;") \ METHOD (getJuceAndroidMidiOutputDevices, "getJuceAndroidMidiOutputDevices", "()[Ljava/lang/String;") \ - METHOD (openMidiInputPortWithJuceIndex, "openMidiInputPortWithJuceIndex", "(IJ)L" JUCE_ANDROID_ACTIVITY_CLASSPATH "$JuceMidiPort;") \ - METHOD (openMidiOutputPortWithJuceIndex, "openMidiOutputPortWithJuceIndex", "(I)L" JUCE_ANDROID_ACTIVITY_CLASSPATH "$JuceMidiPort;") \ + METHOD (openMidiInputPortWithJuceIndex, "openMidiInputPortWithJuceIndex", "(IJ)Lcom/roli/juce/JuceMidiSupport$JuceMidiPort;") \ + METHOD (openMidiOutputPortWithJuceIndex, "openMidiOutputPortWithJuceIndex", "(I)Lcom/roli/juce/JuceMidiSupport$JuceMidiPort;") \ METHOD (getInputPortNameForJuceIndex, "getInputPortNameForJuceIndex", "(I)Ljava/lang/String;") \ METHOD (getOutputPortNameForJuceIndex, "getOutputPortNameForJuceIndex", "(I)Ljava/lang/String;") - DECLARE_JNI_CLASS (MidiDeviceManager, JUCE_ANDROID_ACTIVITY_CLASSPATH "$MidiDeviceManager") + +DECLARE_JNI_CLASS_WITH_MIN_SDK (MidiDeviceManager, "com/roli/juce/JuceMidiSupport$MidiDeviceManager", 23) #undef JNI_CLASS_MEMBERS -#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \ +#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \ METHOD (start, "start", "()V" )\ METHOD (stop, "stop", "()V") \ METHOD (close, "close", "()V") \ METHOD (sendMidi, "sendMidi", "([BII)V") - DECLARE_JNI_CLASS (JuceMidiPort, JUCE_ANDROID_ACTIVITY_CLASSPATH "$JuceMidiPort") -#undef JNI_CLASS_MEMBERS +DECLARE_JNI_CLASS_WITH_MIN_SDK (JuceMidiPort, "com/roli/juce/JuceMidiSupport$JuceMidiPort", 23) +#undef JNI_CLASS_MEMBERS //============================================================================== class AndroidMidiInput @@ -51,10 +373,10 @@ public: : juceMidiInput (midiInput), callback (midiInputCallback), midiConcatenator (2048), - javaMidiDevice (getEnv()->CallObjectMethod (deviceManager, - MidiDeviceManager.openMidiInputPortWithJuceIndex, - (jint) portIdx, - (jlong) this)) + javaMidiDevice (LocalRef(getEnv()->CallObjectMethod (deviceManager, + MidiDeviceManager.openMidiInputPortWithJuceIndex, + (jint) portIdx, + (jlong) this))) { } @@ -86,10 +408,12 @@ public: callback = nullptr; } - void receive (jbyteArray byteArray, jlong offset, jint len, jlong timestamp) + void handleMidi (jbyteArray byteArray, jlong offset, jint len, jlong timestamp) { + auto* env = getEnv(); + jassert (byteArray != nullptr); - jbyte* data = getEnv()->GetByteArrayElements (byteArray, nullptr); + jbyte* data = env->GetByteArrayElements (byteArray, nullptr); HeapBlock buffer (static_cast (len)); std::memcpy (buffer.get(), data + offset, static_cast (len)); @@ -98,7 +422,15 @@ public: len, static_cast (timestamp) * 1.0e-9, juceMidiInput, *callback); - getEnv()->ReleaseByteArrayElements (byteArray, data, 0); + env->ReleaseByteArrayElements (byteArray, data, 0); + } + + static void handleReceive (JNIEnv*, jobject, jlong host, jbyteArray byteArray, + jint offset, jint len, jlong timestamp) + { + auto* myself = reinterpret_cast (host); + + myself->handleMidi (byteArray, offset, len, timestamp); } private: @@ -112,7 +444,7 @@ private: class AndroidMidiOutput { public: - AndroidMidiOutput (jobject midiDevice) + AndroidMidiOutput (const LocalRef& midiDevice) : javaMidiDevice (midiDevice) { } @@ -138,24 +470,19 @@ private: GlobalRef javaMidiDevice; }; -JUCE_JNI_CALLBACK (JUCE_JOIN_MACRO (JUCE_ANDROID_ACTIVITY_CLASSNAME, _00024JuceMidiInputPort), handleReceive, - void, (JNIEnv* env, jobject, jlong host, jbyteArray byteArray, - jint offset, jint count, jlong timestamp)) -{ - // Java may create a Midi thread which JUCE doesn't know about and this callback may be - // received on this thread. Java will have already created a JNI Env for this new thread, - // which we need to tell JUCE about - setEnv (env); +//============================================================================== +#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \ + CALLBACK (AndroidMidiInput::handleReceive, "handleReceive", "(J[BIIJ)V" ) - reinterpret_cast (host)->receive (byteArray, offset, count, timestamp); -} +DECLARE_JNI_CLASS_WITH_MIN_SDK (JuceMidiInputPort, "com/roli/juce/JuceMidiSupport$JuceMidiInputPort", 23) +#undef JNI_CLASS_MEMBERS //============================================================================== class AndroidMidiDeviceManager { public: AndroidMidiDeviceManager() - : deviceManager (android.activity.callObjectMethod (JuceAppActivity.getAndroidMidiDeviceManager)) + : deviceManager (LocalRef(getEnv()->CallStaticObjectMethod (JuceMidiSupport, JuceMidiSupport.getAndroidMidiDeviceManager, getAppContext().get()))) { } @@ -187,7 +514,7 @@ public: { jobjectArray jDevices = (jobjectArray) getEnv()->CallObjectMethod (dm, input ? MidiDeviceManager.getJuceAndroidMidiInputDevices - : MidiDeviceManager.getJuceAndroidMidiOutputDevices); + : MidiDeviceManager.getJuceAndroidMidiOutputDevices); // Create a local reference as converting this // to a JUCE string will call into JNI @@ -215,7 +542,7 @@ public: { if (jobject dm = deviceManager.get()) if (jobject javaMidiPort = getEnv()->CallObjectMethod (dm, MidiDeviceManager.openMidiOutputPortWithJuceIndex, (jint) idx)) - return new AndroidMidiOutput (javaMidiPort); + return new AndroidMidiOutput (LocalRef(javaMidiPort)); return nullptr; } @@ -227,18 +554,23 @@ private: //============================================================================== StringArray MidiOutput::getDevices() { - AndroidMidiDeviceManager manager; - return manager.getDevices (false); + if (getAndroidSDKVersion() >= 23) + { + AndroidMidiDeviceManager manager; + return manager.getDevices (false); + } + + return {}; } int MidiOutput::getDefaultDeviceIndex() { - return 0; + return (getAndroidSDKVersion() >= 23 ? 0 : -1); } MidiOutput* MidiOutput::openDevice (int index) { - if (index < 0) + if (index < 0 || getAndroidSDKVersion() < 23) return nullptr; AndroidMidiDeviceManager manager; @@ -295,18 +627,23 @@ MidiInput::MidiInput (const String& nm) : name (nm) StringArray MidiInput::getDevices() { - AndroidMidiDeviceManager manager; - return manager.getDevices (true); + if (getAndroidSDKVersion() >= 23) + { + AndroidMidiDeviceManager manager; + return manager.getDevices (true); + } + + return {}; } int MidiInput::getDefaultDeviceIndex() { - return 0; + return (getAndroidSDKVersion() >= 23 ? 0 : -1); } MidiInput* MidiInput::openDevice (int index, juce::MidiInputCallback* callback) { - if (index < 0) + if (getAndroidSDKVersion() < 23 || index < 0) return nullptr; AndroidMidiDeviceManager manager; diff --git a/modules/juce_audio_devices/native/juce_android_Oboe.cpp b/modules/juce_audio_devices/native/juce_android_Oboe.cpp index 0798687c..5e18780f 100644 --- a/modules/juce_audio_devices/native/juce_android_Oboe.cpp +++ b/modules/juce_audio_devices/native/juce_android_Oboe.cpp @@ -760,8 +760,6 @@ private: oboe::DataCallbackResult onAudioReady (oboe::AudioStream* stream, void* audioData, int32_t numFrames) override { - attachAndroidJNI(); - if (audioCallbackGuard.compareAndSetBool (1, 0)) { if (stream == nullptr) @@ -905,8 +903,6 @@ private: void onErrorBeforeClose (oboe::AudioStream* stream, oboe::Result error) override { - attachAndroidJNI(); - // only output stream should be the master stream receiving callbacks jassert (stream->getDirection() == oboe::Direction::Output); @@ -916,8 +912,6 @@ private: void onErrorAfterClose (oboe::AudioStream* stream, oboe::Result error) override { - attachAndroidJNI(); - // only output stream should be the master stream receiving callbacks jassert (stream->getDirection() == oboe::Direction::Output); @@ -987,23 +981,6 @@ private: bool running = false; //============================================================================== - static String audioManagerGetProperty (const String& property) - { - const LocalRef jProperty (javaString (property)); - const LocalRef text ((jstring) android.activity.callObjectMethod (JuceAppActivity.audioManagerGetProperty, - jProperty.get())); - if (text.get() != 0) - return juceString (text); - - return {}; - } - - static bool androidHasSystemFeature (const String& property) - { - const LocalRef jProperty (javaString (property)); - return android.activity.callBooleanMethod (JuceAppActivity.hasSystemFeature, jProperty.get()); - } - static double getNativeSampleRate() { return audioManagerGetProperty ("android.media.property.OUTPUT_SAMPLE_RATE").getDoubleValue(); @@ -1023,18 +1000,9 @@ private: static int getDefaultFramesPerBurst() { // NB: this function only works for inbuilt speakers and headphones - auto* env = getEnv(); - - auto audioManager = LocalRef (env->CallObjectMethod (android.activity, - JuceAppActivity.getSystemService, - javaString ("audio").get())); - - auto propertyJavaString = javaString ("android.media.property.OUTPUT_FRAMES_PER_BUFFER"); + auto framesPerBurstString = javaString (audioManagerGetProperty ("android.media.property.OUTPUT_FRAMES_PER_BUFFER")); - auto framesPerBurstString = LocalRef ((jstring) android.activity.callObjectMethod (JuceAppActivity.audioManagerGetProperty, - propertyJavaString.get())); - - return framesPerBurstString != 0 ? env->CallStaticIntMethod (JavaInteger, JavaInteger.parseInt, framesPerBurstString.get(), 10) : 192; + return framesPerBurstString != 0 ? getEnv()->CallStaticIntMethod (JavaInteger, JavaInteger.parseInt, framesPerBurstString.get(), 10) : 192; } JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OboeAudioIODevice) @@ -1051,7 +1019,7 @@ OboeAudioIODevice::OboeSessionBase* OboeAudioIODevice::OboeSessionBase::create ( { std::unique_ptr session; - auto sdkVersion = getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT); + auto sdkVersion = getAndroidSDKVersion(); // SDK versions 21 and higher should natively support floating point... if (sdkVersion >= 21) @@ -1119,7 +1087,7 @@ public: forInput ? oboe::Direction::Input : oboe::Direction::Output, oboe::SharingMode::Shared, forInput ? 1 : 2, - getSDKVersion() >= 21 ? oboe::AudioFormat::Float : oboe::AudioFormat::I16, + getAndroidSDKVersion() >= 21 ? oboe::AudioFormat::Float : oboe::AudioFormat::I16, (int) OboeAudioIODevice::getNativeSampleRate(), OboeAudioIODevice::getNativeBufferSize(), nullptr); @@ -1210,8 +1178,8 @@ public: if (audioManagerClass == 0) return; - auto audioManager = LocalRef (env->CallObjectMethod (android.activity, - JuceAppActivity.getSystemService, + auto audioManager = LocalRef (env->CallObjectMethod (getAppContext().get(), + AndroidContext.getSystemService, javaString ("audio").get())); static jmethodID getDevicesMethod = env->GetMethodID (audioManagerClass, "getDevices", @@ -1253,16 +1221,10 @@ public: bool supportsDevicesInfo() const { - static auto result = getSDKVersion() >= 23; + static auto result = getAndroidSDKVersion() >= 23; return result; } - int getSDKVersion() const - { - static auto sdkVersion = getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT); - return sdkVersion; - } - void addDevice (const LocalRef& device, JNIEnv* env) { auto deviceClass = LocalRef ((jclass) env->FindClass ("android/media/AudioDeviceInfo")); diff --git a/modules/juce_audio_devices/native/juce_android_OpenSL.cpp b/modules/juce_audio_devices/native/juce_android_OpenSL.cpp index d24b5b02..dd3eb514 100644 --- a/modules/juce_audio_devices/native/juce_android_OpenSL.cpp +++ b/modules/juce_audio_devices/native/juce_android_OpenSL.cpp @@ -23,6 +23,10 @@ namespace juce { +#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \ +DECLARE_JNI_CLASS (AndroidAudioManager, "android/media/AudioManager") +#undef JNI_CLASS_MEMBERS + //============================================================================== #ifndef SL_ANDROID_DATAFORMAT_PCM_EX #define SL_ANDROID_DATAFORMAT_PCM_EX ((SLuint32) 0x00000004) @@ -84,12 +88,12 @@ public: //============================================================================== SlObjectRef() noexcept {} SlObjectRef (const SlObjectRef& obj) noexcept : cb (obj.cb) {} - SlObjectRef (SlObjectRef&& obj) noexcept : cb (static_cast&&> (obj.cb)) { obj.cb = nullptr; } + SlObjectRef (SlObjectRef&& obj) noexcept : cb (std::move (obj.cb)) { obj.cb = nullptr; } explicit SlObjectRef (SLObjectItf o) : cb (new ControlBlock (o)) {} //============================================================================== SlObjectRef& operator= (const SlObjectRef& r) noexcept { cb = r.cb; return *this; } - SlObjectRef& operator= (SlObjectRef&& r) noexcept { cb = static_cast&&> (r.cb); r.cb = nullptr; return *this; } + SlObjectRef& operator= (SlObjectRef&& r) noexcept { cb = std::move (r.cb); r.cb = nullptr; return *this; } SlObjectRef& operator= (std::nullptr_t) noexcept { cb = nullptr; return *this; } //============================================================================== @@ -121,11 +125,11 @@ public: //============================================================================== SlRef() noexcept {} SlRef (const SlRef& r) noexcept : SlObjectRef (r), type (r.type) {} - SlRef (SlRef&& r) noexcept : SlObjectRef (static_cast (r)), type (r.type) { r.type = nullptr; } + SlRef (SlRef&& r) noexcept : SlObjectRef (std::move (r)), type (r.type) { r.type = nullptr; } //============================================================================== SlRef& operator= (const SlRef& r) noexcept { SlObjectRef::operator= (r); type = r.type; return *this; } - SlRef& operator= (SlRef&& r) noexcept { SlObjectRef::operator= (static_cast (r)); type = r.type; r.type = nullptr; return *this; } + SlRef& operator= (SlRef&& r) noexcept { SlObjectRef::operator= (std::move (r)); type = r.type; r.type = nullptr; return *this; } SlRef& operator= (std::nullptr_t) noexcept { SlObjectRef::operator= (nullptr); type = nullptr; return *this; } //============================================================================== @@ -135,7 +139,7 @@ public: //============================================================================== static SlRef cast (SlObjectRef& base) { return SlRef (base); } - static SlRef cast (SlObjectRef&& base) { return SlRef (static_cast (base)); } + static SlRef cast (SlObjectRef&& base) { return SlRef (std::move (base)); } private: SlRef (SlObjectRef& base) : SlObjectRef (base) @@ -151,7 +155,7 @@ private: *this = nullptr; } - SlRef (SlObjectRef&& base) : SlObjectRef (static_cast (base)) + SlRef (SlObjectRef&& base) : SlObjectRef (std::move (base)) { if (auto obj = SlObjectRef::operator->()) { @@ -323,7 +327,7 @@ public: if (runner == nullptr) return false; - const bool supportsJavaProxy = (getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT) >= 24); + const bool supportsJavaProxy = (getAndroidSDKVersion() >= 24); if (supportsJavaProxy) { @@ -337,7 +341,7 @@ public: &audioRoutingJni); if (status == SL_RESULT_SUCCESS && audioRoutingJni != 0) - javaProxy = GlobalRef (audioRoutingJni); + javaProxy = GlobalRef (LocalRef(getEnv()->NewLocalRef (audioRoutingJni))); } } @@ -372,8 +376,6 @@ public: void finished (SLAndroidSimpleBufferQueueItf) { - attachAndroidJNI(); - --numBlocksOut; owner.doSomeWorkOnAudioThread(); } @@ -489,8 +491,7 @@ public: { if (Base::config != nullptr) { - const bool supportsUnprocessed = (getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT) >= 25); - + const bool supportsUnprocessed = (getAndroidSDKVersion() >= 25); const SLuint32 recordingPresetValue = (shouldEnable ? SL_ANDROID_RECORDING_PRESET_GENERIC : (supportsUnprocessed ? SL_ANDROID_RECORDING_PRESET_UNPROCESSED @@ -660,7 +661,7 @@ public: return; } - const bool supportsUnderrunCount = (getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT) >= 24); + const bool supportsUnderrunCount = (getAndroidSDKVersion() >= 24); getUnderrunCount = supportsUnderrunCount ? getEnv()->GetMethodID (AudioTrack, "getUnderrunCount", "()I") : 0; } } @@ -1048,9 +1049,7 @@ private: // "For Android 4.2 (API level 17) and earlier, a buffer count of two or more is required // for lower latency. Beginning with Android 4.3 (API level 18), a buffer count of one // is sufficient for lower latency." - - auto sdkVersion = getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT); - return (sdkVersion >= 18 ? 1 : 2); + return (getAndroidSDKVersion() >= 18 ? 1 : 2); } // we will not use the low-latency path so we can use the absolute minimum number of buffers @@ -1079,23 +1078,6 @@ private: } //============================================================================== - static String audioManagerGetProperty (const String& property) - { - const LocalRef jProperty (javaString (property)); - const LocalRef text ((jstring) android.activity.callObjectMethod (JuceAppActivity.audioManagerGetProperty, - jProperty.get())); - if (text.get() != 0) - return juceString (text); - - return {}; - } - - static bool androidHasSystemFeature (const String& property) - { - const LocalRef jProperty (javaString (property)); - return android.activity.callBooleanMethod (JuceAppActivity.hasSystemFeature, jProperty.get()); - } - static double getNativeSampleRate() { return audioManagerGetProperty ("android.media.property.OUTPUT_SAMPLE_RATE").getDoubleValue(); @@ -1147,7 +1129,7 @@ OpenSLAudioIODevice::OpenSLSession* OpenSLAudioIODevice::OpenSLSession::create ( int numBuffersToUse) { std::unique_ptr retval; - auto sdkVersion = getEnv()->GetStaticIntField (AndroidBuildVersion, AndroidBuildVersion.SDK_INT); + auto sdkVersion = getAndroidSDKVersion(); // SDK versions 21 and higher should natively support floating point... if (sdkVersion >= 21) diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index 58bcb9a5..24fe3820 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -235,6 +235,7 @@ private: SharedResourcePointer sessionHolder; + JUCE_DECLARE_WEAK_REFERENCEABLE (iOSAudioIODeviceType) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (iOSAudioIODeviceType) }; @@ -242,7 +243,7 @@ private: struct iOSAudioIODevice::Pimpl : public AudioPlayHead, public AsyncUpdater { - Pimpl (iOSAudioIODeviceType& ioDeviceType, iOSAudioIODevice& ioDevice) + Pimpl (iOSAudioIODeviceType* ioDeviceType, iOSAudioIODevice& ioDevice) : deviceType (ioDeviceType), owner (ioDevice) { @@ -277,7 +278,9 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, #endif if (category == AVAudioSessionCategoryPlayAndRecord) - options |= (AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionAllowBluetooth); + options |= (AVAudioSessionCategoryOptionDefaultToSpeaker + | AVAudioSessionCategoryOptionAllowBluetooth + | AVAudioSessionCategoryOptionAllowBluetoothA2DP); JUCE_NSERROR_CHECK ([[AVAudioSession sharedInstance] setCategory: category withOptions: options @@ -404,9 +407,9 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, JUCE_IOS_AUDIO_LOG ("Sample rate after detecting available sample rates: " << sampleRate); } - void updateHardwareInfo() + void updateHardwareInfo (bool forceUpdate = false) { - if (! hardwareInfoNeedsUpdating.compareAndSetBool (false, true)) + if (! forceUpdate && ! hardwareInfoNeedsUpdating.compareAndSetBool (false, true)) return; JUCE_IOS_AUDIO_LOG ("Updating hardware info"); @@ -414,7 +417,8 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, updateAvailableSampleRates(); updateAvailableBufferSizes(); - deviceType.callDeviceChangeListeners(); + if (deviceType != nullptr) + deviceType->callDeviceChangeListeners(); } void setTargetSampleRateAndBufferSize() @@ -451,13 +455,11 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, << ", targetBufferSize: " << targetBufferSize); setAudioSessionActive (true); - + setAudioSessionCategory (requestedInputChannels > 0 ? AVAudioSessionCategoryPlayAndRecord + : AVAudioSessionCategoryPlayback); channelData.reconfigure (requestedInputChannels, requestedOutputChannels); - - setAudioSessionCategory (channelData.areInputChannelsAvailable() ? AVAudioSessionCategoryPlayAndRecord : AVAudioSessionCategoryPlayback); - + updateHardwareInfo (true); setTargetSampleRateAndBufferSize(); - fixAudioRouteIfSetToReceiver(); isRunning = true; @@ -486,11 +488,11 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, { isRunning = false; - if (audioUnit != 0) + if (audioUnit != nullptr) { AudioOutputUnitStart (audioUnit); AudioComponentInstanceDispose (audioUnit); - audioUnit = 0; + audioUnit = nullptr; } setAudioSessionActive (false); @@ -819,6 +821,9 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, { AudioOutputUnitStop (audioUnit); setAudioSessionActive (false); + + if (callback != nullptr) + callback->audioDeviceStopped(); } } } @@ -836,9 +841,10 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, if (useInput) err = AudioUnitRender (audioUnit, flags, time, 1, numFrames, data); - const int numChannels = jmax (channelData.inputs->numHardwareChannels, - channelData.outputs->numHardwareChannels); - const UInt32 totalDataSize = sizeof (short) * (uint32) numChannels * numFrames; + const auto numChannels = (uint32) jmax (channelData.inputs ->numHardwareChannels, + channelData.outputs->numHardwareChannels); + const auto channelDataSize = sizeof (float) * numFrames; + const auto totalDataSize = channelDataSize * numChannels; const ScopedTryLock stl (callbackLock); @@ -847,44 +853,36 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, if ((int) numFrames > channelData.getFloatBufferSize()) channelData.setFloatBufferSize ((int) numFrames); - float** inputData = channelData.audioData.getArrayOfWritePointers(); - float** outputData = inputData + channelData.inputs->numActiveChannels; + float** const inputData = channelData.audioData.getArrayOfWritePointers(); + float** const outputData = inputData + channelData.inputs->numActiveChannels; if (useInput) { - const auto* inputShortData = (short*) data->mBuffers[0].mData; + const auto* const readData = (float*) data->mBuffers[0].mData; - for (UInt32 i = 0; i < numFrames; ++i) + for (int c = 0; c < channelData.inputs->numActiveChannels; ++c) { - for (int channel = 0; channel < channelData.inputs->numActiveChannels; ++channel) - inputData[channel][i] = *(inputShortData + channelData.inputs->activeChannelIndicies[channel]) * (1.0f / 32768.0f); - - inputShortData += numChannels; + auto* start = readData + ((uint32) channelData.inputs->activeChannelIndicies[c] * numFrames); + memcpy (inputData[c], start, channelDataSize); } } else { - for (int i = 0; i < channelData.inputs->numActiveChannels; ++i) - zeromem (inputData, sizeof (float) * numFrames); + for (int c = 0; c < channelData.inputs->numActiveChannels; ++c) + zeromem (inputData[c], channelDataSize); } callback->audioDeviceIOCallback ((const float**) inputData, channelData.inputs ->numActiveChannels, outputData, channelData.outputs->numActiveChannels, (int) numFrames); - auto* outputShortData = (short*) data->mBuffers[0].mData; - - zeromem (outputShortData, totalDataSize); + auto* const writeData = (float*) data->mBuffers[0].mData; + zeromem (writeData, totalDataSize); - if (channelData.outputs->numActiveChannels > 0) + for (int c = 0; c < channelData.outputs->numActiveChannels; ++c) { - for (UInt32 i = 0; i < numFrames; ++i) - { - for (int channel = 0; channel < channelData.outputs->numActiveChannels; ++channel) - *(outputShortData + channelData.outputs->activeChannelIndicies[channel]) = (short) (outputData[channel][i] * 32767.0f); - - outputShortData += numChannels; - } + auto* start = writeData + ((uint32) channelData.outputs->activeChannelIndicies[c] * numFrames); + memcpy (start, outputData[c], channelDataSize); } } else @@ -927,10 +925,10 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, { JUCE_IOS_AUDIO_LOG ("Creating the audio unit"); - if (audioUnit != 0) + if (audioUnit != nullptr) { AudioComponentInstanceDispose (audioUnit); - audioUnit = 0; + audioUnit = nullptr; } AudioComponentDescription desc; @@ -940,10 +938,10 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, desc.componentFlags = 0; desc.componentFlagsMask = 0; - AudioComponent comp = AudioComponentFindNext (0, &desc); + AudioComponent comp = AudioComponentFindNext (nullptr, &desc); AudioComponentInstanceNew (comp, &audioUnit); - if (audioUnit == 0) + if (audioUnit == nullptr) return false; #if JucePlugin_Enable_IAA @@ -1001,11 +999,11 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, zerostruct (format); format.mSampleRate = sampleRate; format.mFormatID = kAudioFormatLinearPCM; - format.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked | kAudioFormatFlagsNativeEndian; - format.mBitsPerChannel = 8 * sizeof (short); + format.mFormatFlags = kAudioFormatFlagIsFloat | kAudioFormatFlagIsNonInterleaved | kAudioFormatFlagsNativeEndian | kLinearPCMFormatFlagIsPacked; + format.mBitsPerChannel = 8 * sizeof (float); format.mFramesPerPacket = 1; - format.mChannelsPerFrame = (UInt32) jmax (channelData.inputs->numHardwareChannels, channelData.outputs->numHardwareChannels); - format.mBytesPerFrame = format.mBytesPerPacket = format.mChannelsPerFrame * sizeof (short); + format.mChannelsPerFrame = 1; + format.mBytesPerFrame = format.mBytesPerPacket = sizeof (float); AudioUnitSetProperty (audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &format, sizeof (format)); AudioUnitSetProperty (audioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &format, sizeof (format)); @@ -1082,10 +1080,10 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, if (isRunning) { - if (audioUnit != 0) + if (audioUnit != nullptr) { AudioComponentInstanceDispose (audioUnit); - audioUnit = 0; + audioUnit = nullptr; if (callback != nullptr) callback->audioDeviceStopped(); @@ -1095,7 +1093,7 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, createAudioUnit(); - if (audioUnit != 0) + if (audioUnit != nullptr) { isRunning = true; @@ -1307,7 +1305,7 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, MidiMessageCollector* messageCollector = nullptr; - iOSAudioIODeviceType& deviceType; + WeakReference deviceType; iOSAudioIODevice& owner; CriticalSection callbackLock; @@ -1327,7 +1325,7 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, }; //============================================================================== -iOSAudioIODevice::iOSAudioIODevice (iOSAudioIODeviceType& ioDeviceType, const String&, const String&) +iOSAudioIODevice::iOSAudioIODevice (iOSAudioIODeviceType* ioDeviceType, const String&, const String&) : AudioIODevice (iOSAudioDeviceName, iOSAudioDeviceName), pimpl (new Pimpl (ioDeviceType, *this)) { @@ -1401,7 +1399,7 @@ bool iOSAudioIODeviceType::hasSeparateInputsAndOutputs() const { retu AudioIODevice* iOSAudioIODeviceType::createDevice (const String& outputDeviceName, const String& inputDeviceName) { - return new iOSAudioIODevice (*this, outputDeviceName, inputDeviceName); + return new iOSAudioIODevice (this, outputDeviceName, inputDeviceName); } void iOSAudioIODeviceType::handleRouteChange (AVAudioSessionRouteChangeReason) diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.h b/modules/juce_audio_devices/native/juce_ios_Audio.h index e3f86943..97ad3487 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.h +++ b/modules/juce_audio_devices/native/juce_ios_Audio.h @@ -77,7 +77,7 @@ public: private: //============================================================================== - iOSAudioIODevice (iOSAudioIODeviceType&, const String&, const String&); + iOSAudioIODevice (iOSAudioIODeviceType*, const String&, const String&); //============================================================================== friend class iOSAudioIODeviceType; diff --git a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp index fdf234e8..4a2634f6 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp @@ -181,7 +181,7 @@ public: AudioObjectAddPropertyListener (deviceID, &pa, deviceListenerProc, this); } - ~CoreAudioInternal() + ~CoreAudioInternal() override { AudioObjectPropertyAddress pa; pa.mSelector = kAudioObjectPropertySelectorWildcard; @@ -820,8 +820,8 @@ public: const int oldBufferSize = bufferSize; if (! updateDetailsFromDevice()) - owner.stop(); - else if (oldBufferSize != bufferSize || oldSampleRate != sampleRate) + owner.stopInternal(); + else if ((oldBufferSize != bufferSize || oldSampleRate != sampleRate) && owner.shouldRestartDevice()) owner.restart(); } @@ -887,7 +887,9 @@ private: case kAudioDevicePropertyDeviceHasChanged: case kAudioObjectPropertyOwnedObjects: intern->owner.restart(); - intern->owner.deviceType.triggerAsyncAudioDeviceListChange(); + + if (intern->owner.deviceType != nullptr) + intern->owner.deviceType->triggerAsyncAudioDeviceListChange(); break; case kAudioDevicePropertyBufferSizeRange: @@ -946,16 +948,14 @@ class CoreAudioIODevice : public AudioIODevice, private Timer { public: - CoreAudioIODevice (CoreAudioIODeviceType& dt, + CoreAudioIODevice (CoreAudioIODeviceType* dt, const String& deviceName, AudioDeviceID inputDeviceId, const int inputIndex_, AudioDeviceID outputDeviceId, const int outputIndex_) : AudioIODevice (deviceName, "CoreAudio"), deviceType (dt), inputIndex (inputIndex_), - outputIndex (outputIndex_), - isOpen_ (false), - isStarted (false) + outputIndex (outputIndex_) { CoreAudioInternal* device = nullptr; @@ -980,7 +980,7 @@ public: AudioObjectAddPropertyListener (kAudioObjectSystemObject, &pa, hardwareListenerProc, internal.get()); } - ~CoreAudioIODevice() + ~CoreAudioIODevice() override { close(); @@ -1082,6 +1082,8 @@ public: void stop() override { + restartDevice = false; + if (isStarted) { AudioIODeviceCallback* const lastCallback = internal->callback; @@ -1094,6 +1096,12 @@ public: } } + void stopInternal() + { + stop(); + restartDevice = true; + } + bool isPlaying() override { if (internal->callback == nullptr) @@ -1109,7 +1117,8 @@ public: void audioDeviceListChanged() { - deviceType.audioDeviceListChanged(); + if (deviceType != nullptr) + deviceType->audioDeviceListChanged(); } void restart() @@ -1128,7 +1137,7 @@ public: if (internal->callback != nullptr) previousCallback = internal->callback; - stop(); + stopInternal(); } } @@ -1146,12 +1155,14 @@ public: deviceWrapperRestartCallback = cb; } - CoreAudioIODeviceType& deviceType; + bool shouldRestartDevice() const noexcept { return restartDevice; } + + WeakReference deviceType; int inputIndex, outputIndex; private: std::unique_ptr internal; - bool isOpen_, isStarted; + bool isOpen_ = false, isStarted = false, restartDevice = true; String lastError; AudioIODeviceCallback* previousCallback = nullptr; std::function deviceWrapperRestartCallback = nullptr; @@ -1164,7 +1175,7 @@ private: { stopTimer(); - stop(); + stopInternal(); internal->updateDetailsFromDevice(); @@ -1199,14 +1210,14 @@ class AudioIODeviceCombiner : public AudioIODevice, private Timer { public: - AudioIODeviceCombiner (const String& deviceName, CoreAudioIODeviceType& deviceType) + AudioIODeviceCombiner (const String& deviceName, CoreAudioIODeviceType* deviceType) : AudioIODevice (deviceName, "CoreAudio"), Thread (deviceName), owner (deviceType) { } - ~AudioIODeviceCombiner() + ~AudioIODeviceCombiner() override { close(); devices.clear(); @@ -1553,7 +1564,7 @@ public: } private: - CoreAudioIODeviceType& owner; + WeakReference owner; CriticalSection callbackLock; AudioIODeviceCallback* callback = nullptr; AudioIODeviceCallback* previousCallback = nullptr; @@ -1646,7 +1657,7 @@ private: } for (auto* d : devices) - d->device->stop(); + d->device->stopInternal(); if (lastCallback != nullptr) { @@ -1775,8 +1786,8 @@ private: } } - if (anySampleRateChanges) - owner.audioDeviceListChanged(); + if (anySampleRateChanges && owner != nullptr) + owner->audioDeviceListChanged(); if (callback != nullptr) callback->audioDeviceAboutToStart (device); @@ -1795,7 +1806,7 @@ private: d->setDeviceWrapperRestartCallback ([this] { owner.restartAsync(); }); } - ~DeviceWrapper() + ~DeviceWrapper() override { close(); } @@ -2007,7 +2018,7 @@ public: AudioObjectAddPropertyListener (kAudioObjectSystemObject, &pa, hardwareListenerProc, this); } - ~CoreAudioIODeviceType() + ~CoreAudioIODeviceType() override { AudioObjectPropertyAddress pa; pa.mSelector = kAudioHardwarePropertyDevices; @@ -2160,20 +2171,20 @@ public: : outputDeviceName; if (inputDeviceID == outputDeviceID) - return new CoreAudioIODevice (*this, combinedName, inputDeviceID, inputIndex, outputDeviceID, outputIndex); + return new CoreAudioIODevice (this, combinedName, inputDeviceID, inputIndex, outputDeviceID, outputIndex); std::unique_ptr in, out; if (inputDeviceID != 0) - in.reset (new CoreAudioIODevice (*this, inputDeviceName, inputDeviceID, inputIndex, 0, -1)); + in.reset (new CoreAudioIODevice (this, inputDeviceName, inputDeviceID, inputIndex, 0, -1)); if (outputDeviceID != 0) - out.reset (new CoreAudioIODevice (*this, outputDeviceName, 0, -1, outputDeviceID, outputIndex)); + out.reset (new CoreAudioIODevice (this, outputDeviceName, 0, -1, outputDeviceID, outputIndex)); if (in == nullptr) return out.release(); if (out == nullptr) return in.release(); - std::unique_ptr combo (new AudioIODeviceCombiner (combinedName, *this)); + std::unique_ptr combo (new AudioIODeviceCombiner (combinedName, this)); combo->addDevice (in.release(), true, false); combo->addDevice (out.release(), false, true); return combo.release(); @@ -2235,6 +2246,7 @@ private: audioDeviceListChanged(); } + JUCE_DECLARE_WEAK_REFERENCEABLE (CoreAudioIODeviceType) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CoreAudioIODeviceType) }; diff --git a/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp b/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp index ec48fdf7..c5beef2c 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp @@ -218,35 +218,6 @@ namespace CoreMidiHelpers } } - static StringArray findDevices (bool forInput) - { - // It seems that OSX can be a bit picky about the thread that's first used to - // search for devices. It's safest to use the message thread for calling this. - JUCE_ASSERT_MESSAGE_THREAD - - StringArray s; - enableSimulatorMidiSession(); - - auto num = forInput ? MIDIGetNumberOfSources() - : MIDIGetNumberOfDestinations(); - - for (ItemCount i = 0; i < num; ++i) - { - String name; - - if (auto dest = forInput ? MIDIGetSource (i) - : MIDIGetDestination (i)) - name = getConnectedEndpointName (dest); - - if (name.isEmpty()) - name = ""; - - s.add (name); - } - - return s; - } - static void globalSystemChangeCallback (const MIDINotification*, void*) { // TODO.. Should pass-on this notification.. @@ -280,6 +251,40 @@ namespace CoreMidiHelpers return globalMidiClient; } + static StringArray findDevices (bool forInput) + { + // It seems that OSX can be a bit picky about the thread that's first used to + // search for devices. It's safest to use the message thread for calling this. + JUCE_ASSERT_MESSAGE_THREAD + + if (getGlobalMidiClient() == 0) + { + jassertfalse; + return {}; + } + + StringArray s; + enableSimulatorMidiSession(); + + auto num = forInput ? MIDIGetNumberOfSources() + : MIDIGetNumberOfDestinations(); + + for (ItemCount i = 0; i < num; ++i) + { + String name; + + if (auto dest = forInput ? MIDIGetSource (i) : MIDIGetDestination (i)) + name = getConnectedEndpointName (dest); + + if (name.isEmpty()) + name = ""; + + s.add (name); + } + + return s; + } + //============================================================================== class MidiPortAndEndpoint { @@ -375,22 +380,24 @@ MidiOutput* MidiOutput::openDevice (int index) { MidiOutput* mo = nullptr; - if (isPositiveAndBelow (index, MIDIGetNumberOfDestinations())) + if (auto client = CoreMidiHelpers::getGlobalMidiClient()) { - auto endPoint = MIDIGetDestination ((ItemCount) index); - - CoreMidiHelpers::ScopedCFString pname; - - if (CHECK_ERROR (MIDIObjectGetStringProperty (endPoint, kMIDIPropertyName, &pname.cfString))) + if (isPositiveAndBelow (index, MIDIGetNumberOfDestinations())) { - auto client = CoreMidiHelpers::getGlobalMidiClient(); - MIDIPortRef port; - auto deviceName = CoreMidiHelpers::getConnectedEndpointName (endPoint); + auto endPoint = MIDIGetDestination ((ItemCount) index); - if (client != 0 && CHECK_ERROR (MIDIOutputPortCreate (client, pname.cfString, &port))) + CoreMidiHelpers::ScopedCFString pname; + + if (CHECK_ERROR (MIDIObjectGetStringProperty (endPoint, kMIDIPropertyName, &pname.cfString))) { - mo = new MidiOutput (deviceName); - mo->internal = new CoreMidiHelpers::MidiPortAndEndpoint (port, endPoint); + MIDIPortRef port; + auto deviceName = CoreMidiHelpers::getConnectedEndpointName (endPoint); + + if (CHECK_ERROR (MIDIOutputPortCreate (client, pname.cfString, &port))) + { + mo = new MidiOutput (deviceName); + mo->internal = new CoreMidiHelpers::MidiPortAndEndpoint (port, endPoint); + } } } } @@ -400,19 +407,21 @@ MidiOutput* MidiOutput::openDevice (int index) MidiOutput* MidiOutput::createNewDevice (const String& deviceName) { - MIDIClientRef client = CoreMidiHelpers::getGlobalMidiClient(); - MIDIEndpointRef endPoint; + if (auto client = CoreMidiHelpers::getGlobalMidiClient()) + { + MIDIEndpointRef endPoint; - CoreMidiHelpers::ScopedCFString name; - name.cfString = deviceName.toCFString(); + CoreMidiHelpers::ScopedCFString name; + name.cfString = deviceName.toCFString(); - if (client != 0 && CHECK_ERROR (MIDISourceCreate (client, name.cfString, &endPoint))) - { - CoreMidiHelpers::setUniqueIdForMidiPort (endPoint, deviceName, false); + if (CHECK_ERROR (MIDISourceCreate (client, name.cfString, &endPoint))) + { + CoreMidiHelpers::setUniqueIdForMidiPort (endPoint, deviceName, false); - auto mo = new MidiOutput (deviceName); - mo->internal = new CoreMidiHelpers::MidiPortAndEndpoint (0, endPoint); - return mo; + auto mo = new MidiOutput (deviceName); + mo->internal = new CoreMidiHelpers::MidiPortAndEndpoint (0, endPoint); + return mo; + } } return nullptr; @@ -495,15 +504,15 @@ MidiInput* MidiInput::openDevice (int index, MidiInputCallback* callback) using namespace CoreMidiHelpers; MidiInput* newInput = nullptr; - if (isPositiveAndBelow (index, MIDIGetNumberOfSources())) + if (auto client = getGlobalMidiClient()) { - if (auto endPoint = MIDIGetSource ((ItemCount) index)) + if (isPositiveAndBelow (index, MIDIGetNumberOfSources())) { - ScopedCFString name; - - if (CHECK_ERROR (MIDIObjectGetStringProperty (endPoint, kMIDIPropertyName, &name.cfString))) + if (auto endPoint = MIDIGetSource ((ItemCount) index)) { - if (auto client = getGlobalMidiClient()) + ScopedCFString name; + + if (CHECK_ERROR (MIDIObjectGetStringProperty (endPoint, kMIDIPropertyName, &name.cfString))) { MIDIPortRef port; std::unique_ptr mpc (new MidiPortAndCallback (*callback)); diff --git a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp index b08d741f..1443100a 100644 --- a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp +++ b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp @@ -770,7 +770,7 @@ private: if (CharPointer_UTF8::isValidString (text, length)) return String::fromUTF8 (text, length); - WCHAR wideVersion[64] = {}; + WCHAR wideVersion[512] = {}; MultiByteToWideChar (CP_ACP, 0, text, length, wideVersion, numElementsInArray (wideVersion)); return wideVersion; } @@ -1113,9 +1113,11 @@ private: String getLastDriverError() const { jassert (asioObject != nullptr); + char buffer[512] = {}; asioObject->getErrorMessage (buffer); - return String (buffer, sizeof (buffer) - 1); + + return convertASIOString (buffer, sizeof (buffer)); } String initDriver() @@ -1425,7 +1427,12 @@ public: TCHAR name[256] = {}; while (RegEnumKey (hk, index++, name, numElementsInArray (name)) == ERROR_SUCCESS) + { + if (isBlacklistedDriver (name)) + continue; + addDriverInfo (name, hk); + } RegCloseKey (hk); } @@ -1557,6 +1564,11 @@ private: } //============================================================================== + static bool isBlacklistedDriver (const String& driverName) + { + return driverName == "ASIO DirectX Full Duplex Driver" || driverName == "ASIO Multimedia Driver"; + } + void addDriverInfo (const String& keyName, HKEY hk) { HKEY subKey; diff --git a/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp b/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp index c68b13a2..def3648a 100644 --- a/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp +++ b/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp @@ -352,8 +352,8 @@ void copyWavFormat (WAVEFORMATEXTENSIBLE& dest, const WAVEFORMATEX* src) noexcep class WASAPIDeviceBase { public: - WASAPIDeviceBase (const ComSmartPtr& d, bool exclusiveMode) - : device (d), useExclusiveMode (exclusiveMode) + WASAPIDeviceBase (const ComSmartPtr& d, bool exclusiveMode, std::function&& cb) + : device (d), useExclusiveMode (exclusiveMode), reopenCallback (cb) { clientEvent = CreateEvent (nullptr, false, false, nullptr); @@ -484,6 +484,7 @@ public: UINT32 actualBufferSize = 0; int bytesPerSample = 0, bytesPerFrame = 0; bool sampleRateHasChanged = false, shouldClose = false; + std::function reopenCallback; virtual void updateFormat (bool isFloat) = 0; @@ -501,6 +502,9 @@ private: JUCE_COMRESULT OnStateChanged(AudioSessionState state) { + if (state == AudioSessionStateActive) + owner.reopenCallback(); + if (state == AudioSessionStateInactive || state == AudioSessionStateExpired) owner.deviceBecameInactive(); @@ -509,7 +513,6 @@ private: JUCE_COMRESULT OnSessionDisconnected (AudioSessionDisconnectReason reason) { - Logger::writeToLog("OnSessionDisconnected"); if (reason == DisconnectReasonFormatChanged) owner.deviceSampleRateChanged(); @@ -685,8 +688,8 @@ private: class WASAPIInputDevice : public WASAPIDeviceBase { public: - WASAPIInputDevice (const ComSmartPtr& d, bool exclusiveMode) - : WASAPIDeviceBase (d, exclusiveMode) + WASAPIInputDevice (const ComSmartPtr& d, bool exclusiveMode, std::function&& reopenCallback) + : WASAPIDeviceBase (d, exclusiveMode, std::move (reopenCallback)) { } @@ -846,8 +849,8 @@ private: class WASAPIOutputDevice : public WASAPIDeviceBase { public: - WASAPIOutputDevice (const ComSmartPtr& d, bool exclusiveMode) - : WASAPIDeviceBase (d, exclusiveMode) + WASAPIOutputDevice (const ComSmartPtr& d, bool exclusiveMode, std::function&& reopenCallback) + : WASAPIDeviceBase (d, exclusiveMode, std::move (reopenCallback)) { } @@ -982,6 +985,7 @@ public: ~WASAPIAudioIODevice() { + cancelPendingUpdate(); close(); } @@ -1278,7 +1282,7 @@ public: outs.clear(); } - if (outputDevice != nullptr && !deviceBecameInactive) + if (outputDevice != nullptr && ! deviceBecameInactive) { // Note that this function is handed the input device so it can check for the event and make sure // the input reservoir is filled up correctly even when bufferSize > device actualBufferSize @@ -1358,34 +1362,46 @@ private: auto flow = getDataFlow (device); + auto deviceReopenCallback = [this] + { + if (deviceBecameInactive) + { + deviceBecameInactive = false; + MessageManager::callAsync ([this] { reopenDevices(); }); + } + }; + if (deviceId == inputDeviceId && flow == eCapture) - inputDevice.reset (new WASAPIInputDevice (device, useExclusiveMode)); + inputDevice.reset (new WASAPIInputDevice (device, useExclusiveMode, deviceReopenCallback)); else if (deviceId == outputDeviceId && flow == eRender) - outputDevice.reset (new WASAPIOutputDevice (device, useExclusiveMode)); + outputDevice.reset (new WASAPIOutputDevice (device, useExclusiveMode, deviceReopenCallback)); } return (outputDeviceId.isEmpty() || (outputDevice != nullptr && outputDevice->isOk())) && (inputDeviceId.isEmpty() || (inputDevice != nullptr && inputDevice->isOk())); } + void reopenDevices() + { + outputDevice = nullptr; + inputDevice = nullptr; + + initialise(); + + open (lastKnownInputChannels, lastKnownOutputChannels, + getChangedSampleRate(), currentBufferSizeSamples); + + start (callback); + } + //============================================================================== void handleAsyncUpdate() override { stop(); - outputDevice = nullptr; - inputDevice = nullptr; - // sample rate change if (! deviceBecameInactive) - { - initialise(); - - open (lastKnownInputChannels, lastKnownOutputChannels, - getChangedSampleRate(), currentBufferSizeSamples); - - start (callback); - } + reopenDevices(); } double getChangedSampleRate() const @@ -1502,7 +1518,7 @@ private: class ChangeNotificationClient : public ComBaseClassHelper { public: - ChangeNotificationClient (WASAPIAudioIODeviceType& d) + ChangeNotificationClient (WASAPIAudioIODeviceType* d) : ComBaseClassHelper (0), device (d) {} HRESULT STDMETHODCALLTYPE OnDeviceAdded (LPCWSTR) { return notify(); } @@ -1512,9 +1528,15 @@ private: HRESULT STDMETHODCALLTYPE OnPropertyValueChanged (LPCWSTR, const PROPERTYKEY) { return notify(); } private: - WASAPIAudioIODeviceType& device; + WeakReference device; + + HRESULT notify() + { + if (device != nullptr) + device->triggerAsyncDeviceChangeCallback(); - HRESULT notify() { device.triggerAsyncDeviceChangeCallback(); return S_OK; } + return S_OK; + } JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ChangeNotificationClient) }; @@ -1555,7 +1577,7 @@ private: if (! check (enumerator.CoCreateInstance (__uuidof (MMDeviceEnumerator)))) return; - notifyClient = new ChangeNotificationClient (*this); + notifyClient = new ChangeNotificationClient (this); enumerator->RegisterEndpointNotificationCallback (notifyClient); } @@ -1644,6 +1666,7 @@ private: } //============================================================================== + JUCE_DECLARE_WEAK_REFERENCEABLE (WASAPIAudioIODeviceType) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (WASAPIAudioIODeviceType) }; diff --git a/modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h b/modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h index 295447f9..3f5a87d3 100644 --- a/modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h +++ b/modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h @@ -45,7 +45,7 @@ public: Make sure this object isn't still being used by an AudioIODevice before deleting it! */ - virtual ~AudioSourcePlayer(); + ~AudioSourcePlayer() override; //============================================================================== /** Changes the current audio source to play from. diff --git a/modules/juce_audio_devices/sources/juce_AudioTransportSource.h b/modules/juce_audio_devices/sources/juce_AudioTransportSource.h index 5ac8dfa4..5e4c2123 100644 --- a/modules/juce_audio_devices/sources/juce_AudioTransportSource.h +++ b/modules/juce_audio_devices/sources/juce_AudioTransportSource.h @@ -49,7 +49,7 @@ public: AudioTransportSource(); /** Destructor. */ - ~AudioTransportSource(); + ~AudioTransportSource() override; //============================================================================== /** Sets the reader that is being used as the input source. diff --git a/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp index 6d43ce3b..b866b8aa 100644 --- a/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp @@ -651,7 +651,7 @@ public: writeHeader(); } - ~AiffAudioFormatWriter() + ~AiffAudioFormatWriter() override { if ((bytesWritten & 1) != 0) output->writeByte (0); diff --git a/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h b/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h index df37df89..28786118 100644 --- a/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h @@ -43,7 +43,7 @@ public: AiffAudioFormat(); /** Destructor. */ - ~AiffAudioFormat(); + ~AiffAudioFormat() override; //============================================================================== /** Metadata property name used when reading a aiff file with a basc chunk. */ diff --git a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp index a0941320..ce4f6375 100644 --- a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp @@ -447,7 +447,7 @@ public: } } - ~CoreAudioReader() + ~CoreAudioReader() override { ExtAudioFileDispose (audioFileRef); AudioFileClose (audioFileID); diff --git a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h index b0a28603..c2ed22a7 100644 --- a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h @@ -48,7 +48,7 @@ public: CoreAudioFormat(); /** Destructor. */ - ~CoreAudioFormat(); + ~CoreAudioFormat() override; //============================================================================== /** Metadata property name used when reading a caf file with a MIDI chunk. */ diff --git a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp index 8697855b..7d503736 100644 --- a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp @@ -204,7 +204,7 @@ public: } } - ~FlacReader() + ~FlacReader() override { FlacNamespace::FLAC__stream_decoder_delete (decoder); } @@ -404,7 +404,7 @@ public: this) == FlacNamespace::FLAC__STREAM_ENCODER_INIT_STATUS_OK; } - ~FlacWriter() + ~FlacWriter() override { if (ok) { diff --git a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h index 4cbca69c..bee5919b 100644 --- a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h @@ -44,7 +44,7 @@ class JUCE_API FlacAudioFormat : public AudioFormat public: //============================================================================== FlacAudioFormat(); - ~FlacAudioFormat(); + ~FlacAudioFormat() override; //============================================================================== Array getPossibleSampleRates() override; diff --git a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp index 44ecd9a4..75bbd3b9 100644 --- a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp @@ -149,7 +149,7 @@ public: } } - ~OggReader() + ~OggReader() override { ov_clear (&ovFile); } @@ -322,7 +322,7 @@ public: } } - ~OggWriter() + ~OggWriter() override { if (ok) { diff --git a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h index ffb4a815..2337f3c9 100644 --- a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h @@ -44,7 +44,7 @@ class JUCE_API OggVorbisAudioFormat : public AudioFormat public: //============================================================================== OggVorbisAudioFormat(); - ~OggVorbisAudioFormat(); + ~OggVorbisAudioFormat() override; //============================================================================== Array getPossibleSampleRates() override; diff --git a/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp index bd44388f..6ca243b4 100644 --- a/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp @@ -1319,7 +1319,7 @@ public: writeHeader(); } - ~WavAudioFormatWriter() + ~WavAudioFormatWriter() override { writeHeader(); } diff --git a/modules/juce_audio_formats/codecs/juce_WavAudioFormat.h b/modules/juce_audio_formats/codecs/juce_WavAudioFormat.h index 2273e8d7..9643cf3f 100644 --- a/modules/juce_audio_formats/codecs/juce_WavAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_WavAudioFormat.h @@ -43,7 +43,7 @@ public: WavAudioFormat(); /** Destructor. */ - ~WavAudioFormat(); + ~WavAudioFormat() override; //============================================================================== // BWAV chunk properties: diff --git a/modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h b/modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h index b548f365..20a831fd 100644 --- a/modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h +++ b/modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h @@ -51,7 +51,7 @@ public: bool deleteReaderWhenThisIsDeleted); /** Destructor. */ - ~AudioFormatReaderSource(); + ~AudioFormatReaderSource() override; //============================================================================== /** Toggles loop-mode. diff --git a/modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp b/modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp index 4234a4fe..b8a726d9 100644 --- a/modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp +++ b/modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp @@ -222,7 +222,7 @@ public: timeSliceThread.addTimeSliceClient (this); } - ~Buffer() + ~Buffer() override { isRunning = false; timeSliceThread.removeTimeSliceClient (this); diff --git a/modules/juce_audio_formats/format/juce_AudioFormatWriter.h b/modules/juce_audio_formats/format/juce_AudioFormatWriter.h index 16f699b2..6c9f18db 100644 --- a/modules/juce_audio_formats/format/juce_AudioFormatWriter.h +++ b/modules/juce_audio_formats/format/juce_AudioFormatWriter.h @@ -216,8 +216,8 @@ public: class JUCE_API IncomingDataReceiver { public: - IncomingDataReceiver() {} - virtual ~IncomingDataReceiver() {} + IncomingDataReceiver() = default; + virtual ~IncomingDataReceiver() = default; virtual void reset (int numChannels, double sampleRate, int64 totalSamplesInSource) = 0; virtual void addBlock (int64 sampleNumberInSource, const AudioBuffer& newData, diff --git a/modules/juce_audio_formats/format/juce_AudioSubsectionReader.h b/modules/juce_audio_formats/format/juce_AudioSubsectionReader.h index 71ade5f6..5e197314 100644 --- a/modules/juce_audio_formats/format/juce_AudioSubsectionReader.h +++ b/modules/juce_audio_formats/format/juce_AudioSubsectionReader.h @@ -63,7 +63,7 @@ public: bool deleteSourceWhenDeleted); /** Destructor. */ - ~AudioSubsectionReader(); + ~AudioSubsectionReader() override; //============================================================================== diff --git a/modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h b/modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h index 964a36b8..96c8bb5c 100644 --- a/modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h +++ b/modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h @@ -54,7 +54,7 @@ public: TimeSliceThread& timeSliceThread, int samplesToBuffer); - ~BufferingAudioReader(); + ~BufferingAudioReader() override; /** Sets a number of milliseconds that the reader can block for in its readSamples() method before giving up and returning silence. diff --git a/modules/juce_audio_formats/juce_audio_formats.h b/modules/juce_audio_formats/juce_audio_formats.h index a4fbca4a..016d1c98 100644 --- a/modules/juce_audio_formats/juce_audio_formats.h +++ b/modules/juce_audio_formats/juce_audio_formats.h @@ -35,7 +35,7 @@ ID: juce_audio_formats vendor: juce - version: 5.4.1 + version: 5.4.2 name: JUCE audio file format codecs description: Classes for reading and writing various audio file formats. website: http://www.juce.com/juce diff --git a/modules/juce_audio_formats/sampler/juce_Sampler.cpp b/modules/juce_audio_formats/sampler/juce_Sampler.cpp index ee5b64b2..905791ae 100644 --- a/modules/juce_audio_formats/sampler/juce_Sampler.cpp +++ b/modules/juce_audio_formats/sampler/juce_Sampler.cpp @@ -48,8 +48,8 @@ SamplerSound::SamplerSound (const String& soundName, source.read (data.get(), 0, length + 4, 0, true, true); - attackSamples = roundToInt (attackTimeSecs * sourceSampleRate); - releaseSamples = roundToInt (releaseTimeSecs * sourceSampleRate); + params.attack = static_cast (attackTimeSecs); + params.release = static_cast (releaseTimeSecs); } } @@ -87,24 +87,10 @@ void SamplerVoice::startNote (int midiNoteNumber, float velocity, SynthesiserSou lgain = velocity; rgain = velocity; - isInAttack = (sound->attackSamples > 0); - isInRelease = false; + adsr.setSampleRate (sound->sourceSampleRate); + adsr.setParameters (sound->params); - if (isInAttack) - { - attackReleaseLevel = 0.0f; - attackDelta = (float) (pitchRatio / sound->attackSamples); - } - else - { - attackReleaseLevel = 1.0f; - attackDelta = 0.0f; - } - - if (sound->releaseSamples > 0) - releaseDelta = (float) (-pitchRatio / sound->releaseSamples); - else - releaseDelta = -1.0f; + adsr.noteOn(); } else { @@ -116,12 +102,12 @@ void SamplerVoice::stopNote (float /*velocity*/, bool allowTailOff) { if (allowTailOff) { - isInAttack = false; - isInRelease = true; + adsr.noteOff(); } else { clearCurrentNote(); + adsr.reset(); } } @@ -151,35 +137,10 @@ void SamplerVoice::renderNextBlock (AudioBuffer& outputBuffer, int startS float r = (inR != nullptr) ? (inR[pos] * invAlpha + inR[pos + 1] * alpha) : l; - l *= lgain; - r *= rgain; - - if (isInAttack) - { - l *= attackReleaseLevel; - r *= attackReleaseLevel; + auto envelopeValue = adsr.getNextSample(); - attackReleaseLevel += attackDelta; - - if (attackReleaseLevel >= 1.0f) - { - attackReleaseLevel = 1.0f; - isInAttack = false; - } - } - else if (isInRelease) - { - l *= attackReleaseLevel; - r *= attackReleaseLevel; - - attackReleaseLevel += releaseDelta; - - if (attackReleaseLevel <= 0.0f) - { - stopNote (0.0f, false); - break; - } - } + l *= lgain * envelopeValue; + r *= rgain * envelopeValue; if (outR != nullptr) { diff --git a/modules/juce_audio_formats/sampler/juce_Sampler.h b/modules/juce_audio_formats/sampler/juce_Sampler.h index a8cd0717..b29ad42e 100644 --- a/modules/juce_audio_formats/sampler/juce_Sampler.h +++ b/modules/juce_audio_formats/sampler/juce_Sampler.h @@ -72,7 +72,7 @@ public: double maxSampleLengthSeconds); /** Destructor. */ - ~SamplerSound(); + ~SamplerSound() override; //============================================================================== /** Returns the sample's name */ @@ -83,12 +83,14 @@ public: */ AudioBuffer* getAudioData() const noexcept { return data.get(); } + //============================================================================== + /** Changes the parameters of the ADSR envelope which will be applied to the sample. */ + void setEnvelopeParameters (ADSR::Parameters parametersToUse) { params = parametersToUse; } //============================================================================== bool appliesToNote (int midiNoteNumber) override; bool appliesToChannel (int midiChannel) override; - private: //============================================================================== friend class SamplerVoice; @@ -97,8 +99,9 @@ private: std::unique_ptr> data; double sourceSampleRate; BigInteger midiNotes; - int length = 0, attackSamples = 0, releaseSamples = 0; - int midiRootNote = 0; + int length = 0, midiRootNote = 0; + + ADSR::Parameters params; JUCE_LEAK_DETECTOR (SamplerSound) }; @@ -123,7 +126,7 @@ public: SamplerVoice(); /** Destructor. */ - ~SamplerVoice(); + ~SamplerVoice() override; //============================================================================== bool canPlaySound (SynthesiserSound*) override; @@ -136,13 +139,13 @@ public: void renderNextBlock (AudioBuffer&, int startSample, int numSamples) override; - private: //============================================================================== double pitchRatio = 0; double sourceSamplePosition = 0; - float lgain = 0, rgain = 0, attackReleaseLevel = 0, attackDelta = 0, releaseDelta = 0; - bool isInAttack = false, isInRelease = false; + float lgain = 0, rgain = 0; + + ADSR adsr; JUCE_LEAK_DETECTOR (SamplerVoice) }; diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp index aa07dda5..205ed49b 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -849,7 +849,7 @@ namespace AAXClasses AAX_Result GetParameterNumberofSteps (AAX_CParamID paramID, int32_t* result) const { if (auto* param = getParameterFromID (paramID)) - *result = param->getNumSteps(); + *result = getSafeNumberOfParameterSteps (*param); return AAX_SUCCESS; } @@ -1407,6 +1407,14 @@ namespace AAXClasses return false; } + // Some older Pro Tools control surfaces (EUCON [PT version 12.4] and + // Avid S6 before version 2.1) cannot cope with a large number of + // parameter steps. + static int32_t getSafeNumberOfParameterSteps (const AudioProcessorParameter& param) + { + return jmax (param.getNumSteps(), 2048); + } + void addAudioProcessorParameters() { auto& audioProcessor = getPluginInstance(); @@ -1448,7 +1456,6 @@ namespace AAXClasses aaxParamIDs.add (paramID); auto aaxParamID = aaxParamIDs.getReference (parameterIndex++).getCharPointer(); - paramMap.set (AAXClasses::getAAXParamHash (aaxParamID), juceParam); // is this a meter? @@ -1467,7 +1474,7 @@ namespace AAXClasses parameter->AddShortenedName (juceParam->getName (4).toRawUTF8()); - auto parameterNumSteps = juceParam->getNumSteps(); + auto parameterNumSteps = getSafeNumberOfParameterSteps (*juceParam); parameter->SetNumberOfSteps ((uint32_t) parameterNumSteps); #if JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE @@ -2099,11 +2106,17 @@ namespace AAXClasses check (desc.AddSideChainIn (JUCEAlgorithmIDs::sideChainBuffers)); properties->AddProperty (AAX_eProperty_SupportsSideChainInput, true); } + else + { + // AAX does not allow there to be any gaps in the fields of the algorithm context structure + // so just add a dummy one here if there aren't any side chains + check (desc.AddPrivateData (JUCEAlgorithmIDs::sideChainBuffers, sizeof (uintptr_t))); + } auto maxAuxBuses = jmax (0, jmin (15, fullLayout.outputBuses.size() - 1)); // add the output buses - // This is incrdibly dumb: the output bus format must be well defined + // This is incredibly dumb: the output bus format must be well defined // for every main bus in/out format pair. This means that there cannot // be two configurations with different aux formats but // identical main bus in/out formats. diff --git a/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp b/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp index f7de7521..c4ebfb15 100644 --- a/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp @@ -655,7 +655,7 @@ static void declareEffect (UnityAudioEffectDefinition& definition) } // namespace juce -UNITY_INTERFACE_EXPORT int UnityGetAudioEffectDefinitions (UnityAudioEffectDefinition*** definitionsPtr) +UNITY_INTERFACE_EXPORT int UNITY_INTERFACE_API UnityGetAudioEffectDefinitions (UnityAudioEffectDefinition*** definitionsPtr) { if (juce::getWrapperMap().size() == 0) juce::initialiseJuce_GUI(); @@ -724,7 +724,7 @@ UNITY_INTERFACE_EXPORT renderCallback UNITY_INTERFACE_API getRenderCallback() return onRenderEvent; } -UNITY_INTERFACE_EXPORT void unityInitialiseTexture (int id, void* data, int w, int h) +UNITY_INTERFACE_EXPORT void UNITY_INTERFACE_API unityInitialiseTexture (int id, void* data, int w, int h) { getWrapperChecked (id)->getEditorPeer().setPixelDataHandle (reinterpret_cast (data), w, h); } diff --git a/modules/juce_audio_plugin_client/VST/juce_VSTCallbackHandler.h b/modules/juce_audio_plugin_client/VST/juce_VSTCallbackHandler.h index 6ba00563..62e08d92 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VSTCallbackHandler.h +++ b/modules/juce_audio_plugin_client/VST/juce_VSTCallbackHandler.h @@ -34,7 +34,7 @@ namespace juce */ struct VSTCallbackHandler { - virtual ~VSTCallbackHandler() {} + virtual ~VSTCallbackHandler() = default; /** This is called by the VST plug-in wrapper when it receives unhandled plug-in "can do" calls from the host. diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp index cb852e8f..84f526fa 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp @@ -1257,6 +1257,9 @@ public: #if JUCE_WINDOWS if (! getHostType().isReceptor()) addMouseListener (this, true); + #if JUCE_WIN_PER_MONITOR_DPI_AWARE + wrapper.editorScaleFactor = static_cast (Desktop::getInstance().getDisplays().getMainDisplay().scale); + #endif #endif ignoreUnused (fakeMouseGenerator); @@ -1462,6 +1465,11 @@ public: int dh = 0; const int frameThickness = GetSystemMetrics (SM_CYFIXEDFRAME); + #if JUCE_WIN_PER_MONITOR_DPI_AWARE + newWidth = roundToInt (newWidth * wrapper.editorScaleFactor); + newHeight = roundToInt (newHeight * wrapper.editorScaleFactor); + #endif + HWND w = (HWND) getWindowHandle(); while (w != 0) @@ -1481,8 +1489,9 @@ public: GetWindowRect (w, &windowPos); GetWindowRect (parent, &parentPos); - SetWindowPos (w, 0, 0, 0, newWidth + dw, newHeight + dh, - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOOWNERZORDER); + if (w != (HWND) getWindowHandle()) + SetWindowPos (w, 0, 0, 0, newWidth + dw, newHeight + dh, + SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOOWNERZORDER); dw = (parentPos.right - parentPos.left) - (windowPos.right - windowPos.left); dh = (parentPos.bottom - parentPos.top) - (windowPos.bottom - windowPos.top); @@ -2221,7 +2230,11 @@ private: pointer_sized_int handleGetNumMidiInputChannels() { #if JucePlugin_WantsMidiInput || JucePlugin_IsMidiEffect - return 16; + #ifdef JucePlugin_VSTNumMidiInputs + return JucePlugin_VSTNumMidiInputs; + #else + return 16; + #endif #else return 0; #endif @@ -2230,7 +2243,11 @@ private: pointer_sized_int handleGetNumMidiOutputChannels() { #if JucePlugin_ProducesMidiOutput || JucePlugin_IsMidiEffect - return 16; + #ifdef JucePlugin_VSTNumMidiOutputs + return JucePlugin_VSTNumMidiOutputs; + #else + return 16; + #endif #else return 0; #endif diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp index 5d9aa464..5f1a6b57 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -198,7 +198,7 @@ private: { // we need to remain backward compatible with the old bypass id if (vst3WrapperProvidedBypassParam) - vstParamID = static_cast (isUsingManagedParameters() ? paramBypass : numParameters); + vstParamID = static_cast ((isUsingManagedParameters() && ! forceLegacyParamIDs) ? paramBypass : numParameters); bypassParamID = vstParamID; } @@ -811,6 +811,11 @@ private: editorScaleFactor = ec.lastScaleFactorReceived; component.reset (new ContentWrapperComponent (*this, p)); + + #if JUCE_MAC + if (getHostType().type == PluginHostType::SteinbergCubase10) + cubase10Workaround.reset (new Cubase10WindowResizeWorkaround (*this)); + #endif } tresult PLUGIN_API queryInterface (const TUID targetIID, void** obj) override @@ -903,12 +908,35 @@ private: #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE w = roundToInt (w / editorScaleFactor); h = roundToInt (h / editorScaleFactor); + + if (getHostType().type == PluginHostType::SteinbergCubase10) + { + auto integerScaleFactor = (int) std::round (editorScaleFactor); + + // Workaround for Cubase 10 sending double-scaled bounds when opening editor + if (isWithin ((int) w, component->getWidth() * integerScaleFactor, 2) + && isWithin ((int) h, component->getHeight() * integerScaleFactor, 2)) + { + w /= integerScaleFactor; + h /= integerScaleFactor; + } + } #endif component->setSize (w, h); + #if JUCE_MAC + if (cubase10Workaround != nullptr) + cubase10Workaround->triggerAsyncUpdate(); + else + #endif if (auto* peer = component->getPeer()) peer->updateBounds(); + + #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE + if (getHostType().type == PluginHostType::SteinbergCubase10) + component->resizeHostWindow(); + #endif } return kResultTrue; @@ -953,36 +981,67 @@ private: { if (auto* editor = component->pluginEditor.get()) { - #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE - auto juceRect = editor->getLocalArea (component.get(), - Rectangle::leftTopRightBottom (rectToCheck->left, rectToCheck->top, - rectToCheck->right, rectToCheck->bottom) / editorScaleFactor); - #else - auto juceRect = editor->getLocalArea (component.get(), - { rectToCheck->left, rectToCheck->top, rectToCheck->right, rectToCheck->bottom }); - #endif - if (auto* constrainer = editor->getConstrainer()) { - Rectangle limits (0, 0, constrainer->getMaximumWidth(), constrainer->getMaximumHeight()); + auto minW = (double) constrainer->getMinimumWidth(); + auto maxW = (double) constrainer->getMaximumWidth(); + auto minH = (double) constrainer->getMinimumHeight(); + auto maxH = (double) constrainer->getMaximumHeight(); - auto currentRect = editor->getBounds(); + auto width = (double) (rectToCheck->right - rectToCheck->left); + auto height = (double) (rectToCheck->bottom - rectToCheck->top); - constrainer->checkBounds (juceRect, currentRect, limits, - juceRect.getY() != currentRect.getY() && juceRect.getBottom() == currentRect.getBottom(), - juceRect.getX() != currentRect.getX() && juceRect.getRight() == currentRect.getRight(), - juceRect.getY() == currentRect.getY() && juceRect.getBottom() != currentRect.getBottom(), - juceRect.getX() == currentRect.getX() && juceRect.getRight() != currentRect.getRight()); + #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE + width /= editorScaleFactor; + height /= editorScaleFactor; + #endif + + width = jlimit (minW, maxW, width); + height = jlimit (minH, maxH, height); + + auto aspectRatio = constrainer->getFixedAspectRatio(); + + if (aspectRatio != 0.0) + { + bool adjustWidth = (width / height > aspectRatio); + + if (getHostType().type == PluginHostType::SteinbergCubase9) + { + if (editor->getWidth() == width && editor->getHeight() != height) + adjustWidth = true; + else if (editor->getHeight() == height && editor->getWidth() != width) + adjustWidth = false; + } + + if (adjustWidth) + { + width = height * aspectRatio; + + if (width > maxW || width < minW) + { + width = jlimit (minW, maxW, width); + height = width / aspectRatio; + } + } + else + { + height = width / aspectRatio; - juceRect = component->getLocalArea (editor, juceRect); + if (height > maxH || height < minH) + { + height = jlimit (minH, maxH, height); + width = height * aspectRatio; + } + } + } #if JUCE_WINDOWS && JUCE_WIN_PER_MONITOR_DPI_AWARE - rectToCheck->right = rectToCheck->left + roundToInt (juceRect.getWidth() * editorScaleFactor); - rectToCheck->bottom = rectToCheck->top + roundToInt (juceRect.getHeight() * editorScaleFactor); - #else - rectToCheck->right = rectToCheck->left + juceRect.getWidth(); - rectToCheck->bottom = rectToCheck->top + juceRect.getHeight(); + width *= editorScaleFactor; + height *= editorScaleFactor; #endif + + rectToCheck->right = rectToCheck->left + roundToInt (width); + rectToCheck->bottom = rectToCheck->top + roundToInt (height); } } @@ -996,6 +1055,14 @@ private: tresult PLUGIN_API setContentScaleFactor (Steinberg::IPlugViewContentScaleSupport::ScaleFactor factor) override { #if ! JUCE_MAC + // Cubase 10 doesn't support non-integer scale factors... + if (getHostType().type == PluginHostType::SteinbergCubase10) + { + if (component.get() != nullptr) + if (auto* peer = component->getPeer()) + factor = static_cast (peer->getPlatformScaleFactor()); + } + if (! approximatelyEqual ((float) factor, editorScaleFactor)) { editorScaleFactor = (float) factor; @@ -1012,12 +1079,8 @@ private: #endif component->resizeHostWindow(); - - if (getHostType().isBitwigStudio()) - { - component->setTopLeftPosition (0, 0); - component->repaint(); - } + component->setTopLeftPosition (0, 0); + component->repaint(); } return kResultTrue; @@ -1211,6 +1274,23 @@ private: #if JUCE_MAC void* macHostWindow = nullptr; bool isNSView = false; + + // On macOS Cubase 10 resizes the host window after calling onSize() resulting in the peer + // bounds being a step behind the plug-in. Calling updateBounds() asynchronously seems to fix things... + struct Cubase10WindowResizeWorkaround : public AsyncUpdater + { + Cubase10WindowResizeWorkaround (JuceVST3Editor& o) : owner (o) {} + + void handleAsyncUpdate() override + { + if (auto* peer = owner.component->getPeer()) + peer->updateBounds(); + } + + JuceVST3Editor& owner; + }; + + std::unique_ptr cubase10Workaround; #endif float editorScaleFactor = 1.0f; @@ -1967,7 +2047,13 @@ public: { info.mediaType = Vst::kEvent; info.direction = dir; + + #ifdef JucePlugin_VSTNumMidiInputs + info.channelCount = JucePlugin_VSTNumMidiInputs; + #else info.channelCount = 16; + #endif + toString128 (info.name, TRANS("MIDI Input")); info.busType = Vst::kMain; return kResultTrue; @@ -1979,7 +2065,13 @@ public: { info.mediaType = Vst::kEvent; info.direction = dir; + + #ifdef JucePlugin_VSTNumMidiOutputs + info.channelCount = JucePlugin_VSTNumMidiOutputs; + #else info.channelCount = 16; + #endif + toString128 (info.name, TRANS("MIDI Output")); info.busType = Vst::kMain; return kResultTrue; diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/modules/juce_audio_plugin_client/juce_audio_plugin_client.h index 720f7d27..72689d9f 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client.h @@ -35,7 +35,7 @@ ID: juce_audio_plugin_client vendor: juce - version: 5.4.1 + version: 5.4.2 name: JUCE audio plugin wrapper classes description: Classes for building VST, VST3, AudioUnit, AAX and RTAS plugins. website: http://www.juce.com/juce diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h b/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h index 8d7e4d2f..cef16ce7 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h +++ b/modules/juce_audio_plugin_client/utility/juce_PluginHostType.h @@ -41,8 +41,8 @@ class PluginHostType public: //============================================================================== PluginHostType() : type (getHostType()) {} - PluginHostType (const PluginHostType& other) noexcept : type (other.type) {} - PluginHostType& operator= (const PluginHostType& other) noexcept { type = other.type; return *this; } + PluginHostType (const PluginHostType& other) noexcept = default; + PluginHostType& operator= (const PluginHostType& other) noexcept = default; //============================================================================== /** Represents the host type and also its version for some hosts. */ @@ -63,6 +63,7 @@ public: BitwigStudio, /**< Represents Bitwig Studio. */ CakewalkSonar8, /**< Represents Cakewalk Sonar 8. */ CakewalkSonarGeneric, /**< Represents Cakewalk Sonar. */ + CakewalkByBandlab, /**< Represents Cakewalk by Bandlab. */ DaVinciResolve, /**< Represents DaVinci Resolve. */ DigitalPerformer, /**< Represents Digital Performer. */ FinalCut, /**< Represents Apple Final Cut Pro. */ @@ -83,6 +84,8 @@ public: SteinbergCubase8, /**< Represents Steinberg Cubase 8. */ SteinbergCubase8_5, /**< Represents Steinberg Cubase 8.5. */ SteinbergCubase9, /**< Represents Steinberg Cubase 9. */ + SteinbergCubase9_5, /**< Represents Steinberg Cubase 9.5. */ + SteinbergCubase10, /**< Represents Steinberg Cubase 10. */ SteinbergCubaseGeneric, /**< Represents Steinberg Cubase. */ SteinbergNuendo3, /**< Represents Steinberg Nuendo 3. */ SteinbergNuendo4, /**< Represents Steinberg Nuendo 4. */ @@ -114,7 +117,7 @@ public: /** Returns true if the host is Bitwig Studio. */ bool isBitwigStudio() const noexcept { return type == BitwigStudio; } /** Returns true if the host is any version of Steinberg Cubase. */ - bool isCubase() const noexcept { return type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase5Bridged || type == SteinbergCubase6 || type == SteinbergCubase7 || type == SteinbergCubase8 || type == SteinbergCubase8_5 || type == SteinbergCubase9 || type == SteinbergCubaseGeneric; } + bool isCubase() const noexcept { return type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase5Bridged || type == SteinbergCubase6 || type == SteinbergCubase7 || type == SteinbergCubase8 || type == SteinbergCubase8_5 || type == SteinbergCubase9 || type == SteinbergCubase9_5 || type == SteinbergCubase10 || type == SteinbergCubaseGeneric; } /** Returns true if the host is Steinberg Cubase 7 or later. */ bool isCubase7orLater() const noexcept { return isCubase() && ! (type == SteinbergCubase4 || type == SteinbergCubase5 || type == SteinbergCubase6); } /** Returns true if the host is Steinberg Cubase 5 Bridged. */ @@ -156,7 +159,7 @@ public: /** Returns true if the host is Magix Sequoia. */ bool isSequoia() const noexcept { return type == MagixSequoia; } /** Returns true if the host is any version of Cakewalk Sonar. */ - bool isSonar() const noexcept { return type == CakewalkSonar8 || type == CakewalkSonarGeneric; } + bool isSonar() const noexcept { return type == CakewalkSonar8 || type == CakewalkSonarGeneric || type == CakewalkByBandlab; } /** Returns true if the host is Steinberg's VST3 Test Host. */ bool isSteinbergTestHost() const noexcept { return type == SteinbergTestHost; } /** Returns true if the host is any product from Steinberg. */ @@ -196,6 +199,7 @@ public: case BitwigStudio: return "Bitwig Studio"; case CakewalkSonar8: return "Cakewalk Sonar 8"; case CakewalkSonarGeneric: return "Cakewalk Sonar"; + case CakewalkByBandlab: return "Cakewalk by Bandlab"; case DaVinciResolve: return "DaVinci Resolve"; case DigitalPerformer: return "DigitalPerformer"; case FinalCut: return "Final Cut"; @@ -216,6 +220,8 @@ public: case SteinbergCubase8: return "Steinberg Cubase 8"; case SteinbergCubase8_5: return "Steinberg Cubase 8.5"; case SteinbergCubase9: return "Steinberg Cubase 9"; + case SteinbergCubase9_5: return "Steinberg Cubase 9.5"; + case SteinbergCubase10: return "Steinberg Cubase 10"; case SteinbergCubaseGeneric: return "Steinberg Cubase"; case SteinbergNuendo3: return "Steinberg Nuendo 3"; case SteinbergNuendo4: return "Steinberg Nuendo 4"; @@ -303,6 +309,8 @@ private: if (hostPath.containsIgnoreCase ("Cubase 8.app")) return SteinbergCubase8; if (hostPath.containsIgnoreCase ("Cubase 8.5.app")) return SteinbergCubase8_5; if (hostPath.containsIgnoreCase ("Cubase 9.app")) return SteinbergCubase9; + if (hostPath.containsIgnoreCase ("Cubase 9.5.app")) return SteinbergCubase9_5; + if (hostPath.containsIgnoreCase ("Cubase 10.app")) return SteinbergCubase10; if (hostFilename.containsIgnoreCase ("Cubase")) return SteinbergCubaseGeneric; if (hostPath.containsIgnoreCase ("Wavelab 7")) return SteinbergWavelab7; if (hostPath.containsIgnoreCase ("Wavelab 8")) return SteinbergWavelab8; @@ -330,6 +338,7 @@ private: if (hostFilename.containsIgnoreCase ("ProTools")) return AvidProTools; if (hostPath.containsIgnoreCase ("SONAR 8")) return CakewalkSonar8; if (hostFilename.containsIgnoreCase ("SONAR")) return CakewalkSonarGeneric; + if (hostFilename.containsIgnoreCase ("Cakewalk.exe")) return CakewalkByBandlab; if (hostFilename.containsIgnoreCase ("GarageBand")) return AppleGarageBand; if (hostFilename.containsIgnoreCase ("Logic")) return AppleLogic; if (hostFilename.containsIgnoreCase ("MainStage")) return AppleMainStage; @@ -343,9 +352,13 @@ private: if (hostFilename.containsIgnoreCase ("Cubase7")) return SteinbergCubase7; if (hostFilename.containsIgnoreCase ("Cubase8.exe")) return SteinbergCubase8; if (hostFilename.containsIgnoreCase ("Cubase8.5.exe")) return SteinbergCubase8_5; - // Cubase 9 scans plug-ins with a separate executable "vst2xscanner" + // Later version of Cubase scan plug-ins with a separate executable "vst2xscanner" + if (hostFilename.containsIgnoreCase ("Cubase9.5.exe") + || hostPath.containsIgnoreCase ("Cubase 9.5")) return SteinbergCubase9_5; if (hostFilename.containsIgnoreCase ("Cubase9.exe") || hostPath.containsIgnoreCase ("Cubase 9")) return SteinbergCubase9; + if (hostFilename.containsIgnoreCase ("Cubase10.exe") + || hostPath.containsIgnoreCase ("Cubase 10")) return SteinbergCubase10; if (hostFilename.containsIgnoreCase ("Cubase")) return SteinbergCubaseGeneric; if (hostFilename.containsIgnoreCase ("VSTBridgeApp")) return SteinbergCubase5Bridged; if (hostPath.containsIgnoreCase ("Wavelab 5")) return SteinbergWavelab5; diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp index 9b5c214f..b9e97ee9 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp +++ b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp @@ -43,6 +43,18 @@ AudioProcessor::WrapperType PluginHostType::jucePlugInClientCurrentWrapperType = bool juce_isRunningInUnity() { return PluginHostType::getPluginLoadedAs() == AudioProcessor::wrapperType_Unity; } #endif +#if JUCE_MODULE_AVAILABLE_juce_opengl + bool juce_shouldDoubleScaleNativeGLWindow() + { + auto wrapperType = PluginHostType::getPluginLoadedAs(); + + if (wrapperType == AudioProcessor::wrapperType_VST || wrapperType == AudioProcessor::wrapperType_VST3) + return getHostType().type == PluginHostType::SteinbergCubase10; + + return false; + } +#endif + #ifndef JUCE_VST3_CAN_REPLACE_VST2 #define JUCE_VST3_CAN_REPLACE_VST2 1 #endif diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormat.h b/modules/juce_audio_processors/format/juce_AudioPluginFormat.h index f154704a..3f004061 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormat.h +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormat.h @@ -42,7 +42,7 @@ public: /** Structure used for callbacks when instantiation is completed. */ struct JUCE_API InstantiationCompletionCallback { - virtual ~InstantiationCompletionCallback() {} + virtual ~InstantiationCompletionCallback() = default; virtual void completionCallback (AudioPluginInstance* instance, const String& error) = 0; JUCE_LEAK_DETECTOR (InstantiationCompletionCallback) diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/README.md b/modules/juce_audio_processors/format_types/VST3_SDK/README.md index f208d870..1bea05f5 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/README.md +++ b/modules/juce_audio_processors/format_types/VST3_SDK/README.md @@ -1,12 +1,12 @@ -# Welcome to VST SDK 3.6.9 +# Welcome to VST SDK 3.6.12 ## Table Of Contents 1. [The VST SDK package](#100) 1. [System requirements](#200) 1. [About VST Plug-ins in general](#300) 1. [About VST 3](#400) -1. [How to build VST 3](#How_to_build_VST_3) -1. [License & Usage guidelines](#license_&_usage_guidelines) +1. [How to build VST 3](#500) +1. [License & Usage guidelines](#600)
@@ -16,7 +16,10 @@ - AAX, AU and VST 2 wrappers - VST 3 Plug-ins Examples -The full VST 3 SDK is available [here!](https://www.steinberg.net/en/company/developers.html). It contains a VST 3 Plug-in Test Host Application/Validator. +The full VST 3 SDK is available [here!](https://www.steinberg.net/en/company/developers.html). It contains : +- a VST 3 Plug-in Test Host Application/Validator, +- the Steinberg VST 3 Plug-In SDK Licensing Agreement that you have to sign if you want to develop or host VST 3 Plug-Ins. +
@@ -25,7 +28,7 @@ The full VST 3 SDK is available [here!](https://www.steinberg.net/en/company/dev Supported OS: - Microsoft Windows 7-10 -- Apple OSX 10.7-10.13 +- Apple OSX 10.9-10.13 - Apple iOS 8-9 - Linux (Beta version) @@ -107,38 +110,81 @@ Some more features implemented specifically for developers include: ---
-## How to build +## How to build VST3 ### Get the source code from GitHub
git clone --recursive https://github.com/steinbergmedia/vst3sdk.git
 
+### Adding VST2 version +The VST2 SDK is not part anymore of the VST3 SDK, you have to use an older version of the SDK and copy the VST2_SDK folder into the VST_SDK folder. +In order to build a VST2 version of the Plug-in and a VST3 at the same time, you need to copy the VST2 folder into the VST3 folder, simply run the following commands: +- for macOS: +
+cd TheFolderWhereYouDownloadTheSDK
+./copy_vst2_to_vst3_sdk.sh
+
+- for Windows: +
+cd TheFolderWhereYouDownloadTheSDK
+copy_vst2_to_vst3_sdk.bat
+
+ ### Build the examples on Linux +- Create a folder for the build and move to this folder (using cd): +
+    mkdir build
+    cd build
+
+- Generate the Solution/Projects: provide the path of the Project where CMakeLists.txt is located: +
+    cmake ../vst3sdk
+
+- Now you can build the Plug-in:
-mkdir build
-cd build
-cmake ../vst3sdk
-make  (or alternatively cmake --build .)
+    make 
+ (or alternatively for example for release)
+    cmake --build . --config Release
 
### Build the examples on macOS +- Create a folder for the build and move to this folder (using cd):
-mkdir build
-cd build
-cmake -GXcode ../vst3sdk
-xcodebuild  (or alternatively cmake --build .)
+    mkdir build
+    cd build
+
+- Generate the Solution/Projects: provide the path of the Project where CMakeLists.txt is located: +
+  For XCode:
+    cmake -GXcode ../vst3sdk
+  Without XCode (here debug variant):
+    cmake -DCMAKE_BUILD_TYPE=Debug ../
+
+- Now you can build the Plug-in (you can use XCode too): +
+    xcodebuild 
+ (or alternatively for example for release)
+    cmake --build . --config Release
 
### Build the examples on Windows +- Create a folder for the build and move to this folder (using cd): +
+    mkdir build
+    cd build
+
+- Generate the Solution/Projects: provide the path of the Project where CMakeLists.txt is located: +
+    cmake.exe -G"Visual Studio 15 2017 Win64" ../vst3sdk
+
+- Now you can build the Plug-in (you can use Visual Studio too):
-mkdir build
-cd build
-cmake.exe -G"Visual Studio 15 2017 Win64" ../vst3sdk
-msbuild.exe vstsdk.sln   (or alternatively cmake --build .)
+    msbuild.exe vstsdk.sln
+  (or alternatively for example for release)
+    cmake --build . --config Release
 
### Build using cmake-gui -
 * start the cmake-gui Application
 * "Browse Source...": select the folder VST3_SDK
 * "Browse Build...": select a folder where the outputs (projects/...) will be created. Typically a folder named "build"
@@ -146,8 +192,8 @@ msbuild.exe vstsdk.sln   (or alternatively cmake --build .)
 * Press "Configure"
 * Press "Generate" and the project will be created
 
-
--- +
## License & Usage guidelines More details are found at [www.steinberg.net/sdklicenses_vst3](http://www.steinberg.net/sdklicenses_vst3) \ No newline at end of file diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp index bc91f760..09dcfb0c 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/baseiids.cpp @@ -1,52 +1,52 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/baseidds.cpp -// Created by : Steinberg, 01/2008 -// Description : Basic Interface -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#include "pluginterfaces/base/funknown.h" -#include "pluginterfaces/base/istringresult.h" -#include "pluginterfaces/base/ipersistent.h" - - -namespace Steinberg { - -DEF_CLASS_IID (IString) -DEF_CLASS_IID (IStringResult) - -DEF_CLASS_IID (IPersistent) -DEF_CLASS_IID (IAttributes) -DEF_CLASS_IID (IAttributes2) -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/baseidds.cpp +// Created by : Steinberg, 01/2008 +// Description : Basic Interface +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include "pluginterfaces/base/funknown.h" +#include "pluginterfaces/base/istringresult.h" +#include "pluginterfaces/base/ipersistent.h" + + +namespace Steinberg { + +DEF_CLASS_IID (IString) +DEF_CLASS_IID (IStringResult) + +DEF_CLASS_IID (IPersistent) +DEF_CLASS_IID (IAttributes) +DEF_CLASS_IID (IAttributes2) +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h index 6d4f637f..f331dedb 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/classfactoryhelpers.h @@ -1,87 +1,87 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/classfactoryhelpers.h -// Created by : Steinberg, 03/2017 -// Description : Class factory -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#pragma once - -//------------------------------------------------------------------------------ -// Helper Macros. Not intended for direct use. -// Use: -// META_CLASS(className), -// META_CLASS_IFACE(className,Interface), -// META_CLASS_SINGLE(className,Interface) -// instead. -//------------------------------------------------------------------------------ -#define META_CREATE_FUNC(funcName) static FUnknown* funcName () - -#define CLASS_CREATE_FUNC(className) \ - namespace Meta { \ - META_CREATE_FUNC (make##className) { return (NEW className)->unknownCast (); } \ - } - -#define SINGLE_CREATE_FUNC(className) \ - namespace Meta { \ - META_CREATE_FUNC (make##className) { return className::instance ()->unknownCast (); } \ - } - -#define _META_CLASS(className) \ - namespace Meta { \ - static Steinberg::MetaClass meta##className ((#className), Meta::make##className); \ - } - -#define _META_CLASS_IFACE(className, Interface) \ - namespace Meta { \ - static Steinberg::MetaClass meta##Interface##className ((#className), Meta::make##className, \ - Interface##_iid); \ - } - -/** TODO - */ -#define META_CLASS(className) \ - CLASS_CREATE_FUNC (className) \ - _META_CLASS (className) - -/** TODO - */ -#define META_CLASS_IFACE(className, Interface) \ - CLASS_CREATE_FUNC (className) \ - _META_CLASS_IFACE (className, Interface) - -/** TODO - */ -#define META_CLASS_SINGLE(className, Interface) \ - SINGLE_CREATE_FUNC (className) \ - _META_CLASS_IFACE (className, Interface) +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/classfactoryhelpers.h +// Created by : Steinberg, 03/2017 +// Description : Class factory +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#pragma once + +//------------------------------------------------------------------------------ +// Helper Macros. Not intended for direct use. +// Use: +// META_CLASS(className), +// META_CLASS_IFACE(className,Interface), +// META_CLASS_SINGLE(className,Interface) +// instead. +//------------------------------------------------------------------------------ +#define META_CREATE_FUNC(funcName) static FUnknown* funcName () + +#define CLASS_CREATE_FUNC(className) \ + namespace Meta { \ + META_CREATE_FUNC (make##className) { return (NEW className)->unknownCast (); } \ + } + +#define SINGLE_CREATE_FUNC(className) \ + namespace Meta { \ + META_CREATE_FUNC (make##className) { return className::instance ()->unknownCast (); } \ + } + +#define _META_CLASS(className) \ + namespace Meta { \ + static Steinberg::MetaClass meta##className ((#className), Meta::make##className); \ + } + +#define _META_CLASS_IFACE(className, Interface) \ + namespace Meta { \ + static Steinberg::MetaClass meta##Interface##className ((#className), Meta::make##className, \ + Interface##_iid); \ + } + +/** TODO + */ +#define META_CLASS(className) \ + CLASS_CREATE_FUNC (className) \ + _META_CLASS (className) + +/** TODO + */ +#define META_CLASS_IFACE(className, Interface) \ + CLASS_CREATE_FUNC (className) \ + _META_CLASS_IFACE (className, Interface) + +/** TODO + */ +#define META_CLASS_SINGLE(className, Interface) \ + SINGLE_CREATE_FUNC (className) \ + _META_CLASS_IFACE (className, Interface) diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp index 3e6dd855..8de06dac 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.cpp @@ -1,644 +1,644 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fbuffer.cpp -// Created by : Steinberg, 2008 -// Description : -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#include "base/source/fbuffer.h" -#include "base/source/fstring.h" -#include - -namespace Steinberg { - -//------------------------------------------------------------------------------------- -Buffer::Buffer () -: buffer (0) -, memSize (0) -, fillSize (0) -, delta (defaultDelta) -{} - -//------------------------------------------------------------------------------------- -Buffer::Buffer (uint32 s, uint8 initVal) -: buffer (0) -, memSize (s) -, fillSize (0) -, delta (defaultDelta) -{ - if (memSize == 0) - return; - buffer = (int8*)::malloc (memSize); - if (buffer) - memset (buffer, initVal, memSize); - else - memSize = 0; -} - -//------------------------------------------------------------------------------------- -Buffer::Buffer (uint32 s) -: buffer (0) -, memSize (s) -, fillSize (0) -, delta (defaultDelta) -{ - if (memSize == 0) - return; - buffer = (int8*)::malloc (memSize); - if (!buffer) - memSize = 0; -} - -//------------------------------------------------------------------------------------- -Buffer::Buffer (const void* b , uint32 s) -: buffer (0) -, memSize (s) -, fillSize (s) -, delta (defaultDelta) -{ - if (memSize == 0) - return; - buffer = (int8*)::malloc (memSize); - if (buffer) - memcpy (buffer, b, memSize); - else - { - memSize = 0; - fillSize = 0; - } -} - -//------------------------------------------------------------------------------------- -Buffer::Buffer (const Buffer& bufferR) -: buffer (0) -, memSize (bufferR.memSize) -, fillSize (bufferR.fillSize) -, delta (bufferR.delta) -{ - if (memSize == 0) - return; - - buffer = (int8*)::malloc (memSize); - if (buffer) - memcpy (buffer, bufferR.buffer, memSize); - else - memSize = 0; -} - -//------------------------------------------------------------------------------------- -Buffer::~Buffer () -{ - if (buffer) - ::free (buffer); - buffer = 0; -} - -//------------------------------------------------------------------------------------- -void Buffer::operator = (const Buffer& b2) -{ - if (&b2 != this) - { - setSize (b2.memSize); - if (b2.memSize > 0 && buffer) - memcpy (buffer, b2.buffer, b2.memSize); - fillSize = b2.fillSize; - delta = b2.delta; - } -} - -//------------------------------------------------------------------------------------- -bool Buffer::operator == (const Buffer& b2)const -{ - if (&b2 == this) - return true; - if (b2.getSize () != getSize ()) - return false; - return memcmp (this->int8Ptr (), b2.int8Ptr (), getSize ()) == 0 ? true : false; -} - -//------------------------------------------------------------------------------------- -uint32 Buffer::get (void* b, uint32 size) -{ - uint32 maxGet = memSize - fillSize; - if (size > maxGet) - size = maxGet; - if (size > 0) - memcpy (b, buffer + fillSize, size); - fillSize += size; - return size; -} - -//------------------------------------------------------------------------------------- -bool Buffer::put (char16 c) -{ - return put ((const void*)&c, sizeof (c)); -} - -//------------------------------------------------------------------------------------- -bool Buffer::put (uint8 byte) -{ - if (grow (fillSize + 1) == false) - return false; - - buffer [fillSize++] = byte; - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::put (char c) -{ - if (grow (fillSize + 1) == false) - return false; - - buffer [fillSize++] = c; - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::put (const void* toPut, uint32 s) -{ - if (!toPut) - return false; - - if (grow (fillSize + s) == false) - return false; - - memcpy (buffer + fillSize, toPut, s); - fillSize += s; - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::put (const String& str) -{ - return put ((const void*)str.text () , (str.length () + 1) * sizeof (tchar)); -} - -//------------------------------------------------------------------------------------- -bool Buffer::appendString8 (const char8* s) -{ - if (!s) - return false; - - uint32 len = (uint32) strlen (s); - return put (s, len); -} - -//------------------------------------------------------------------------------------- -bool Buffer::appendString16 (const char16* s) -{ - if (!s) - return false; - ConstString str (s); - uint32 len = (uint32) str.length () * sizeof (char16); - return put (s, len); -} - -//------------------------------------------------------------------------------------- -bool Buffer::prependString8 (const char8* s) -{ - if (!s) - return false; - - uint32 len = (uint32) strlen (s); - - if (len > 0) - { - shiftStart (len); - memcpy (buffer, s, len); - return true; - } - return false; -} - -//------------------------------------------------------------------------------------- -bool Buffer::prependString16 (const char16* s) -{ - if (!s) - return false; - - ConstString str (s); - uint32 len = (uint32) str.length () * sizeof (char16); - - if (len > 0) - { - shiftStart (len); - memcpy (buffer, s, len); - return true; - } - return false; -} - -//------------------------------------------------------------------------------------- -bool Buffer::prependString8 (char8 c) -{ - shiftStart (sizeof (char)); - char* b = (char*)buffer; - b [0] = c; - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::prependString16 (char16 c) -{ - shiftStart (sizeof (char16)); - char16* b = (char16*)buffer; - b [0] = c; - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::copy (uint32 from, uint32 to, uint32 bytes) -{ - if (from + bytes > memSize || bytes == 0) - return false; - - if (to + bytes > memSize) - setSize (to + bytes); - - if (from + bytes > to && from < to) - { // overlap - Buffer tmp (buffer + from, bytes); - memcpy (buffer + to, tmp, bytes); - } - else - memcpy (buffer + to, buffer + from, bytes); - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::makeHexString (String& result) -{ - unsigned char* data = uint8Ptr (); - uint32 bytes = getSize (); - - if (data == 0 || bytes == 0) - return false; - - char8* stringBuffer = (char8*)malloc ((bytes * 2) + 1); - if (!stringBuffer) - return false; - - int32 count = 0; - while (bytes > 0) - { - unsigned char t1 = ((*data) >> 4) & 0x0F; - unsigned char t2 = (*data) & 0x0F; - if (t1 < 10) - t1 += '0'; - else - t1 = t1 - 10 + 'A'; - if (t2 < 10) - t2 += '0'; - else - t2 = t2 - 10 + 'A'; - - stringBuffer [count++] = t1; - stringBuffer [count++] = t2; - data++; - bytes--; - } - stringBuffer [count] = 0; - - result.take ((void*)stringBuffer, false); - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::fromHexString (const char8* string) -{ - flush (); - if (string == 0) - return false; - - int32 len = strlen8 (string); - if (len == 0 || ((len & 1) == 1)/*odd number*/ ) - return false; - - setSize (len / 2); - unsigned char* data = uint8Ptr (); - - bool upper = true; - int32 count = 0; - while (count < len) - { - char c = string [count]; - - unsigned char d = 0; - if (c >= '0' && c <= '9') d += c - '0'; - else if (c >= 'A' && c <= 'F') d += c - 'A' + 10; - else if (c >= 'a' && c <= 'f') d += c - 'a' + 10; - else return false; // no hex string - - if (upper) - data [count >> 1] = d << 4; - else - data [count >> 1] += d; - - upper = !upper; - count++; - } - setFillSize (len / 2); - return true; -} - -//------------------------------------------------------------------------ -void Buffer::set (uint8 value) -{ - if (buffer) - memset (buffer, value, memSize); -} - -//------------------------------------------------------------------------------------- -bool Buffer::setFillSize (uint32 c) -{ - if (c <= memSize) - { - fillSize = c; - return true; - } - return false; -} - -//------------------------------------------------------------------------------------- -bool Buffer::truncateToFillSize () -{ - if (fillSize < memSize) - setSize (fillSize); - - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::grow (uint32 newSize) -{ - if (newSize > memSize) - { - if (delta == 0) - delta = defaultDelta; - uint32 s = ((newSize + delta - 1) / delta) * delta; - return setSize (s); - } - return true; -} - -//------------------------------------------------------------------------ -void Buffer::shiftAt (uint32 position, int32 amount) -{ - if (amount > 0) - { - if (grow (fillSize + amount)) - { - if (position < fillSize) - memmove (buffer + amount + position, buffer + position, fillSize - position); - - fillSize += amount; - } - } - else if (amount < 0 && fillSize > 0) - { - uint32 toRemove = -amount; - - if (toRemove < fillSize) - { - if (position < fillSize) - memmove (buffer + position, buffer + toRemove + position, fillSize - position - toRemove); - fillSize -= toRemove; - } - } -} - -//------------------------------------------------------------------------------------- -void Buffer::move (int32 amount, uint8 initVal) -{ - if (memSize == 0) - return; - - if (amount > 0) - { - if ((uint32)amount < memSize) - { - memmove (buffer + amount, buffer, memSize - amount); - memset (buffer, initVal, amount); - } - else - memset (buffer, initVal, memSize); - } - else - { - uint32 toRemove = -amount; - if (toRemove < memSize) - { - memmove (buffer, buffer + toRemove, memSize - toRemove); - memset (buffer + memSize - toRemove, initVal, toRemove); - } - else - memset (buffer, initVal, memSize); - } -} - -//------------------------------------------------------------------------------------- -bool Buffer::setSize (uint32 newSize) -{ - if (memSize != newSize) - { - if (buffer) - { - if (newSize > 0) - { - int8* newBuffer = (int8*) ::realloc (buffer, newSize); - if (newBuffer == 0) - { - newBuffer = (int8*)::malloc (newSize); - if (newBuffer) - { - uint32 tmp = newSize; - if (tmp > memSize) - tmp = memSize; - memcpy (newBuffer, buffer, tmp); - ::free (buffer); - buffer = newBuffer; - } - else - { - ::free (buffer); - buffer = 0; - } - } - else - buffer = newBuffer; - } - else - { - ::free (buffer); - buffer = 0; - } - } - else - buffer = (int8*)::malloc (newSize); - - if (newSize > 0 && !buffer) - memSize = 0; - else - memSize = newSize; - if (fillSize > memSize) - fillSize = memSize; - } - - return (newSize > 0) == (buffer != 0); -} - -//------------------------------------------------------------------------------------- -void Buffer::fillup (uint8 value) -{ - if (getFree () > 0) - memset (buffer + fillSize, value, getFree ()); -} - -//------------------------------------------------------------------------------------- -int8* Buffer::operator + (uint32 i) -{ - if (i < memSize) - return buffer + i; - else - { - static int8 eof; - eof = 0; - return &eof; - } -} - -//------------------------------------------------------------------------------------- -bool Buffer::swap (int16 swapSize) -{ - return swap (buffer, memSize, swapSize); -} - -//------------------------------------------------------------------------------------- -bool Buffer::swap (void* buffer, uint32 bufferSize, int16 swapSize) -{ - if (swapSize != kSwap16 && swapSize != kSwap32 && swapSize != kSwap64) - return false; - - if (swapSize == kSwap16) - { - for (uint32 count = 0 ; count < bufferSize ; count += 2) - { - SWAP_16 ( * (((int16*)buffer) + count) ); - } - } - else if (swapSize == kSwap32) - { - for (uint32 count = 0 ; count < bufferSize ; count += 4) - { - SWAP_32 ( * (((int32*)buffer) + count) ); - } - } - else if (swapSize == kSwap64) - { - for (uint32 count = 0 ; count < bufferSize ; count += 8) - { - SWAP_64 ( * (((int64*)buffer) + count) ); - } - } - - return true; -} - -//------------------------------------------------------------------------------------- -void Buffer::take (Buffer& from) -{ - setSize (0); - memSize = from.memSize; - fillSize = from.fillSize; - buffer = from.buffer; - from.buffer = 0; - from.memSize = 0; - from.fillSize = 0; -} - -//------------------------------------------------------------------------------------- -int8* Buffer::pass () -{ - int8* res = buffer; - buffer = 0; - memSize = 0; - fillSize = 0; - return res; -} - -//------------------------------------------------------------------------------------- -bool Buffer::toWideString (int32 sourceCodePage) -{ - if (getFillSize () > 0) - { - if (str8 () [getFillSize () - 1] != 0) // multiByteToWideString only works with 0-terminated strings - endString8 (); - - Buffer dest (getFillSize () * sizeof (char16)); - int32 result = String::multiByteToWideString (dest.str16 (), buffer, dest.getFree () / sizeof (char16), sourceCodePage); - if (result > 0) - { - dest.setFillSize ((result - 1) * sizeof (char16)); - take (dest); - return true; - } - return false; - } - return true; -} - -//------------------------------------------------------------------------------------- -bool Buffer::toMultibyteString (int32 destCodePage) -{ - if (getFillSize () > 0) - { - int32 textLength = getFillSize () / sizeof (char16); // wideStringToMultiByte only works with 0-terminated strings - if (str16 () [textLength - 1] != 0) - endString16 (); - - Buffer dest (getFillSize ()); - int32 result = String::wideStringToMultiByte (dest.str8 (), str16 (), dest.getFree (), destCodePage); - if (result > 0) - { - dest.setFillSize (result - 1); - take (dest); - return true; - } - return false; - } - return true; -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fbuffer.cpp +// Created by : Steinberg, 2008 +// Description : +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include "base/source/fbuffer.h" +#include "base/source/fstring.h" +#include + +namespace Steinberg { + +//------------------------------------------------------------------------------------- +Buffer::Buffer () +: buffer (0) +, memSize (0) +, fillSize (0) +, delta (defaultDelta) +{} + +//------------------------------------------------------------------------------------- +Buffer::Buffer (uint32 s, uint8 initVal) +: buffer (0) +, memSize (s) +, fillSize (0) +, delta (defaultDelta) +{ + if (memSize == 0) + return; + buffer = (int8*)::malloc (memSize); + if (buffer) + memset (buffer, initVal, memSize); + else + memSize = 0; +} + +//------------------------------------------------------------------------------------- +Buffer::Buffer (uint32 s) +: buffer (0) +, memSize (s) +, fillSize (0) +, delta (defaultDelta) +{ + if (memSize == 0) + return; + buffer = (int8*)::malloc (memSize); + if (!buffer) + memSize = 0; +} + +//------------------------------------------------------------------------------------- +Buffer::Buffer (const void* b , uint32 s) +: buffer (0) +, memSize (s) +, fillSize (s) +, delta (defaultDelta) +{ + if (memSize == 0) + return; + buffer = (int8*)::malloc (memSize); + if (buffer) + memcpy (buffer, b, memSize); + else + { + memSize = 0; + fillSize = 0; + } +} + +//------------------------------------------------------------------------------------- +Buffer::Buffer (const Buffer& bufferR) +: buffer (0) +, memSize (bufferR.memSize) +, fillSize (bufferR.fillSize) +, delta (bufferR.delta) +{ + if (memSize == 0) + return; + + buffer = (int8*)::malloc (memSize); + if (buffer) + memcpy (buffer, bufferR.buffer, memSize); + else + memSize = 0; +} + +//------------------------------------------------------------------------------------- +Buffer::~Buffer () +{ + if (buffer) + ::free (buffer); + buffer = 0; +} + +//------------------------------------------------------------------------------------- +void Buffer::operator = (const Buffer& b2) +{ + if (&b2 != this) + { + setSize (b2.memSize); + if (b2.memSize > 0 && buffer) + memcpy (buffer, b2.buffer, b2.memSize); + fillSize = b2.fillSize; + delta = b2.delta; + } +} + +//------------------------------------------------------------------------------------- +bool Buffer::operator == (const Buffer& b2)const +{ + if (&b2 == this) + return true; + if (b2.getSize () != getSize ()) + return false; + return memcmp (this->int8Ptr (), b2.int8Ptr (), getSize ()) == 0 ? true : false; +} + +//------------------------------------------------------------------------------------- +uint32 Buffer::get (void* b, uint32 size) +{ + uint32 maxGet = memSize - fillSize; + if (size > maxGet) + size = maxGet; + if (size > 0) + memcpy (b, buffer + fillSize, size); + fillSize += size; + return size; +} + +//------------------------------------------------------------------------------------- +bool Buffer::put (char16 c) +{ + return put ((const void*)&c, sizeof (c)); +} + +//------------------------------------------------------------------------------------- +bool Buffer::put (uint8 byte) +{ + if (grow (fillSize + 1) == false) + return false; + + buffer [fillSize++] = byte; + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::put (char c) +{ + if (grow (fillSize + 1) == false) + return false; + + buffer [fillSize++] = c; + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::put (const void* toPut, uint32 s) +{ + if (!toPut) + return false; + + if (grow (fillSize + s) == false) + return false; + + memcpy (buffer + fillSize, toPut, s); + fillSize += s; + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::put (const String& str) +{ + return put ((const void*)str.text () , (str.length () + 1) * sizeof (tchar)); +} + +//------------------------------------------------------------------------------------- +bool Buffer::appendString8 (const char8* s) +{ + if (!s) + return false; + + uint32 len = (uint32) strlen (s); + return put (s, len); +} + +//------------------------------------------------------------------------------------- +bool Buffer::appendString16 (const char16* s) +{ + if (!s) + return false; + ConstString str (s); + uint32 len = (uint32) str.length () * sizeof (char16); + return put (s, len); +} + +//------------------------------------------------------------------------------------- +bool Buffer::prependString8 (const char8* s) +{ + if (!s) + return false; + + uint32 len = (uint32) strlen (s); + + if (len > 0) + { + shiftStart (len); + memcpy (buffer, s, len); + return true; + } + return false; +} + +//------------------------------------------------------------------------------------- +bool Buffer::prependString16 (const char16* s) +{ + if (!s) + return false; + + ConstString str (s); + uint32 len = (uint32) str.length () * sizeof (char16); + + if (len > 0) + { + shiftStart (len); + memcpy (buffer, s, len); + return true; + } + return false; +} + +//------------------------------------------------------------------------------------- +bool Buffer::prependString8 (char8 c) +{ + shiftStart (sizeof (char)); + char* b = (char*)buffer; + b [0] = c; + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::prependString16 (char16 c) +{ + shiftStart (sizeof (char16)); + char16* b = (char16*)buffer; + b [0] = c; + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::copy (uint32 from, uint32 to, uint32 bytes) +{ + if (from + bytes > memSize || bytes == 0) + return false; + + if (to + bytes > memSize) + setSize (to + bytes); + + if (from + bytes > to && from < to) + { // overlap + Buffer tmp (buffer + from, bytes); + memcpy (buffer + to, tmp, bytes); + } + else + memcpy (buffer + to, buffer + from, bytes); + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::makeHexString (String& result) +{ + unsigned char* data = uint8Ptr (); + uint32 bytes = getSize (); + + if (data == 0 || bytes == 0) + return false; + + char8* stringBuffer = (char8*)malloc ((bytes * 2) + 1); + if (!stringBuffer) + return false; + + int32 count = 0; + while (bytes > 0) + { + unsigned char t1 = ((*data) >> 4) & 0x0F; + unsigned char t2 = (*data) & 0x0F; + if (t1 < 10) + t1 += '0'; + else + t1 = t1 - 10 + 'A'; + if (t2 < 10) + t2 += '0'; + else + t2 = t2 - 10 + 'A'; + + stringBuffer [count++] = t1; + stringBuffer [count++] = t2; + data++; + bytes--; + } + stringBuffer [count] = 0; + + result.take ((void*)stringBuffer, false); + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::fromHexString (const char8* string) +{ + flush (); + if (string == 0) + return false; + + int32 len = strlen8 (string); + if (len == 0 || ((len & 1) == 1)/*odd number*/ ) + return false; + + setSize (len / 2); + unsigned char* data = uint8Ptr (); + + bool upper = true; + int32 count = 0; + while (count < len) + { + char c = string [count]; + + unsigned char d = 0; + if (c >= '0' && c <= '9') d += c - '0'; + else if (c >= 'A' && c <= 'F') d += c - 'A' + 10; + else if (c >= 'a' && c <= 'f') d += c - 'a' + 10; + else return false; // no hex string + + if (upper) + data [count >> 1] = d << 4; + else + data [count >> 1] += d; + + upper = !upper; + count++; + } + setFillSize (len / 2); + return true; +} + +//------------------------------------------------------------------------ +void Buffer::set (uint8 value) +{ + if (buffer) + memset (buffer, value, memSize); +} + +//------------------------------------------------------------------------------------- +bool Buffer::setFillSize (uint32 c) +{ + if (c <= memSize) + { + fillSize = c; + return true; + } + return false; +} + +//------------------------------------------------------------------------------------- +bool Buffer::truncateToFillSize () +{ + if (fillSize < memSize) + setSize (fillSize); + + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::grow (uint32 newSize) +{ + if (newSize > memSize) + { + if (delta == 0) + delta = defaultDelta; + uint32 s = ((newSize + delta - 1) / delta) * delta; + return setSize (s); + } + return true; +} + +//------------------------------------------------------------------------ +void Buffer::shiftAt (uint32 position, int32 amount) +{ + if (amount > 0) + { + if (grow (fillSize + amount)) + { + if (position < fillSize) + memmove (buffer + amount + position, buffer + position, fillSize - position); + + fillSize += amount; + } + } + else if (amount < 0 && fillSize > 0) + { + uint32 toRemove = -amount; + + if (toRemove < fillSize) + { + if (position < fillSize) + memmove (buffer + position, buffer + toRemove + position, fillSize - position - toRemove); + fillSize -= toRemove; + } + } +} + +//------------------------------------------------------------------------------------- +void Buffer::move (int32 amount, uint8 initVal) +{ + if (memSize == 0) + return; + + if (amount > 0) + { + if ((uint32)amount < memSize) + { + memmove (buffer + amount, buffer, memSize - amount); + memset (buffer, initVal, amount); + } + else + memset (buffer, initVal, memSize); + } + else + { + uint32 toRemove = -amount; + if (toRemove < memSize) + { + memmove (buffer, buffer + toRemove, memSize - toRemove); + memset (buffer + memSize - toRemove, initVal, toRemove); + } + else + memset (buffer, initVal, memSize); + } +} + +//------------------------------------------------------------------------------------- +bool Buffer::setSize (uint32 newSize) +{ + if (memSize != newSize) + { + if (buffer) + { + if (newSize > 0) + { + int8* newBuffer = (int8*) ::realloc (buffer, newSize); + if (newBuffer == 0) + { + newBuffer = (int8*)::malloc (newSize); + if (newBuffer) + { + uint32 tmp = newSize; + if (tmp > memSize) + tmp = memSize; + memcpy (newBuffer, buffer, tmp); + ::free (buffer); + buffer = newBuffer; + } + else + { + ::free (buffer); + buffer = 0; + } + } + else + buffer = newBuffer; + } + else + { + ::free (buffer); + buffer = 0; + } + } + else + buffer = (int8*)::malloc (newSize); + + if (newSize > 0 && !buffer) + memSize = 0; + else + memSize = newSize; + if (fillSize > memSize) + fillSize = memSize; + } + + return (newSize > 0) == (buffer != 0); +} + +//------------------------------------------------------------------------------------- +void Buffer::fillup (uint8 value) +{ + if (getFree () > 0) + memset (buffer + fillSize, value, getFree ()); +} + +//------------------------------------------------------------------------------------- +int8* Buffer::operator + (uint32 i) +{ + if (i < memSize) + return buffer + i; + else + { + static int8 eof; + eof = 0; + return &eof; + } +} + +//------------------------------------------------------------------------------------- +bool Buffer::swap (int16 swapSize) +{ + return swap (buffer, memSize, swapSize); +} + +//------------------------------------------------------------------------------------- +bool Buffer::swap (void* buffer, uint32 bufferSize, int16 swapSize) +{ + if (swapSize != kSwap16 && swapSize != kSwap32 && swapSize != kSwap64) + return false; + + if (swapSize == kSwap16) + { + for (uint32 count = 0 ; count < bufferSize ; count += 2) + { + SWAP_16 ( * (((int16*)buffer) + count) ); + } + } + else if (swapSize == kSwap32) + { + for (uint32 count = 0 ; count < bufferSize ; count += 4) + { + SWAP_32 ( * (((int32*)buffer) + count) ); + } + } + else if (swapSize == kSwap64) + { + for (uint32 count = 0 ; count < bufferSize ; count += 8) + { + SWAP_64 ( * (((int64*)buffer) + count) ); + } + } + + return true; +} + +//------------------------------------------------------------------------------------- +void Buffer::take (Buffer& from) +{ + setSize (0); + memSize = from.memSize; + fillSize = from.fillSize; + buffer = from.buffer; + from.buffer = 0; + from.memSize = 0; + from.fillSize = 0; +} + +//------------------------------------------------------------------------------------- +int8* Buffer::pass () +{ + int8* res = buffer; + buffer = 0; + memSize = 0; + fillSize = 0; + return res; +} + +//------------------------------------------------------------------------------------- +bool Buffer::toWideString (int32 sourceCodePage) +{ + if (getFillSize () > 0) + { + if (str8 () [getFillSize () - 1] != 0) // multiByteToWideString only works with 0-terminated strings + endString8 (); + + Buffer dest (getFillSize () * sizeof (char16)); + int32 result = String::multiByteToWideString (dest.str16 (), buffer, dest.getFree () / sizeof (char16), sourceCodePage); + if (result > 0) + { + dest.setFillSize ((result - 1) * sizeof (char16)); + take (dest); + return true; + } + return false; + } + return true; +} + +//------------------------------------------------------------------------------------- +bool Buffer::toMultibyteString (int32 destCodePage) +{ + if (getFillSize () > 0) + { + int32 textLength = getFillSize () / sizeof (char16); // wideStringToMultiByte only works with 0-terminated strings + if (str16 () [textLength - 1] != 0) + endString16 (); + + Buffer dest (getFillSize ()); + int32 result = String::wideStringToMultiByte (dest.str8 (), str16 (), dest.getFree (), destCodePage); + if (result > 0) + { + dest.setFillSize (result - 1); + take (dest); + return true; + } + return false; + } + return true; +} + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h index ff81b501..e8dd936a 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fbuffer.h @@ -1,306 +1,306 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fbuffer.h -// Created by : Steinberg, 2008 -// Description : -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/ftypes.h" -#include - -namespace Steinberg { -class String; - -//------------------------------------------------------------------------ -/** Buffer. -@ingroup adt - -A Buffer is an object-oriented wrapper for a piece of memory. -It adds several utility functions, e.g. for managing the size of the Buffer, -appending or prepending values or strings to it. -Internally it uses the standard memory functions malloc(), free(), etc. */ -//------------------------------------------------------------------------ -class Buffer -{ -public: -//--------------------------------------------------------------------- - - /** Default constructor, allocates no memory at all. - */ - Buffer (); - - /** Constructor - creates a new Buffer with a given size and copies contents from optional memory pointer. - \param[in] b : optional memory pointer with the size of at least the given size - \param[in] size : the size of the new Buffer to be allocated, in bytes. - */ - Buffer (const void* b, uint32 size); - - /** Constructor - creates a new Buffer with a given size and fills it all with a given value. - \param[in] size : the size of the new Buffer to be allocated, in bytes. - \param[in] initVal : the initial value the Buffer will be completely filled with - */ - Buffer (uint32 size, uint8 initVal); - - /** Constructor - creates a new Buffer with a given size. - \param[in] size : the size of the new Buffer to be allocated, in bytes. - */ - Buffer (uint32 size); - - /** Copy constructor - creates a new Buffer from a given Buffer. - \param[in] buff : the Buffer from which all memory will be copied to the new one - */ - Buffer (const Buffer& buff); - - /** Destructor - deallocates the internal memory. - */ - ~Buffer (); - - /** Assignment operator - copies contents from a given Buffer and increases the size if necessary. - \param[in] buff : the Buffer from which all memory will be copied - */ - void operator = (const Buffer& buff); - - /** Comparison operator - copies contents from a given Buffer and increases the size if necessary. - \param[in] buff : the Buffer to be compared to - \return true, if the given Buffer's content is equal to this one, else false - */ - bool operator == (const Buffer& buff)const; - - uint32 getSize () const {return memSize;} ///< \return the actual size of the Buffer's memory, in bytes. - - /** Sets a new size for this Buffer, keeping as much content as possible. - \param[in] newSize : the new size for the Buffer, in bytes, newSize maybe zero - \return true, if the new size could be adapted, else false - */ - bool setSize (uint32 newSize); - - /** Increases the Buffer to the next block, block size given by delta. - \param[in] memSize : the new minimum size of the Buffer, newSize maybe zero - \return true, if the Buffer could be grown successfully, else false - */ - bool grow (uint32 memSize); - bool setMaxSize (uint32 size) {return grow (size);} ///< see \ref grow() - - void fillup (uint8 initVal = 0); ///< set from fillSize to end - uint32 getFillSize ()const {return fillSize;} ///< \return the actual fill size - bool setFillSize (uint32 c); ///< sets a new fill size, does not change any memory - inline void flush () {setFillSize (0);} ///< sets fill size to zero - bool truncateToFillSize (); ///< \return always true, truncates the size of the Buffer to the actual fill size - - bool isFull () const { return (fillSize == memSize); } ///< \return true, if all memory is filled up, else false - uint32 getFree () const { return (memSize - fillSize); }///< \return remaining memory - - inline void shiftStart (int32 amount) {return shiftAt (0, amount);} ///< moves all memory by given amount, grows the Buffer if necessary - void shiftAt (uint32 position, int32 amount); ///< moves memory starting at the given position - void move (int32 amount, uint8 initVal = 0); ///< shifts memory at start without growing the buffer, so data is lost and initialized with init val - - bool copy (uint32 from, uint32 to, uint32 bytes); ///< copies a number of bytes from one position to another, the size may be adapted - uint32 get (void* b, uint32 size); ///< copy to buffer from fillSize, and shift fillSize - - void setDelta (uint32 d) {delta = d;} ///< define the block size by which the Buffer grows, see \ref grow() - - bool put (uint8); ///< append value at end, grows Buffer if necessary - bool put (char16 c); ///< append value at end, grows Buffer if necessary - bool put (char c); ///< append value at end, grows Buffer if necessary - bool put (const void* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary - bool put (void* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary - bool put (uint8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary - bool put (char8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary - bool put (const uint8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary - bool put (const char8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary - bool put (const String&); ///< append String at end, grows Buffer if necessary - - void set (uint8 value); ///< fills complete Buffer with given value - - // strings ---------------- - bool appendString (const tchar* s); - bool appendString (tchar* s); - bool appendString (tchar c) { return put (c); } - - bool appendString8 (const char8* s); - bool appendString16 (const char16* s); - - bool appendString8 (char8* s) { return appendString8 ((const char8*)s); } - bool appendString8 (unsigned char* s) { return appendString8 ((const char8*)s); } - bool appendString8 (const unsigned char* s) { return appendString8 ((const char8*)s); } - - bool appendString8 (char8 c) { return put ((uint8)c); } - bool appendString8 (unsigned char c) { return put (c); } - bool appendString16 (char16 c) { return put (c); } - bool appendString16 (char16* s) { return appendString16 ((const char16*)s); } - - bool prependString (const tchar* s); - bool prependString (tchar* s); - bool prependString (tchar c); - - bool prependString8 (const char8* s); - bool prependString16 (const char16* s); - - bool prependString8 (char8 c); - bool prependString8 (unsigned char c) { return prependString8 ((char8)c); } - bool prependString8 (char8* s) { return prependString8 ((const char8*)s); } - bool prependString8 (unsigned char* s) { return prependString8((const char8*)s); } - bool prependString8 (const unsigned char* s) { return prependString8 ((const char8*)s); } - bool prependString16 (char16 c); - bool prependString16 (char16* s) { return prependString16 ((const char16*)s); } - - bool operator+= (const char* s) { return appendString8 (s); } - bool operator+= (char c) { return appendString8 (c); } - bool operator+= (const char16* s) { return appendString16 (s); } - bool operator+= (char16 c) { return appendString16 (c); } - - bool operator= (const char* s) { flush (); return appendString8 (s); } - bool operator= (const char16* s) { flush (); return appendString16 (s); } - bool operator= (char8 c) { flush (); return appendString8 (c); } - bool operator= (char16 c) { flush (); return appendString16 (c); } - - void endString () {put (tchar (0));} - void endString8 () {put (char8 (0));} - void endString16 () {put (char16 (0));} - - bool makeHexString (String& result); - bool fromHexString (const char8* string); - - // conversion - operator void* () const { return (void*)buffer; } ///< conversion - inline tchar* str () const {return (tchar*)buffer;} ///< conversion - inline char8* str8 () const {return (char8*)buffer;} ///< conversion - inline char16* str16 () const {return (char16*)buffer;} ///< conversion - inline int8* int8Ptr () const {return (int8*)buffer;} ///< conversion - inline uint8* uint8Ptr () const {return (uint8*)buffer; } ///< conversion - inline int16* int16Ptr () const {return (int16*)buffer; } ///< conversion - inline uint16* uint16Ptr () const {return (uint16*)buffer; } ///< conversion - inline int32* int32Ptr () const {return (int32*)buffer; } ///< conversion - inline uint32* uint32Ptr () const {return (uint32*)buffer; } ///< conversion - inline float* floatPtr () const {return (float*)buffer; } ///< conversion - inline double* doublePtr () const {return (double*)buffer; } ///< conversion - inline char16* wcharPtr () const {return (char16*)buffer;} ///< conversion - - int8* operator + (uint32 i); ///< \return the internal Buffer's address plus the given offset i, zero if offset is out of range - - int32 operator ! () { return buffer == 0; } - - enum swapSize - { - kSwap16 = 2, - kSwap32 = 4, - kSwap64 = 8 - }; - bool swap (int16 swapSize); ///< swap all bytes of this Buffer by the given swapSize - static bool swap (void* buffer, uint32 bufferSize, int16 swapSize); ///< utility, swap given number of bytes in given buffer by the given swapSize - - void take (Buffer& from); ///< takes another Buffer's memory, frees the current Buffer's memory - int8* pass (); ///< pass the current Buffer's memory - - /** Converts a Buffer's content to UTF-16 from a given multi-byte code page, Buffer must contain char8 of given encoding. - \param[in] sourceCodePage : the actual code page of the Buffer's content - \return true, if the conversion was successful, else false - */ - virtual bool toWideString (int32 sourceCodePage); // Buffer contains char8 of given encoding -> utf16 - - /** Converts a Buffer's content from UTF-16 to a given multi-byte code page, Buffer must contain UTF-16 encoded characters. - \param[in] destCodePage : the desired code page to convert the Buffer's content to - \return true, if the conversion was successful, else false - */ - virtual bool toMultibyteString (int32 destCodePage); // Buffer contains utf16 -> char8 of given encoding - -//------------------------------------------------------------------------ -protected: - static const uint32 defaultDelta = 0x1000; // 0x1000 - - int8* buffer; - uint32 memSize; - uint32 fillSize; - uint32 delta; -}; - -inline bool Buffer::put (void* p, uint32 count) { return put ((const void*)p , count ); } -inline bool Buffer::put (uint8 * p, uint32 count) { return put ((const void*)p , count ); } -inline bool Buffer::put (char8* p, uint32 count) { return put ((const void*)p , count ); } -inline bool Buffer::put (const uint8* p, uint32 count) { return put ((const void*)p , count ); } -inline bool Buffer::put (const char8* p, uint32 count) { return put ((const void*)p , count ); } - -//------------------------------------------------------------------------ -inline bool Buffer::appendString (const tchar* s) -{ -#ifdef UNICODE - return appendString16 (s); -#else - return appendString8 (s); -#endif -} - -//------------------------------------------------------------------------ -inline bool Buffer::appendString (tchar* s) -{ -#ifdef UNICODE - return appendString16 (s); -#else - return appendString8 (s); -#endif -} - -//------------------------------------------------------------------------ -inline bool Buffer::prependString (const tchar* s) -{ -#ifdef UNICODE - return prependString16 (s); -#else - return prependString8 (s); -#endif -} - -//------------------------------------------------------------------------ -inline bool Buffer::prependString (tchar* s) -{ -#ifdef UNICODE - return prependString16 (s); -#else - return prependString8 (s); -#endif -} - -//------------------------------------------------------------------------ -inline bool Buffer::prependString (tchar c) -{ -#ifdef UNICODE - return prependString16 (c); -#else - return prependString8 (c); -#endif -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fbuffer.h +// Created by : Steinberg, 2008 +// Description : +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/ftypes.h" +#include + +namespace Steinberg { +class String; + +//------------------------------------------------------------------------ +/** Buffer. +@ingroup adt + +A Buffer is an object-oriented wrapper for a piece of memory. +It adds several utility functions, e.g. for managing the size of the Buffer, +appending or prepending values or strings to it. +Internally it uses the standard memory functions malloc(), free(), etc. */ +//------------------------------------------------------------------------ +class Buffer +{ +public: +//--------------------------------------------------------------------- + + /** Default constructor, allocates no memory at all. + */ + Buffer (); + + /** Constructor - creates a new Buffer with a given size and copies contents from optional memory pointer. + \param[in] b : optional memory pointer with the size of at least the given size + \param[in] size : the size of the new Buffer to be allocated, in bytes. + */ + Buffer (const void* b, uint32 size); + + /** Constructor - creates a new Buffer with a given size and fills it all with a given value. + \param[in] size : the size of the new Buffer to be allocated, in bytes. + \param[in] initVal : the initial value the Buffer will be completely filled with + */ + Buffer (uint32 size, uint8 initVal); + + /** Constructor - creates a new Buffer with a given size. + \param[in] size : the size of the new Buffer to be allocated, in bytes. + */ + Buffer (uint32 size); + + /** Copy constructor - creates a new Buffer from a given Buffer. + \param[in] buff : the Buffer from which all memory will be copied to the new one + */ + Buffer (const Buffer& buff); + + /** Destructor - deallocates the internal memory. + */ + ~Buffer (); + + /** Assignment operator - copies contents from a given Buffer and increases the size if necessary. + \param[in] buff : the Buffer from which all memory will be copied + */ + void operator = (const Buffer& buff); + + /** Comparison operator - copies contents from a given Buffer and increases the size if necessary. + \param[in] buff : the Buffer to be compared to + \return true, if the given Buffer's content is equal to this one, else false + */ + bool operator == (const Buffer& buff)const; + + uint32 getSize () const {return memSize;} ///< \return the actual size of the Buffer's memory, in bytes. + + /** Sets a new size for this Buffer, keeping as much content as possible. + \param[in] newSize : the new size for the Buffer, in bytes, newSize maybe zero + \return true, if the new size could be adapted, else false + */ + bool setSize (uint32 newSize); + + /** Increases the Buffer to the next block, block size given by delta. + \param[in] memSize : the new minimum size of the Buffer, newSize maybe zero + \return true, if the Buffer could be grown successfully, else false + */ + bool grow (uint32 memSize); + bool setMaxSize (uint32 size) {return grow (size);} ///< see \ref grow() + + void fillup (uint8 initVal = 0); ///< set from fillSize to end + uint32 getFillSize ()const {return fillSize;} ///< \return the actual fill size + bool setFillSize (uint32 c); ///< sets a new fill size, does not change any memory + inline void flush () {setFillSize (0);} ///< sets fill size to zero + bool truncateToFillSize (); ///< \return always true, truncates the size of the Buffer to the actual fill size + + bool isFull () const { return (fillSize == memSize); } ///< \return true, if all memory is filled up, else false + uint32 getFree () const { return (memSize - fillSize); }///< \return remaining memory + + inline void shiftStart (int32 amount) {return shiftAt (0, amount);} ///< moves all memory by given amount, grows the Buffer if necessary + void shiftAt (uint32 position, int32 amount); ///< moves memory starting at the given position + void move (int32 amount, uint8 initVal = 0); ///< shifts memory at start without growing the buffer, so data is lost and initialized with init val + + bool copy (uint32 from, uint32 to, uint32 bytes); ///< copies a number of bytes from one position to another, the size may be adapted + uint32 get (void* b, uint32 size); ///< copy to buffer from fillSize, and shift fillSize + + void setDelta (uint32 d) {delta = d;} ///< define the block size by which the Buffer grows, see \ref grow() + + bool put (uint8); ///< append value at end, grows Buffer if necessary + bool put (char16 c); ///< append value at end, grows Buffer if necessary + bool put (char c); ///< append value at end, grows Buffer if necessary + bool put (const void* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary + bool put (void* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary + bool put (uint8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary + bool put (char8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary + bool put (const uint8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary + bool put (const char8* , uint32 size); ///< append bytes from a given buffer, grows Buffer if necessary + bool put (const String&); ///< append String at end, grows Buffer if necessary + + void set (uint8 value); ///< fills complete Buffer with given value + + // strings ---------------- + bool appendString (const tchar* s); + bool appendString (tchar* s); + bool appendString (tchar c) { return put (c); } + + bool appendString8 (const char8* s); + bool appendString16 (const char16* s); + + bool appendString8 (char8* s) { return appendString8 ((const char8*)s); } + bool appendString8 (unsigned char* s) { return appendString8 ((const char8*)s); } + bool appendString8 (const unsigned char* s) { return appendString8 ((const char8*)s); } + + bool appendString8 (char8 c) { return put ((uint8)c); } + bool appendString8 (unsigned char c) { return put (c); } + bool appendString16 (char16 c) { return put (c); } + bool appendString16 (char16* s) { return appendString16 ((const char16*)s); } + + bool prependString (const tchar* s); + bool prependString (tchar* s); + bool prependString (tchar c); + + bool prependString8 (const char8* s); + bool prependString16 (const char16* s); + + bool prependString8 (char8 c); + bool prependString8 (unsigned char c) { return prependString8 ((char8)c); } + bool prependString8 (char8* s) { return prependString8 ((const char8*)s); } + bool prependString8 (unsigned char* s) { return prependString8((const char8*)s); } + bool prependString8 (const unsigned char* s) { return prependString8 ((const char8*)s); } + bool prependString16 (char16 c); + bool prependString16 (char16* s) { return prependString16 ((const char16*)s); } + + bool operator+= (const char* s) { return appendString8 (s); } + bool operator+= (char c) { return appendString8 (c); } + bool operator+= (const char16* s) { return appendString16 (s); } + bool operator+= (char16 c) { return appendString16 (c); } + + bool operator= (const char* s) { flush (); return appendString8 (s); } + bool operator= (const char16* s) { flush (); return appendString16 (s); } + bool operator= (char8 c) { flush (); return appendString8 (c); } + bool operator= (char16 c) { flush (); return appendString16 (c); } + + void endString () {put (tchar (0));} + void endString8 () {put (char8 (0));} + void endString16 () {put (char16 (0));} + + bool makeHexString (String& result); + bool fromHexString (const char8* string); + + // conversion + operator void* () const { return (void*)buffer; } ///< conversion + inline tchar* str () const {return (tchar*)buffer;} ///< conversion + inline char8* str8 () const {return (char8*)buffer;} ///< conversion + inline char16* str16 () const {return (char16*)buffer;} ///< conversion + inline int8* int8Ptr () const {return (int8*)buffer;} ///< conversion + inline uint8* uint8Ptr () const {return (uint8*)buffer; } ///< conversion + inline int16* int16Ptr () const {return (int16*)buffer; } ///< conversion + inline uint16* uint16Ptr () const {return (uint16*)buffer; } ///< conversion + inline int32* int32Ptr () const {return (int32*)buffer; } ///< conversion + inline uint32* uint32Ptr () const {return (uint32*)buffer; } ///< conversion + inline float* floatPtr () const {return (float*)buffer; } ///< conversion + inline double* doublePtr () const {return (double*)buffer; } ///< conversion + inline char16* wcharPtr () const {return (char16*)buffer;} ///< conversion + + int8* operator + (uint32 i); ///< \return the internal Buffer's address plus the given offset i, zero if offset is out of range + + int32 operator ! () { return buffer == 0; } + + enum swapSize + { + kSwap16 = 2, + kSwap32 = 4, + kSwap64 = 8 + }; + bool swap (int16 swapSize); ///< swap all bytes of this Buffer by the given swapSize + static bool swap (void* buffer, uint32 bufferSize, int16 swapSize); ///< utility, swap given number of bytes in given buffer by the given swapSize + + void take (Buffer& from); ///< takes another Buffer's memory, frees the current Buffer's memory + int8* pass (); ///< pass the current Buffer's memory + + /** Converts a Buffer's content to UTF-16 from a given multi-byte code page, Buffer must contain char8 of given encoding. + \param[in] sourceCodePage : the actual code page of the Buffer's content + \return true, if the conversion was successful, else false + */ + virtual bool toWideString (int32 sourceCodePage); // Buffer contains char8 of given encoding -> utf16 + + /** Converts a Buffer's content from UTF-16 to a given multi-byte code page, Buffer must contain UTF-16 encoded characters. + \param[in] destCodePage : the desired code page to convert the Buffer's content to + \return true, if the conversion was successful, else false + */ + virtual bool toMultibyteString (int32 destCodePage); // Buffer contains utf16 -> char8 of given encoding + +//------------------------------------------------------------------------ +protected: + static const uint32 defaultDelta = 0x1000; // 0x1000 + + int8* buffer; + uint32 memSize; + uint32 fillSize; + uint32 delta; +}; + +inline bool Buffer::put (void* p, uint32 count) { return put ((const void*)p , count ); } +inline bool Buffer::put (uint8 * p, uint32 count) { return put ((const void*)p , count ); } +inline bool Buffer::put (char8* p, uint32 count) { return put ((const void*)p , count ); } +inline bool Buffer::put (const uint8* p, uint32 count) { return put ((const void*)p , count ); } +inline bool Buffer::put (const char8* p, uint32 count) { return put ((const void*)p , count ); } + +//------------------------------------------------------------------------ +inline bool Buffer::appendString (const tchar* s) +{ +#ifdef UNICODE + return appendString16 (s); +#else + return appendString8 (s); +#endif +} + +//------------------------------------------------------------------------ +inline bool Buffer::appendString (tchar* s) +{ +#ifdef UNICODE + return appendString16 (s); +#else + return appendString8 (s); +#endif +} + +//------------------------------------------------------------------------ +inline bool Buffer::prependString (const tchar* s) +{ +#ifdef UNICODE + return prependString16 (s); +#else + return prependString8 (s); +#endif +} + +//------------------------------------------------------------------------ +inline bool Buffer::prependString (tchar* s) +{ +#ifdef UNICODE + return prependString16 (s); +#else + return prependString8 (s); +#endif +} + +//------------------------------------------------------------------------ +inline bool Buffer::prependString (tchar c) +{ +#ifdef UNICODE + return prependString16 (c); +#else + return prependString8 (c); +#endif +} + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp index 649375ef..7828add9 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.cpp @@ -1,314 +1,314 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fdebug.cpp -// Created by : Steinberg, 1995 -// Description : There are 2 levels of debugging messages: -// DEVELOPMENT During development -// RELEASE Program is shipping. -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#include "base/source/fdebug.h" - -#if DEVELOPMENT - -#include -#include -#include - -#if SMTG_OS_WINDOWS -#ifndef _WIN32_WINNT -#define _WIN32_WINNT 0x0400 -#endif -#include -#include -#define vsnprintf _vsnprintf -#define snprintf _snprintf - -#elif SMTG_OS_MACOS -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static bool AmIBeingDebugged (void); - -#define THREAD_ALLOC_WATCH 0 // check allocations on specific threads - -#if THREAD_ALLOC_WATCH -mach_port_t watchThreadID = 0; -#endif - -#endif - -AssertionHandler gAssertionHandler = nullptr; -AssertionHandler gPreAssertionHook = nullptr; -DebugPrintLogger gDebugPrintLogger = nullptr; - -namespace boost { -// Define the boost assertion handler to redirect to our assertion handler, -// otherwise it just calls abort(). Note that we don't need to include any boost -// headers for this, it just provides the handler. -void assertion_failed (char const* expr, char const* function, char const* file, long line) -{ -#if DEVELOPMENT - char message[512]; - snprintf (message, 512, "%s at %s, %s:%ld", expr, function, file, line); - if (gAssertionHandler) - { - FDebugBreak (message); - } - else - { - assert (!(const char *)message); - } -#endif -} -} - -//-------------------------------------------------------------------------- -static const int kDebugPrintfBufferSize = 10000; -static bool neverDebugger = false; // so I can switch it off in the debugger... - -//-------------------------------------------------------------------------- -static void printDebugString (const char* string) -{ - if (!string) - return; - - if (gDebugPrintLogger) - { - gDebugPrintLogger (string); - } - else - { -#if SMTG_OS_MACOS - fprintf (stderr, "%s", string); -#elif SMTG_OS_WINDOWS - OutputDebugStringA (string); -#endif - } -} - -//-------------------------------------------------------------------------- -// printf style debugging output -//-------------------------------------------------------------------------- -void FDebugPrint (const char* format, ...) -{ - char string[kDebugPrintfBufferSize]; - va_list marker; - va_start (marker, format); - vsnprintf (string, kDebugPrintfBufferSize, format, marker); - - printDebugString (string); -} - -#if SMTG_OS_WINDOWS -#define AmIBeingDebugged IsDebuggerPresent -#endif - -#if SMTG_OS_LINUX -#include -#include -#include -//-------------------------------------------------------------------------- -static inline bool AmIBeingDebugged () -{ - // TODO: check if GDB or LLDB is attached - return true; -} -#endif - -//-------------------------------------------------------------------------- -// printf style debugging output -//-------------------------------------------------------------------------- -void FDebugBreak (const char* format, ...) -{ - char string[kDebugPrintfBufferSize]; - va_list marker; - va_start (marker, format); - vsnprintf (string, kDebugPrintfBufferSize, format, marker); - - printDebugString (string); - - // The Pre-assertion hook is always called, even if we're not running in the debugger, - // so that we can log asserts without displaying them - if (gPreAssertionHook) - { - gPreAssertionHook (string); - } - - if (neverDebugger) - return; - if (AmIBeingDebugged ()) - { - // do not crash if no debugger present - // If there is an assertion handler defined then let this override the UI - // and tell us whether we want to break into the debugger - bool breakIntoDebugger = true; - if (gAssertionHandler && gAssertionHandler (string) == false) - { - breakIntoDebugger = false; - } - - if (breakIntoDebugger) - { -#if SMTG_OS_WINDOWS - __debugbreak (); // intrinsic version of DebugBreak() -#elif __ppc64__ || __ppc__ || __arm__ - kill (getpid (), SIGINT); -#elif __i386__ || __x86_64__ - { - __asm__ volatile ("int3"); - } -#endif - } - } -} - -//-------------------------------------------------------------------------- -void FPrintLastError (const char* file, int line) -{ -#if SMTG_OS_WINDOWS - LPVOID lpMessageBuffer; - FormatMessageA (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, - GetLastError (), MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPSTR)&lpMessageBuffer, 0, NULL); - FDebugPrint ("%s(%d) : %s\n", file, line, lpMessageBuffer); - LocalFree (lpMessageBuffer); -#endif - -#if SMTG_OS_MACOS -#if !__MACH__ - extern int errno; -#endif - FDebugPrint ("%s(%d) : Errno %d\n", file, line, errno); -#endif -} - -#if SMTG_OS_MACOS - -//------------------------------------------------------------------------ -void* operator new (size_t size, int, const char* file, int line) -{ -#if THREAD_ALLOC_WATCH - mach_port_t threadID = mach_thread_self (); - if (watchThreadID == threadID) - { - FDebugPrint ("Watched Thread Allocation : %s (Line:%d)\n", file ? file : "Unknown", line); - } -#endif - try - { - return ::operator new (size); - } - catch (std::bad_alloc exception) - { - FDebugPrint ("bad_alloc exception : %s (Line:%d)", file ? file : "Unknown", line); - } - return (void*)-1; -} - -//------------------------------------------------------------------------ -void* operator new[] (size_t size, int, const char* file, int line) -{ -#if THREAD_ALLOC_WATCH - mach_port_t threadID = mach_thread_self (); - if (watchThreadID == threadID) - { - FDebugPrint ("Watched Thread Allocation : %s (Line:%d)\n", file ? file : "Unknown", line); - } -#endif - try - { - return ::operator new[] (size); - } - catch (std::bad_alloc exception) - { - FDebugPrint ("bad_alloc exception : %s (Line:%d)", file ? file : "Unknown", line); - } - return (void*)-1; -} - -//------------------------------------------------------------------------ -void operator delete (void* p, int, const char* file, int line) -{ - ::operator delete (p); -} - -//------------------------------------------------------------------------ -void operator delete[] (void* p, int, const char* file, int line) -{ - ::operator delete[] (p); -} - -//------------------------------------------------------------------------ -// from Technical Q&A QA1361 (http://developer.apple.com/qa/qa2004/qa1361.html) -//------------------------------------------------------------------------ -bool AmIBeingDebugged (void) -// Returns true if the current process is being debugged (either -// running under the debugger or has a debugger attached post facto). -{ - int mib[4]; - struct kinfo_proc info; - size_t size; - - // Initialize the flags so that, if sysctl fails for some bizarre - // reason, we get a predictable result. - - info.kp_proc.p_flag = 0; - - // Initialize mib, which tells sysctl the info we want, in this case - // we're looking for information about a specific process ID. - - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_PID; - mib[3] = getpid (); - - // Call sysctl. - - size = sizeof (info); - sysctl (mib, sizeof (mib) / sizeof (*mib), &info, &size, NULL, 0); - - // We're being debugged if the P_TRACED flag is set. - return ((info.kp_proc.p_flag & P_TRACED) != 0); -} - -#endif // SMTG_OS_MACOS - -#endif // DEVELOPMENT +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fdebug.cpp +// Created by : Steinberg, 1995 +// Description : There are 2 levels of debugging messages: +// DEVELOPMENT During development +// RELEASE Program is shipping. +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include "base/source/fdebug.h" + +#if DEVELOPMENT + +#include +#include +#include + +#if SMTG_OS_WINDOWS +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0400 +#endif +#include +#include +#define vsnprintf _vsnprintf +#define snprintf _snprintf + +#elif SMTG_OS_MACOS +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static bool AmIBeingDebugged (void); + +#define THREAD_ALLOC_WATCH 0 // check allocations on specific threads + +#if THREAD_ALLOC_WATCH +mach_port_t watchThreadID = 0; +#endif + +#endif + +AssertionHandler gAssertionHandler = nullptr; +AssertionHandler gPreAssertionHook = nullptr; +DebugPrintLogger gDebugPrintLogger = nullptr; + +namespace boost { +// Define the boost assertion handler to redirect to our assertion handler, +// otherwise it just calls abort(). Note that we don't need to include any boost +// headers for this, it just provides the handler. +void assertion_failed (char const* expr, char const* function, char const* file, long line) +{ +#if DEVELOPMENT + char message[512]; + snprintf (message, 512, "%s at %s, %s:%ld", expr, function, file, line); + if (gAssertionHandler) + { + FDebugBreak (message); + } + else + { + assert (!(const char *)message); + } +#endif +} +} + +//-------------------------------------------------------------------------- +static const int kDebugPrintfBufferSize = 10000; +static bool neverDebugger = false; // so I can switch it off in the debugger... + +//-------------------------------------------------------------------------- +static void printDebugString (const char* string) +{ + if (!string) + return; + + if (gDebugPrintLogger) + { + gDebugPrintLogger (string); + } + else + { +#if SMTG_OS_MACOS + fprintf (stderr, "%s", string); +#elif SMTG_OS_WINDOWS + OutputDebugStringA (string); +#endif + } +} + +//-------------------------------------------------------------------------- +// printf style debugging output +//-------------------------------------------------------------------------- +void FDebugPrint (const char* format, ...) +{ + char string[kDebugPrintfBufferSize]; + va_list marker; + va_start (marker, format); + vsnprintf (string, kDebugPrintfBufferSize, format, marker); + + printDebugString (string); +} + +#if SMTG_OS_WINDOWS +#define AmIBeingDebugged IsDebuggerPresent +#endif + +#if SMTG_OS_LINUX +#include +#include +#include +//-------------------------------------------------------------------------- +static inline bool AmIBeingDebugged () +{ + // TODO: check if GDB or LLDB is attached + return true; +} +#endif + +//-------------------------------------------------------------------------- +// printf style debugging output +//-------------------------------------------------------------------------- +void FDebugBreak (const char* format, ...) +{ + char string[kDebugPrintfBufferSize]; + va_list marker; + va_start (marker, format); + vsnprintf (string, kDebugPrintfBufferSize, format, marker); + + printDebugString (string); + + // The Pre-assertion hook is always called, even if we're not running in the debugger, + // so that we can log asserts without displaying them + if (gPreAssertionHook) + { + gPreAssertionHook (string); + } + + if (neverDebugger) + return; + if (AmIBeingDebugged ()) + { + // do not crash if no debugger present + // If there is an assertion handler defined then let this override the UI + // and tell us whether we want to break into the debugger + bool breakIntoDebugger = true; + if (gAssertionHandler && gAssertionHandler (string) == false) + { + breakIntoDebugger = false; + } + + if (breakIntoDebugger) + { +#if SMTG_OS_WINDOWS + __debugbreak (); // intrinsic version of DebugBreak() +#elif __ppc64__ || __ppc__ || __arm__ + kill (getpid (), SIGINT); +#elif __i386__ || __x86_64__ + { + __asm__ volatile ("int3"); + } +#endif + } + } +} + +//-------------------------------------------------------------------------- +void FPrintLastError (const char* file, int line) +{ +#if SMTG_OS_WINDOWS + LPVOID lpMessageBuffer; + FormatMessageA (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, + GetLastError (), MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPSTR)&lpMessageBuffer, 0, NULL); + FDebugPrint ("%s(%d) : %s\n", file, line, lpMessageBuffer); + LocalFree (lpMessageBuffer); +#endif + +#if SMTG_OS_MACOS +#if !__MACH__ + extern int errno; +#endif + FDebugPrint ("%s(%d) : Errno %d\n", file, line, errno); +#endif +} + +#if SMTG_OS_MACOS + +//------------------------------------------------------------------------ +void* operator new (size_t size, int, const char* file, int line) +{ +#if THREAD_ALLOC_WATCH + mach_port_t threadID = mach_thread_self (); + if (watchThreadID == threadID) + { + FDebugPrint ("Watched Thread Allocation : %s (Line:%d)\n", file ? file : "Unknown", line); + } +#endif + try + { + return ::operator new (size); + } + catch (std::bad_alloc exception) + { + FDebugPrint ("bad_alloc exception : %s (Line:%d)", file ? file : "Unknown", line); + } + return (void*)-1; +} + +//------------------------------------------------------------------------ +void* operator new[] (size_t size, int, const char* file, int line) +{ +#if THREAD_ALLOC_WATCH + mach_port_t threadID = mach_thread_self (); + if (watchThreadID == threadID) + { + FDebugPrint ("Watched Thread Allocation : %s (Line:%d)\n", file ? file : "Unknown", line); + } +#endif + try + { + return ::operator new[] (size); + } + catch (std::bad_alloc exception) + { + FDebugPrint ("bad_alloc exception : %s (Line:%d)", file ? file : "Unknown", line); + } + return (void*)-1; +} + +//------------------------------------------------------------------------ +void operator delete (void* p, int, const char* file, int line) +{ + ::operator delete (p); +} + +//------------------------------------------------------------------------ +void operator delete[] (void* p, int, const char* file, int line) +{ + ::operator delete[] (p); +} + +//------------------------------------------------------------------------ +// from Technical Q&A QA1361 (http://developer.apple.com/qa/qa2004/qa1361.html) +//------------------------------------------------------------------------ +bool AmIBeingDebugged (void) +// Returns true if the current process is being debugged (either +// running under the debugger or has a debugger attached post facto). +{ + int mib[4]; + struct kinfo_proc info; + size_t size; + + // Initialize the flags so that, if sysctl fails for some bizarre + // reason, we get a predictable result. + + info.kp_proc.p_flag = 0; + + // Initialize mib, which tells sysctl the info we want, in this case + // we're looking for information about a specific process ID. + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = getpid (); + + // Call sysctl. + + size = sizeof (info); + sysctl (mib, sizeof (mib) / sizeof (*mib), &info, &size, NULL, 0); + + // We're being debugged if the P_TRACED flag is set. + return ((info.kp_proc.p_flag & P_TRACED) != 0); +} + +#endif // SMTG_OS_MACOS + +#endif // DEVELOPMENT diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h index f2b9805e..e61f0aac 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fdebug.h @@ -1,233 +1,233 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fdebug.h -// Created by : Steinberg, 1995 -// Description : There are 2 levels of debugging messages: -// DEVELOPMENT During development -// RELEASE Program is shipping. -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- -/** @file base/source/fdebug.h - Debugging tools. - - There are 2 levels of debugging messages: - - DEVELOPMENT - - During development - - RELEASE - - Program is shipping. -*/ -//----------------------------------------------------------------------------- -#pragma once - -#include "pluginterfaces/base/ftypes.h" -#include - -#if SMTG_OS_MACOS -#include -#endif - -//----------------------------------------------------------------------------- -// development / release -//----------------------------------------------------------------------------- -#if !defined (DEVELOPMENT) && !defined (RELEASE) - #ifdef _DEBUG - #define DEVELOPMENT 1 - #elif defined (NDEBUG) - #define RELEASE 1 - #else - #error DEVELOPMENT, RELEASE, _DEBUG, or NDEBUG must be defined! - #endif -#endif - -//----------------------------------------------------------------------------- -#if SMTG_OS_WINDOWS - -/** Disable compiler warning: - * C4291: "No matching operator delete found; memory will not be freed if initialization throws an - * exception. A placement new is used for which there is no placement delete." */ -#if DEVELOPMENT && defined(_MSC_VER) -#pragma warning(disable : 4291) -#pragma warning(disable : 4985) -#endif - -#endif // SMTG_OS_WINDOWS - -#if DEVELOPMENT -//----------------------------------------------------------------------------- -/** If "f" is not true and a debugger is present, send an error string to the debugger for display - and cause a breakpoint exception to occur in the current process. SMTG_ASSERT is removed - completely in RELEASE configuration. So do not pass methods calls to this macro that are expected - to exist in the RELEASE build (for method calls that need to be present in a RELEASE build, use - the VERIFY macros instead)*/ -#define SMTG_ASSERT(f) \ - if (!(f)) \ - FDebugBreak ("%s(%d) : Assert failed: %s\n", __FILE__, __LINE__, #f); - -/** Send "comment" string to the debugger for display. */ -#define SMTG_WARNING(comment) FDebugPrint ("%s(%d) : %s\n", __FILE__, __LINE__, comment); - -/** Send the last error string to the debugger for display. */ -#define SMTG_PRINTSYSERROR FPrintLastError (__FILE__, __LINE__); - -/** If a debugger is present, send string "s" to the debugger for display and - cause a breakpoint exception to occur in the current process. */ -#define SMTG_DEBUGSTR(s) FDebugBreak (s); - -/** Use VERIFY for calling methods "f" having a bool result (expecting them to return 'true') - The call of "f" is not removed in RELEASE builds, only the result verification. eg: SMTG_VERIFY - (isValid ()) */ -#define SMTG_VERIFY(f) SMTG_ASSERT (f) - -/** Use VERIFY_IS for calling methods "f" and expect a certain result "r". - The call of "f" is not removed in RELEASE builds, only the result verification. eg: - SMTG_VERIFY_IS (callMethod (), kResultOK) */ -#define SMTG_VERIFY_IS(f, r) \ - if ((f) != (r)) \ - FDebugBreak ("%s(%d) : Assert failed: %s\n", __FILE__, __LINE__, #f); - -/** Use VERIFY_NOT for calling methods "f" and expect the result to be anything else but "r". - The call of "f" is not removed in RELEASE builds, only the result verification. eg: - SMTG_VERIFY_NOT (callMethod (), kResultError) */ -#define SMTG_VERIFY_NOT(f, r) \ - if ((f) == (r)) \ - FDebugBreak ("%s(%d) : Assert failed: %s\n", __FILE__, __LINE__, #f); - -/** @name Shortcut macros for sending strings to the debugger for display. - First parameter is always the format string (printf like). -*/ - -///@{ -#define DBPRT0(a) FDebugPrint (a); -#define DBPRT1(a, b) FDebugPrint (a, b); -#define DBPRT2(a, b, c) FDebugPrint (a, b, c); -#define DBPRT3(a, b, c, d) FDebugPrint (a, b, c, d); -#define DBPRT4(a, b, c, d, e) FDebugPrint (a, b, c, d, e); -#define DBPRT5(a, b, c, d, e, f) FDebugPrint (a, b, c, d, e, f); -///@} - -/** @name Helper functions for the above defined macros. - - You shouldn't use them directly (if you do so, don't forget "#if DEVELOPMENT")! - It is recommended to use the macros instead. -*/ -///@{ -void FDebugPrint (const char* format, ...); -void FDebugBreak (const char* format, ...); -void FPrintLastError (const char* file, int line); -///@} - -/** @name Provide a custom assertion handler and debug print handler, eg - so that we can provide an assert with a custom dialog, or redirect - the debug output to a file or stream. -*/ -///@{ -typedef bool (*AssertionHandler) (const char* message); -extern AssertionHandler gAssertionHandler; -extern AssertionHandler gPreAssertionHook; -typedef void (*DebugPrintLogger) (const char* message); -extern DebugPrintLogger gDebugPrintLogger; -///@} - -/** Definition of memory allocation macros: - Use "NEW" to allocate storage for individual objects. - Use "NEWVEC" to allocate storage for an array of objects. */ -#if SMTG_OS_MACOS -void* operator new (size_t, int, const char*, int); -void* operator new[] (size_t, int, const char*, int); -void operator delete (void* p, int, const char* file, int line); -void operator delete[] (void* p, int, const char* file, int line); -#ifndef NEW -#define NEW new (1, __FILE__, __LINE__) -#define NEWVEC new (1, __FILE__, __LINE__) -#endif - -#define DEBUG_NEW DEBUG_NEW_LEAKS - -#elif SMTG_OS_WINDOWS && defined(_MSC_VER) -#ifndef NEW -void* operator new (size_t, int, const char*, int); -#define NEW new (1, __FILE__, __LINE__) -#define NEWVEC new (1, __FILE__, __LINE__) -#endif - -#else -#ifndef NEW -#define NEW new -#define NEWVEC new -#endif -#endif - -#else -/** if DEVELOPMENT is not set, these macros will do nothing. */ -#define SMTG_ASSERT(f) -#define SMTG_WARNING(s) -#define SMTG_PRINTSYSERROR -#define SMTG_DEBUGSTR(s) -#define SMTG_VERIFY(f) f; -#define SMTG_VERIFY_IS(f, r) f; -#define SMTG_VERIFY_NOT(f, r) f; - -#define DBPRT0(a) -#define DBPRT1(a, b) -#define DBPRT2(a, b, c) -#define DBPRT3(a, b, c, d) -#define DBPRT4(a, b, c, d, e) -#define DBPRT5(a, b, c, d, e, f) - -#ifndef NEW -#define NEW new -#define NEWVEC new - -#endif -#endif - -#if SMTG_CPPUNIT_TESTING -#define SMTG_IS_TEST true -#else -#define SMTG_IS_TEST false -#endif - -#if !SMTG_RENAME_ASSERT -#if SMTG_OS_WINDOWS -#undef ASSERT -#endif - -#define ASSERT SMTG_ASSERT -#define WARNING SMTG_WARNING -#define DEBUGSTR SMTG_DEBUGSTR -#define VERIFY SMTG_VERIFY -#define VERIFY_IS SMTG_VERIFY_IS -#define VERIFY_NOT SMTG_VERIFY_NOT -#define PRINTSYSERROR SMTG_PRINTSYSERROR -#endif +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fdebug.h +// Created by : Steinberg, 1995 +// Description : There are 2 levels of debugging messages: +// DEVELOPMENT During development +// RELEASE Program is shipping. +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +/** @file base/source/fdebug.h + Debugging tools. + + There are 2 levels of debugging messages: + - DEVELOPMENT + - During development + - RELEASE + - Program is shipping. +*/ +//----------------------------------------------------------------------------- +#pragma once + +#include "pluginterfaces/base/ftypes.h" +#include + +#if SMTG_OS_MACOS +#include +#endif + +//----------------------------------------------------------------------------- +// development / release +//----------------------------------------------------------------------------- +#if !defined (DEVELOPMENT) && !defined (RELEASE) + #ifdef _DEBUG + #define DEVELOPMENT 1 + #elif defined (NDEBUG) + #define RELEASE 1 + #else + #error DEVELOPMENT, RELEASE, _DEBUG, or NDEBUG must be defined! + #endif +#endif + +//----------------------------------------------------------------------------- +#if SMTG_OS_WINDOWS + +/** Disable compiler warning: + * C4291: "No matching operator delete found; memory will not be freed if initialization throws an + * exception. A placement new is used for which there is no placement delete." */ +#if DEVELOPMENT && defined(_MSC_VER) +#pragma warning(disable : 4291) +#pragma warning(disable : 4985) +#endif + +#endif // SMTG_OS_WINDOWS + +#if DEVELOPMENT +//----------------------------------------------------------------------------- +/** If "f" is not true and a debugger is present, send an error string to the debugger for display + and cause a breakpoint exception to occur in the current process. SMTG_ASSERT is removed + completely in RELEASE configuration. So do not pass methods calls to this macro that are expected + to exist in the RELEASE build (for method calls that need to be present in a RELEASE build, use + the VERIFY macros instead)*/ +#define SMTG_ASSERT(f) \ + if (!(f)) \ + FDebugBreak ("%s(%d) : Assert failed: %s\n", __FILE__, __LINE__, #f); + +/** Send "comment" string to the debugger for display. */ +#define SMTG_WARNING(comment) FDebugPrint ("%s(%d) : %s\n", __FILE__, __LINE__, comment); + +/** Send the last error string to the debugger for display. */ +#define SMTG_PRINTSYSERROR FPrintLastError (__FILE__, __LINE__); + +/** If a debugger is present, send string "s" to the debugger for display and + cause a breakpoint exception to occur in the current process. */ +#define SMTG_DEBUGSTR(s) FDebugBreak (s); + +/** Use VERIFY for calling methods "f" having a bool result (expecting them to return 'true') + The call of "f" is not removed in RELEASE builds, only the result verification. eg: SMTG_VERIFY + (isValid ()) */ +#define SMTG_VERIFY(f) SMTG_ASSERT (f) + +/** Use VERIFY_IS for calling methods "f" and expect a certain result "r". + The call of "f" is not removed in RELEASE builds, only the result verification. eg: + SMTG_VERIFY_IS (callMethod (), kResultOK) */ +#define SMTG_VERIFY_IS(f, r) \ + if ((f) != (r)) \ + FDebugBreak ("%s(%d) : Assert failed: %s\n", __FILE__, __LINE__, #f); + +/** Use VERIFY_NOT for calling methods "f" and expect the result to be anything else but "r". + The call of "f" is not removed in RELEASE builds, only the result verification. eg: + SMTG_VERIFY_NOT (callMethod (), kResultError) */ +#define SMTG_VERIFY_NOT(f, r) \ + if ((f) == (r)) \ + FDebugBreak ("%s(%d) : Assert failed: %s\n", __FILE__, __LINE__, #f); + +/** @name Shortcut macros for sending strings to the debugger for display. + First parameter is always the format string (printf like). +*/ + +///@{ +#define DBPRT0(a) FDebugPrint (a); +#define DBPRT1(a, b) FDebugPrint (a, b); +#define DBPRT2(a, b, c) FDebugPrint (a, b, c); +#define DBPRT3(a, b, c, d) FDebugPrint (a, b, c, d); +#define DBPRT4(a, b, c, d, e) FDebugPrint (a, b, c, d, e); +#define DBPRT5(a, b, c, d, e, f) FDebugPrint (a, b, c, d, e, f); +///@} + +/** @name Helper functions for the above defined macros. + + You shouldn't use them directly (if you do so, don't forget "#if DEVELOPMENT")! + It is recommended to use the macros instead. +*/ +///@{ +void FDebugPrint (const char* format, ...); +void FDebugBreak (const char* format, ...); +void FPrintLastError (const char* file, int line); +///@} + +/** @name Provide a custom assertion handler and debug print handler, eg + so that we can provide an assert with a custom dialog, or redirect + the debug output to a file or stream. +*/ +///@{ +typedef bool (*AssertionHandler) (const char* message); +extern AssertionHandler gAssertionHandler; +extern AssertionHandler gPreAssertionHook; +typedef void (*DebugPrintLogger) (const char* message); +extern DebugPrintLogger gDebugPrintLogger; +///@} + +/** Definition of memory allocation macros: + Use "NEW" to allocate storage for individual objects. + Use "NEWVEC" to allocate storage for an array of objects. */ +#if SMTG_OS_MACOS +void* operator new (size_t, int, const char*, int); +void* operator new[] (size_t, int, const char*, int); +void operator delete (void* p, int, const char* file, int line); +void operator delete[] (void* p, int, const char* file, int line); +#ifndef NEW +#define NEW new (1, __FILE__, __LINE__) +#define NEWVEC new (1, __FILE__, __LINE__) +#endif + +#define DEBUG_NEW DEBUG_NEW_LEAKS + +#elif SMTG_OS_WINDOWS && defined(_MSC_VER) +#ifndef NEW +void* operator new (size_t, int, const char*, int); +#define NEW new (1, __FILE__, __LINE__) +#define NEWVEC new (1, __FILE__, __LINE__) +#endif + +#else +#ifndef NEW +#define NEW new +#define NEWVEC new +#endif +#endif + +#else +/** if DEVELOPMENT is not set, these macros will do nothing. */ +#define SMTG_ASSERT(f) +#define SMTG_WARNING(s) +#define SMTG_PRINTSYSERROR +#define SMTG_DEBUGSTR(s) +#define SMTG_VERIFY(f) f; +#define SMTG_VERIFY_IS(f, r) f; +#define SMTG_VERIFY_NOT(f, r) f; + +#define DBPRT0(a) +#define DBPRT1(a, b) +#define DBPRT2(a, b, c) +#define DBPRT3(a, b, c, d) +#define DBPRT4(a, b, c, d, e) +#define DBPRT5(a, b, c, d, e, f) + +#ifndef NEW +#define NEW new +#define NEWVEC new + +#endif +#endif + +#if SMTG_CPPUNIT_TESTING +#define SMTG_IS_TEST true +#else +#define SMTG_IS_TEST false +#endif + +#if !SMTG_RENAME_ASSERT +#if SMTG_OS_WINDOWS +#undef ASSERT +#endif + +#define ASSERT SMTG_ASSERT +#define WARNING SMTG_WARNING +#define DEBUGSTR SMTG_DEBUGSTR +#define VERIFY SMTG_VERIFY +#define VERIFY_IS SMTG_VERIFY_IS +#define VERIFY_NOT SMTG_VERIFY_NOT +#define PRINTSYSERROR SMTG_PRINTSYSERROR +#endif diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp index 89240b74..7e83d3f9 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.cpp @@ -1,184 +1,184 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fobject.cpp -// Created by : Steinberg, 2008 -// Description : Basic Object implementing FUnknown -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#include "base/source/fobject.h" -#include "base/thread/include/flock.h" - -#include - -namespace Steinberg { - -IUpdateHandler* FObject::gUpdateHandler = 0; - -//------------------------------------------------------------------------ -const FUID FObject::iid; - -//------------------------------------------------------------------------ -struct FObjectIIDInitializer -{ - // the object iid is always generated so that different components - // only can cast to their own objects - // this initializer must be after the definition of FObject::iid, otherwise - // the default constructor of FUID will clear the generated iid - FObjectIIDInitializer () - { - const_cast (FObject::iid).generate (); - } -} gFObjectIidInitializer; - -//------------------------------------------------------------------------ -uint32 PLUGIN_API FObject::addRef () -{ - return FUnknownPrivate::atomicAdd (refCount, 1); -} - -//------------------------------------------------------------------------ -uint32 PLUGIN_API FObject::release () -{ - if (FUnknownPrivate::atomicAdd (refCount, -1) == 0) - { - refCount = -1000; - delete this; - return 0; - } - return refCount; -} - -//------------------------------------------------------------------------ -tresult PLUGIN_API FObject::queryInterface (const TUID _iid, void** obj) -{ - QUERY_INTERFACE (_iid, obj, FUnknown::iid, FUnknown) - QUERY_INTERFACE (_iid, obj, IDependent::iid, IDependent) - QUERY_INTERFACE (_iid, obj, FObject::iid, FObject) - *obj = 0; - return kNoInterface; -} - -//------------------------------------------------------------------------ -void FObject::addDependent (IDependent* dep) -{ - if (gUpdateHandler) - gUpdateHandler->addDependent (unknownCast (), dep); -} - -//------------------------------------------------------------------------ -void FObject::removeDependent (IDependent* dep) -{ - if (gUpdateHandler) - gUpdateHandler->removeDependent (unknownCast (), dep); -} - -//------------------------------------------------------------------------ -void FObject::changed (int32 msg) -{ - if (gUpdateHandler) - gUpdateHandler->triggerUpdates (unknownCast (), msg); - else - updateDone (msg); -} - -//------------------------------------------------------------------------ -void FObject::deferUpdate (int32 msg) -{ - if (gUpdateHandler) - gUpdateHandler->deferUpdates (unknownCast (), msg); - else - updateDone (msg); -} - -//------------------------------------------------------------------------ -/** Automatic creation and destruction of singleton instances. */ -//------------------------------------------------------------------------ -namespace Singleton -{ - typedef std::vector ObjectVector; - ObjectVector* singletonInstances = 0; - bool singletonsTerminated = false; - Steinberg::Base::Thread::FLock* singletonsLock; - - bool isTerminated () {return singletonsTerminated;} - - void lockRegister () - { - if (!singletonsLock) // assume first call not from multiple threads - singletonsLock = NEW Steinberg::Base::Thread::FLock; - singletonsLock->lock (); - } - void unlockRegister () - { - singletonsLock->unlock (); - } - - void registerInstance (FObject** o) - { - SMTG_ASSERT (singletonsTerminated == false) - if (singletonsTerminated == false) - { - if (singletonInstances == 0) - singletonInstances = NEW std::vector; - singletonInstances->push_back (o); - } - } - - struct Deleter - { - ~Deleter () - { - singletonsTerminated = true; - if (singletonInstances) - { - for (ObjectVector::iterator it = singletonInstances->begin (), - end = singletonInstances->end (); - it != end; ++it) - { - FObject** obj = (*it); - (*obj)->release (); - *obj = 0; - obj = 0; - } - - delete singletonInstances; - singletonInstances = 0; - } - delete singletonsLock; - singletonsLock = 0; - } - } deleter; -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fobject.cpp +// Created by : Steinberg, 2008 +// Description : Basic Object implementing FUnknown +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include "base/source/fobject.h" +#include "base/thread/include/flock.h" + +#include + +namespace Steinberg { + +IUpdateHandler* FObject::gUpdateHandler = 0; + +//------------------------------------------------------------------------ +const FUID FObject::iid; + +//------------------------------------------------------------------------ +struct FObjectIIDInitializer +{ + // the object iid is always generated so that different components + // only can cast to their own objects + // this initializer must be after the definition of FObject::iid, otherwise + // the default constructor of FUID will clear the generated iid + FObjectIIDInitializer () + { + const_cast (FObject::iid).generate (); + } +} gFObjectIidInitializer; + +//------------------------------------------------------------------------ +uint32 PLUGIN_API FObject::addRef () +{ + return FUnknownPrivate::atomicAdd (refCount, 1); +} + +//------------------------------------------------------------------------ +uint32 PLUGIN_API FObject::release () +{ + if (FUnknownPrivate::atomicAdd (refCount, -1) == 0) + { + refCount = -1000; + delete this; + return 0; + } + return refCount; +} + +//------------------------------------------------------------------------ +tresult PLUGIN_API FObject::queryInterface (const TUID _iid, void** obj) +{ + QUERY_INTERFACE (_iid, obj, FUnknown::iid, FUnknown) + QUERY_INTERFACE (_iid, obj, IDependent::iid, IDependent) + QUERY_INTERFACE (_iid, obj, FObject::iid, FObject) + *obj = 0; + return kNoInterface; +} + +//------------------------------------------------------------------------ +void FObject::addDependent (IDependent* dep) +{ + if (gUpdateHandler) + gUpdateHandler->addDependent (unknownCast (), dep); +} + +//------------------------------------------------------------------------ +void FObject::removeDependent (IDependent* dep) +{ + if (gUpdateHandler) + gUpdateHandler->removeDependent (unknownCast (), dep); +} + +//------------------------------------------------------------------------ +void FObject::changed (int32 msg) +{ + if (gUpdateHandler) + gUpdateHandler->triggerUpdates (unknownCast (), msg); + else + updateDone (msg); +} + +//------------------------------------------------------------------------ +void FObject::deferUpdate (int32 msg) +{ + if (gUpdateHandler) + gUpdateHandler->deferUpdates (unknownCast (), msg); + else + updateDone (msg); +} + +//------------------------------------------------------------------------ +/** Automatic creation and destruction of singleton instances. */ +//------------------------------------------------------------------------ +namespace Singleton +{ + typedef std::vector ObjectVector; + ObjectVector* singletonInstances = 0; + bool singletonsTerminated = false; + Steinberg::Base::Thread::FLock* singletonsLock; + + bool isTerminated () {return singletonsTerminated;} + + void lockRegister () + { + if (!singletonsLock) // assume first call not from multiple threads + singletonsLock = NEW Steinberg::Base::Thread::FLock; + singletonsLock->lock (); + } + void unlockRegister () + { + singletonsLock->unlock (); + } + + void registerInstance (FObject** o) + { + SMTG_ASSERT (singletonsTerminated == false) + if (singletonsTerminated == false) + { + if (singletonInstances == 0) + singletonInstances = NEW std::vector; + singletonInstances->push_back (o); + } + } + + struct Deleter + { + ~Deleter () + { + singletonsTerminated = true; + if (singletonInstances) + { + for (ObjectVector::iterator it = singletonInstances->begin (), + end = singletonInstances->end (); + it != end; ++it) + { + FObject** obj = (*it); + (*obj)->release (); + *obj = 0; + obj = 0; + } + + delete singletonInstances; + singletonInstances = 0; + } + delete singletonsLock; + singletonsLock = 0; + } + } deleter; +} + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h index c470846a..67b0af12 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fobject.h @@ -1,518 +1,518 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fobject.h -// Created by : Steinberg, 2008 -// Description : Basic Object implementing FUnknown -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -//------------------------------------------------------------------------ -/** @file base/source/fobject.h - Basic Object implementing FUnknown. */ -//------------------------------------------------------------------------ -#pragma once - -#include "pluginterfaces/base/funknown.h" -#include "pluginterfaces/base/iupdatehandler.h" -//#include "base/source/basefwd.h" -#include "base/source/fdebug.h" // NEW - - -namespace Steinberg { - -//---------------------------------- - -typedef FIDString FClassID; - -//------------------------------------------------------------------------ -// Basic FObject - implements FUnknown + IDependent -//------------------------------------------------------------------------ -/** Implements FUnknown and IDependent. - -FObject is a polymorphic class that implements IDependent (of SKI module) -and therefore derived from FUnknown, which is the most abstract base class of all. - -All COM-like virtual methods of FUnknown such as queryInterface(), addRef(), release() -are implemented here. On top of that, dependency-related methods are implemented too. - -Pointer casting is done via the template methods FCast, either FObject to FObject or -FUnknown to FObject. - -FObject supports a new singleton concept, therefore these objects are deleted automatically upon program termination. - -- Runtime type information: An object can be queried at runtime, of what class -it is. To do this correctly, every class must override some methods. This -is simplified by using the OBJ_METHODS macros - - -@see - - FUnknown - - IDependent - - IUpdateHandler -*/ -//------------------------------------------------------------------------ -class FObject : public IDependent -{ -public: - //------------------------------------------------------------------------ - FObject () : refCount (1) {} ///< default constructor... - FObject (const FObject&) : refCount (1) {} ///< overloaded constructor... - virtual ~FObject () {} ///< destructor... - FObject& operator = (const FObject&) { return *this; } ///< overloads operator "=" as the reference assignment - - // OBJECT_METHODS - static inline FClassID getFClassID () {return "FObject";} ///< return Class ID as an ASCII string (statically) - virtual FClassID isA () const {return FObject::getFClassID ();} ///< a local alternative to getFClassID () - virtual bool isA (FClassID s) const {return isTypeOf (s, false);} ///< evaluates if the passed ID is of the FObject type - virtual bool isTypeOf (FClassID s, bool /*askBaseClass*/ = true) const {return classIDsEqual (s, FObject::getFClassID ());} - ///< evaluates if the passed ID is of the FObject type - int32 getRefCount () {return refCount;} ///< returns the current interface reference count - FUnknown* unknownCast () {return this;} ///< get FUnknown interface from object - - // FUnknown - virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) SMTG_OVERRIDE; ///< please refer to FUnknown::queryInterface () - virtual uint32 PLUGIN_API addRef () SMTG_OVERRIDE; ///< please refer to FUnknown::addref () - virtual uint32 PLUGIN_API release () SMTG_OVERRIDE; ///< please refer to FUnknown::release () - - // IDependent - virtual void PLUGIN_API update (FUnknown* /*changedUnknown*/, int32 /*message*/) SMTG_OVERRIDE {} - ///< empty virtual method that should be overridden by derived classes for data updates upon changes - // IDependency - virtual void addDependent (IDependent* dep); ///< adds dependency to the object - virtual void removeDependent (IDependent* dep); ///< removes dependency from the object - virtual void changed (int32 msg = kChanged); ///< Inform all dependents, that the object has changed. - virtual void deferUpdate (int32 msg = kChanged); ///< Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates). - virtual void updateDone (int32 /* msg */) {} ///< empty virtual method that should be overridden by derived classes - virtual bool isEqualInstance (FUnknown* d) {return this == d;} - - static void setUpdateHandler (IUpdateHandler* handler) {gUpdateHandler = handler;} ///< set method for the local attribute - static IUpdateHandler* getUpdateHandler () {return gUpdateHandler;} ///< get method for the local attribute - - // static helper functions - static inline bool classIDsEqual (FClassID ci1, FClassID ci2); ///< compares (evaluates) 2 class IDs - static inline FObject* unknownToObject (FUnknown* unknown); ///< pointer conversion from FUnknown to FObject - - /** Special UID that is used to cast an FUnknown pointer to a FObject */ - static const FUID iid; - -//------------------------------------------------------------------------ -protected: - int32 refCount; ///< COM-model local reference count - - static IUpdateHandler* gUpdateHandler; -}; - - -//------------------------------------------------------------------------ -// conversion from FUnknown to FObject -//------------------------------------------------------------------------ -inline FObject* FObject::unknownToObject (FUnknown* unknown) -{ - FObject* object = 0; - if (unknown) - { - unknown->queryInterface (FObject::iid, (void**)&object); - if (object) - object->release (); // queryInterface has added ref - } - return object; -} - -//------------------------------------------------------------------------ -inline bool FObject::classIDsEqual (FClassID ci1, FClassID ci2) -{ - return (ci1 && ci2) ? (strcmp (ci1, ci2) == 0) : false; -} - -//----------------------------------------------------------------------- -/** FCast overload 1 - FObject to FObject */ -//----------------------------------------------------------------------- -template -inline C* FCast (const FObject* object) -{ - if (object && object->isTypeOf (C::getFClassID (), true)) - return (C*) object; - return 0; -} - -//----------------------------------------------------------------------- -/** FCast overload 2 - FUnknown to FObject */ -//----------------------------------------------------------------------- -template -inline C* FCast (FUnknown* unknown) -{ - FObject* object = FObject::unknownToObject (unknown); - return FCast (object); -} - -//----------------------------------------------------------------------- -/** FUCast - casting from FUnknown to Interface */ -//----------------------------------------------------------------------- -template -inline C* FUCast (FObject* object) -{ - return FUnknownPtr (object ? object->unknownCast () : 0); -} - -template -inline C* FUCast (FUnknown* object) -{ - return FUnknownPtr (object); -} - -//------------------------------------------------------------------------ -/** @name Convenience methods that call release or delete respectively - on a pointer if it is non-zero, and then set the pointer to zero. - Note: you should prefer using IPtr or OPtr instead of these methods - whenever possible. - Examples: - @code - ~Foo () - { - // instead of ... - if (somePointer) - { - somePointer->release (); - somePointer = 0; - } - // ... just being lazy I write - SafeRelease (somePointer) - } - @endcode -*/ -///@{ -//----------------------------------------------------------------------- -template -inline void SafeRelease (I *& ptr) -{ - if (ptr) - { - ptr->release (); - ptr = 0; - } -} - -//----------------------------------------------------------------------- -template -inline void SafeRelease (IPtr & ptr) -{ - ptr = 0; -} - - -//----------------------------------------------------------------------- -template -inline void SafeDelete (T *& ptr) -{ - if (ptr) - { - delete ptr; - ptr = 0; - } -} -///@} - -//----------------------------------------------------------------------- -template -inline void AssignShared (T*& dest, T* newPtr) -{ - if (dest == newPtr) - return; - - if (dest) - dest->release (); - dest = newPtr; - if (dest) - dest->addRef (); -} - -//----------------------------------------------------------------------- -template -inline void AssignSharedDependent (IDependent* _this, T*& dest, T* newPtr) -{ - if (dest == newPtr) - return; - - if (dest) - dest->removeDependent (_this); - AssignShared (dest, newPtr); - if (dest) - dest->addDependent (_this); -} - -//----------------------------------------------------------------------- -template -inline void AssignSharedDependent (IDependent* _this, IPtr& dest, T* newPtr) -{ - if (dest == newPtr) - return; - - if (dest) - dest->removeDependent (_this); - dest = newPtr; - if (dest) - dest->addDependent (_this); -} - -//----------------------------------------------------------------------- -template -inline void SafeReleaseDependent (IDependent* _this, T*& dest) -{ - if (dest) - dest->removeDependent (_this); - SafeRelease (dest); -} - -//----------------------------------------------------------------------- -template -inline void SafeReleaseDependent (IDependent* _this, IPtr& dest) -{ - if (dest) - dest->removeDependent (_this); - SafeRelease (dest); -} - - -//------------------------------------------------------------------------ -/** Automatic creation and destruction of singleton instances. */ -namespace Singleton { - /** registers an instance (type FObject) */ - void registerInstance (FObject** o); - - /** Returns true when singleton instances were already released. */ - bool isTerminated (); - - /** lock and unlock the singleton registration for multi-threading safety */ - void lockRegister (); - void unlockRegister (); -} - -//------------------------------------------------------------------------ -} // namespace Steinberg - -//----------------------------------------------------------------------- -#define SINGLETON(ClassName) \ - static ClassName* instance (bool create = true) \ - { \ - static Steinberg::FObject* inst = nullptr; \ - if (inst == nullptr && create && Steinberg::Singleton::isTerminated () == false) \ - { \ - Steinberg::Singleton::lockRegister (); \ - if (inst == nullptr) \ - { \ - inst = NEW ClassName; \ - Steinberg::Singleton::registerInstance (&inst); \ - } \ - Steinberg::Singleton::unlockRegister (); \ - } \ - return (ClassName*)inst; \ - } - -//----------------------------------------------------------------------- -#define OBJ_METHODS(className, baseClass) \ - static inline Steinberg::FClassID getFClassID () {return (#className);} \ - virtual Steinberg::FClassID isA () const SMTG_OVERRIDE {return className::getFClassID ();} \ - virtual bool isA (Steinberg::FClassID s) const SMTG_OVERRIDE {return isTypeOf (s, false);} \ - virtual bool isTypeOf (Steinberg::FClassID s, bool askBaseClass = true) const SMTG_OVERRIDE \ - { return (classIDsEqual (s, #className) ? true : (askBaseClass ? baseClass::isTypeOf (s, true) : false)); } - -//------------------------------------------------------------------------ -/** Delegate refcount functions to BaseClass. - BaseClase must implement ref counting. -*/ -//------------------------------------------------------------------------ -#define REFCOUNT_METHODS(BaseClass) \ -virtual Steinberg::uint32 PLUGIN_API addRef ()SMTG_OVERRIDE{ return BaseClass::addRef (); } \ -virtual Steinberg::uint32 PLUGIN_API release ()SMTG_OVERRIDE{ return BaseClass::release (); } - -//------------------------------------------------------------------------ -/** @name Macros to implement FUnknown::queryInterface (). - - Examples: - @code - class Foo : public FObject, public IFoo2, public IFoo3 - { - ... - DEFINE_INTERFACES - DEF_INTERFACE (IFoo2) - DEF_INTERFACE (IFoo3) - END_DEFINE_INTERFACES (FObject) - REFCOUNT_METHODS(FObject) - // Implement IFoo2 interface ... - // Implement IFoo3 interface ... - ... - }; - @endcode -*/ -///@{ -//------------------------------------------------------------------------ -/** Start defining interfaces. */ -//------------------------------------------------------------------------ -#define DEFINE_INTERFACES \ -Steinberg::tresult PLUGIN_API queryInterface (const Steinberg::TUID iid, void** obj) SMTG_OVERRIDE \ -{ - -//------------------------------------------------------------------------ -/** Add a interfaces. */ -//------------------------------------------------------------------------ -#define DEF_INTERFACE(InterfaceName) \ - QUERY_INTERFACE (iid, obj, InterfaceName::iid, InterfaceName) - -//------------------------------------------------------------------------ -/** End defining interfaces. */ -//------------------------------------------------------------------------ -#define END_DEFINE_INTERFACES(BaseClass) \ - return BaseClass::queryInterface (iid, obj); \ -} -///@} - -//------------------------------------------------------------------------ -/** @name Convenient macros to implement Steinberg::FUnknown::queryInterface (). - Examples: - @code - class Foo : public FObject, public IFoo2, public IFoo3 - { - ... - DEF_INTERFACES_2(IFoo2,IFoo3,FObject) - REFCOUNT_METHODS(FObject) - ... - }; - @endcode -*/ -///@{ -//------------------------------------------------------------------------ -#define DEF_INTERFACES_1(InterfaceName,BaseClass) \ -DEFINE_INTERFACES \ -DEF_INTERFACE (InterfaceName) \ -END_DEFINE_INTERFACES (BaseClass) - -//------------------------------------------------------------------------ -#define DEF_INTERFACES_2(InterfaceName1,InterfaceName2,BaseClass) \ -DEFINE_INTERFACES \ -DEF_INTERFACE (InterfaceName1) \ -DEF_INTERFACE (InterfaceName2) \ -END_DEFINE_INTERFACES (BaseClass) - -//------------------------------------------------------------------------ -#define DEF_INTERFACES_3(InterfaceName1,InterfaceName2,InterfaceName3,BaseClass) \ -DEFINE_INTERFACES \ -DEF_INTERFACE (InterfaceName1) \ -DEF_INTERFACE (InterfaceName2) \ -DEF_INTERFACE (InterfaceName3) \ -END_DEFINE_INTERFACES (BaseClass) - -//------------------------------------------------------------------------ -#define DEF_INTERFACES_4(InterfaceName1,InterfaceName2,InterfaceName3,InterfaceName4,BaseClass) \ - DEFINE_INTERFACES \ - DEF_INTERFACE (InterfaceName1) \ - DEF_INTERFACE (InterfaceName2) \ - DEF_INTERFACE (InterfaceName3) \ - DEF_INTERFACE (InterfaceName4) \ - END_DEFINE_INTERFACES (BaseClass) -///@} - -//------------------------------------------------------------------------ -/** @name Convenient macros to implement Steinberg::FUnknown methods. - Examples: - @code - class Foo : public FObject, public IFoo2, public IFoo3 - { - ... - FUNKNOWN_METHODS2(IFoo2,IFoo3,FObject) - ... - }; - @endcode -*/ -///@{ -#define FUNKNOWN_METHODS(InterfaceName,BaseClass) \ -DEF_INTERFACES_1(InterfaceName,BaseClass) \ -REFCOUNT_METHODS(BaseClass) - -#define FUNKNOWN_METHODS2(InterfaceName1,InterfaceName2,BaseClass) \ -DEF_INTERFACES_2(InterfaceName1,InterfaceName2,BaseClass) \ -REFCOUNT_METHODS(BaseClass) - -#define FUNKNOWN_METHODS3(InterfaceName1,InterfaceName2,InterfaceName3,BaseClass) \ -DEF_INTERFACES_3(InterfaceName1,InterfaceName2,InterfaceName3,BaseClass) \ -REFCOUNT_METHODS(BaseClass) - -#define FUNKNOWN_METHODS4(InterfaceName1,InterfaceName2,InterfaceName3,InterfaceName4,BaseClass) \ -DEF_INTERFACES_4(InterfaceName1,InterfaceName2,InterfaceName3,InterfaceName4,BaseClass) \ -REFCOUNT_METHODS(BaseClass) -///@} - - -//------------------------------------------------------------------------ -//------------------------------------------------------------------------ -#if COM_COMPATIBLE -//------------------------------------------------------------------------ -/** @name Macros to implement IUnknown interfaces with FObject. - Examples: - @code - class MyEnumFormat : public FObject, IEnumFORMATETC - { - ... - COM_UNKNOWN_METHODS (IEnumFORMATETC, IUnknown) - ... - }; - @endcode -*/ -///@{ -//------------------------------------------------------------------------ -#define IUNKNOWN_REFCOUNT_METHODS(BaseClass) \ -STDMETHOD_ (ULONG, AddRef) (void) {return BaseClass::addRef ();} \ -STDMETHOD_ (ULONG, Release) (void) {return BaseClass::release ();} - -//------------------------------------------------------------------------ -#define COM_QUERY_INTERFACE(iid, obj, InterfaceName) \ -if (riid == __uuidof(InterfaceName)) \ -{ \ - addRef (); \ - *obj = (InterfaceName*)this; \ - return kResultOk; \ -} - -//------------------------------------------------------------------------ -#define COM_OBJECT_QUERY_INTERFACE(InterfaceName,BaseClass) \ -STDMETHOD (QueryInterface) (REFIID riid, void** object) \ -{ \ - COM_QUERY_INTERFACE (riid, object, InterfaceName) \ - return BaseClass::queryInterface ((FIDString)&riid, object); \ -} - -//------------------------------------------------------------------------ -#define COM_UNKNOWN_METHODS(InterfaceName,BaseClass) \ -COM_OBJECT_QUERY_INTERFACE(InterfaceName,BaseClass) \ -IUNKNOWN_REFCOUNT_METHODS(BaseClass) -///@} - -#endif // COM_COMPATIBLE +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fobject.h +// Created by : Steinberg, 2008 +// Description : Basic Object implementing FUnknown +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------ +/** @file base/source/fobject.h + Basic Object implementing FUnknown. */ +//------------------------------------------------------------------------ +#pragma once + +#include "pluginterfaces/base/funknown.h" +#include "pluginterfaces/base/iupdatehandler.h" +//#include "base/source/basefwd.h" +#include "base/source/fdebug.h" // NEW + + +namespace Steinberg { + +//---------------------------------- + +typedef FIDString FClassID; + +//------------------------------------------------------------------------ +// Basic FObject - implements FUnknown + IDependent +//------------------------------------------------------------------------ +/** Implements FUnknown and IDependent. + +FObject is a polymorphic class that implements IDependent (of SKI module) +and therefore derived from FUnknown, which is the most abstract base class of all. + +All COM-like virtual methods of FUnknown such as queryInterface(), addRef(), release() +are implemented here. On top of that, dependency-related methods are implemented too. + +Pointer casting is done via the template methods FCast, either FObject to FObject or +FUnknown to FObject. + +FObject supports a new singleton concept, therefore these objects are deleted automatically upon program termination. + +- Runtime type information: An object can be queried at runtime, of what class +it is. To do this correctly, every class must override some methods. This +is simplified by using the OBJ_METHODS macros + + +@see + - FUnknown + - IDependent + - IUpdateHandler +*/ +//------------------------------------------------------------------------ +class FObject : public IDependent +{ +public: + //------------------------------------------------------------------------ + FObject () : refCount (1) {} ///< default constructor... + FObject (const FObject&) : refCount (1) {} ///< overloaded constructor... + virtual ~FObject () {} ///< destructor... + FObject& operator = (const FObject&) { return *this; } ///< overloads operator "=" as the reference assignment + + // OBJECT_METHODS + static inline FClassID getFClassID () {return "FObject";} ///< return Class ID as an ASCII string (statically) + virtual FClassID isA () const {return FObject::getFClassID ();} ///< a local alternative to getFClassID () + virtual bool isA (FClassID s) const {return isTypeOf (s, false);} ///< evaluates if the passed ID is of the FObject type + virtual bool isTypeOf (FClassID s, bool /*askBaseClass*/ = true) const {return classIDsEqual (s, FObject::getFClassID ());} + ///< evaluates if the passed ID is of the FObject type + int32 getRefCount () {return refCount;} ///< returns the current interface reference count + FUnknown* unknownCast () {return this;} ///< get FUnknown interface from object + + // FUnknown + virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) SMTG_OVERRIDE; ///< please refer to FUnknown::queryInterface () + virtual uint32 PLUGIN_API addRef () SMTG_OVERRIDE; ///< please refer to FUnknown::addref () + virtual uint32 PLUGIN_API release () SMTG_OVERRIDE; ///< please refer to FUnknown::release () + + // IDependent + virtual void PLUGIN_API update (FUnknown* /*changedUnknown*/, int32 /*message*/) SMTG_OVERRIDE {} + ///< empty virtual method that should be overridden by derived classes for data updates upon changes + // IDependency + virtual void addDependent (IDependent* dep); ///< adds dependency to the object + virtual void removeDependent (IDependent* dep); ///< removes dependency from the object + virtual void changed (int32 msg = kChanged); ///< Inform all dependents, that the object has changed. + virtual void deferUpdate (int32 msg = kChanged); ///< Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates). + virtual void updateDone (int32 /* msg */) {} ///< empty virtual method that should be overridden by derived classes + virtual bool isEqualInstance (FUnknown* d) {return this == d;} + + static void setUpdateHandler (IUpdateHandler* handler) {gUpdateHandler = handler;} ///< set method for the local attribute + static IUpdateHandler* getUpdateHandler () {return gUpdateHandler;} ///< get method for the local attribute + + // static helper functions + static inline bool classIDsEqual (FClassID ci1, FClassID ci2); ///< compares (evaluates) 2 class IDs + static inline FObject* unknownToObject (FUnknown* unknown); ///< pointer conversion from FUnknown to FObject + + /** Special UID that is used to cast an FUnknown pointer to a FObject */ + static const FUID iid; + +//------------------------------------------------------------------------ +protected: + int32 refCount; ///< COM-model local reference count + + static IUpdateHandler* gUpdateHandler; +}; + + +//------------------------------------------------------------------------ +// conversion from FUnknown to FObject +//------------------------------------------------------------------------ +inline FObject* FObject::unknownToObject (FUnknown* unknown) +{ + FObject* object = 0; + if (unknown) + { + unknown->queryInterface (FObject::iid, (void**)&object); + if (object) + object->release (); // queryInterface has added ref + } + return object; +} + +//------------------------------------------------------------------------ +inline bool FObject::classIDsEqual (FClassID ci1, FClassID ci2) +{ + return (ci1 && ci2) ? (strcmp (ci1, ci2) == 0) : false; +} + +//----------------------------------------------------------------------- +/** FCast overload 1 - FObject to FObject */ +//----------------------------------------------------------------------- +template +inline C* FCast (const FObject* object) +{ + if (object && object->isTypeOf (C::getFClassID (), true)) + return (C*) object; + return 0; +} + +//----------------------------------------------------------------------- +/** FCast overload 2 - FUnknown to FObject */ +//----------------------------------------------------------------------- +template +inline C* FCast (FUnknown* unknown) +{ + FObject* object = FObject::unknownToObject (unknown); + return FCast (object); +} + +//----------------------------------------------------------------------- +/** FUCast - casting from FUnknown to Interface */ +//----------------------------------------------------------------------- +template +inline C* FUCast (FObject* object) +{ + return FUnknownPtr (object ? object->unknownCast () : 0); +} + +template +inline C* FUCast (FUnknown* object) +{ + return FUnknownPtr (object); +} + +//------------------------------------------------------------------------ +/** @name Convenience methods that call release or delete respectively + on a pointer if it is non-zero, and then set the pointer to zero. + Note: you should prefer using IPtr or OPtr instead of these methods + whenever possible. + Examples: + @code + ~Foo () + { + // instead of ... + if (somePointer) + { + somePointer->release (); + somePointer = 0; + } + // ... just being lazy I write + SafeRelease (somePointer) + } + @endcode +*/ +///@{ +//----------------------------------------------------------------------- +template +inline void SafeRelease (I *& ptr) +{ + if (ptr) + { + ptr->release (); + ptr = 0; + } +} + +//----------------------------------------------------------------------- +template +inline void SafeRelease (IPtr & ptr) +{ + ptr = 0; +} + + +//----------------------------------------------------------------------- +template +inline void SafeDelete (T *& ptr) +{ + if (ptr) + { + delete ptr; + ptr = 0; + } +} +///@} + +//----------------------------------------------------------------------- +template +inline void AssignShared (T*& dest, T* newPtr) +{ + if (dest == newPtr) + return; + + if (dest) + dest->release (); + dest = newPtr; + if (dest) + dest->addRef (); +} + +//----------------------------------------------------------------------- +template +inline void AssignSharedDependent (IDependent* _this, T*& dest, T* newPtr) +{ + if (dest == newPtr) + return; + + if (dest) + dest->removeDependent (_this); + AssignShared (dest, newPtr); + if (dest) + dest->addDependent (_this); +} + +//----------------------------------------------------------------------- +template +inline void AssignSharedDependent (IDependent* _this, IPtr& dest, T* newPtr) +{ + if (dest == newPtr) + return; + + if (dest) + dest->removeDependent (_this); + dest = newPtr; + if (dest) + dest->addDependent (_this); +} + +//----------------------------------------------------------------------- +template +inline void SafeReleaseDependent (IDependent* _this, T*& dest) +{ + if (dest) + dest->removeDependent (_this); + SafeRelease (dest); +} + +//----------------------------------------------------------------------- +template +inline void SafeReleaseDependent (IDependent* _this, IPtr& dest) +{ + if (dest) + dest->removeDependent (_this); + SafeRelease (dest); +} + + +//------------------------------------------------------------------------ +/** Automatic creation and destruction of singleton instances. */ +namespace Singleton { + /** registers an instance (type FObject) */ + void registerInstance (FObject** o); + + /** Returns true when singleton instances were already released. */ + bool isTerminated (); + + /** lock and unlock the singleton registration for multi-threading safety */ + void lockRegister (); + void unlockRegister (); +} + +//------------------------------------------------------------------------ +} // namespace Steinberg + +//----------------------------------------------------------------------- +#define SINGLETON(ClassName) \ + static ClassName* instance (bool create = true) \ + { \ + static Steinberg::FObject* inst = nullptr; \ + if (inst == nullptr && create && Steinberg::Singleton::isTerminated () == false) \ + { \ + Steinberg::Singleton::lockRegister (); \ + if (inst == nullptr) \ + { \ + inst = NEW ClassName; \ + Steinberg::Singleton::registerInstance (&inst); \ + } \ + Steinberg::Singleton::unlockRegister (); \ + } \ + return (ClassName*)inst; \ + } + +//----------------------------------------------------------------------- +#define OBJ_METHODS(className, baseClass) \ + static inline Steinberg::FClassID getFClassID () {return (#className);} \ + virtual Steinberg::FClassID isA () const SMTG_OVERRIDE {return className::getFClassID ();} \ + virtual bool isA (Steinberg::FClassID s) const SMTG_OVERRIDE {return isTypeOf (s, false);} \ + virtual bool isTypeOf (Steinberg::FClassID s, bool askBaseClass = true) const SMTG_OVERRIDE \ + { return (classIDsEqual (s, #className) ? true : (askBaseClass ? baseClass::isTypeOf (s, true) : false)); } + +//------------------------------------------------------------------------ +/** Delegate refcount functions to BaseClass. + BaseClase must implement ref counting. +*/ +//------------------------------------------------------------------------ +#define REFCOUNT_METHODS(BaseClass) \ +virtual Steinberg::uint32 PLUGIN_API addRef ()SMTG_OVERRIDE{ return BaseClass::addRef (); } \ +virtual Steinberg::uint32 PLUGIN_API release ()SMTG_OVERRIDE{ return BaseClass::release (); } + +//------------------------------------------------------------------------ +/** @name Macros to implement FUnknown::queryInterface (). + + Examples: + @code + class Foo : public FObject, public IFoo2, public IFoo3 + { + ... + DEFINE_INTERFACES + DEF_INTERFACE (IFoo2) + DEF_INTERFACE (IFoo3) + END_DEFINE_INTERFACES (FObject) + REFCOUNT_METHODS(FObject) + // Implement IFoo2 interface ... + // Implement IFoo3 interface ... + ... + }; + @endcode +*/ +///@{ +//------------------------------------------------------------------------ +/** Start defining interfaces. */ +//------------------------------------------------------------------------ +#define DEFINE_INTERFACES \ +Steinberg::tresult PLUGIN_API queryInterface (const Steinberg::TUID iid, void** obj) SMTG_OVERRIDE \ +{ + +//------------------------------------------------------------------------ +/** Add a interfaces. */ +//------------------------------------------------------------------------ +#define DEF_INTERFACE(InterfaceName) \ + QUERY_INTERFACE (iid, obj, InterfaceName::iid, InterfaceName) + +//------------------------------------------------------------------------ +/** End defining interfaces. */ +//------------------------------------------------------------------------ +#define END_DEFINE_INTERFACES(BaseClass) \ + return BaseClass::queryInterface (iid, obj); \ +} +///@} + +//------------------------------------------------------------------------ +/** @name Convenient macros to implement Steinberg::FUnknown::queryInterface (). + Examples: + @code + class Foo : public FObject, public IFoo2, public IFoo3 + { + ... + DEF_INTERFACES_2(IFoo2,IFoo3,FObject) + REFCOUNT_METHODS(FObject) + ... + }; + @endcode +*/ +///@{ +//------------------------------------------------------------------------ +#define DEF_INTERFACES_1(InterfaceName,BaseClass) \ +DEFINE_INTERFACES \ +DEF_INTERFACE (InterfaceName) \ +END_DEFINE_INTERFACES (BaseClass) + +//------------------------------------------------------------------------ +#define DEF_INTERFACES_2(InterfaceName1,InterfaceName2,BaseClass) \ +DEFINE_INTERFACES \ +DEF_INTERFACE (InterfaceName1) \ +DEF_INTERFACE (InterfaceName2) \ +END_DEFINE_INTERFACES (BaseClass) + +//------------------------------------------------------------------------ +#define DEF_INTERFACES_3(InterfaceName1,InterfaceName2,InterfaceName3,BaseClass) \ +DEFINE_INTERFACES \ +DEF_INTERFACE (InterfaceName1) \ +DEF_INTERFACE (InterfaceName2) \ +DEF_INTERFACE (InterfaceName3) \ +END_DEFINE_INTERFACES (BaseClass) + +//------------------------------------------------------------------------ +#define DEF_INTERFACES_4(InterfaceName1,InterfaceName2,InterfaceName3,InterfaceName4,BaseClass) \ + DEFINE_INTERFACES \ + DEF_INTERFACE (InterfaceName1) \ + DEF_INTERFACE (InterfaceName2) \ + DEF_INTERFACE (InterfaceName3) \ + DEF_INTERFACE (InterfaceName4) \ + END_DEFINE_INTERFACES (BaseClass) +///@} + +//------------------------------------------------------------------------ +/** @name Convenient macros to implement Steinberg::FUnknown methods. + Examples: + @code + class Foo : public FObject, public IFoo2, public IFoo3 + { + ... + FUNKNOWN_METHODS2(IFoo2,IFoo3,FObject) + ... + }; + @endcode +*/ +///@{ +#define FUNKNOWN_METHODS(InterfaceName,BaseClass) \ +DEF_INTERFACES_1(InterfaceName,BaseClass) \ +REFCOUNT_METHODS(BaseClass) + +#define FUNKNOWN_METHODS2(InterfaceName1,InterfaceName2,BaseClass) \ +DEF_INTERFACES_2(InterfaceName1,InterfaceName2,BaseClass) \ +REFCOUNT_METHODS(BaseClass) + +#define FUNKNOWN_METHODS3(InterfaceName1,InterfaceName2,InterfaceName3,BaseClass) \ +DEF_INTERFACES_3(InterfaceName1,InterfaceName2,InterfaceName3,BaseClass) \ +REFCOUNT_METHODS(BaseClass) + +#define FUNKNOWN_METHODS4(InterfaceName1,InterfaceName2,InterfaceName3,InterfaceName4,BaseClass) \ +DEF_INTERFACES_4(InterfaceName1,InterfaceName2,InterfaceName3,InterfaceName4,BaseClass) \ +REFCOUNT_METHODS(BaseClass) +///@} + + +//------------------------------------------------------------------------ +//------------------------------------------------------------------------ +#if COM_COMPATIBLE +//------------------------------------------------------------------------ +/** @name Macros to implement IUnknown interfaces with FObject. + Examples: + @code + class MyEnumFormat : public FObject, IEnumFORMATETC + { + ... + COM_UNKNOWN_METHODS (IEnumFORMATETC, IUnknown) + ... + }; + @endcode +*/ +///@{ +//------------------------------------------------------------------------ +#define IUNKNOWN_REFCOUNT_METHODS(BaseClass) \ +STDMETHOD_ (ULONG, AddRef) (void) {return BaseClass::addRef ();} \ +STDMETHOD_ (ULONG, Release) (void) {return BaseClass::release ();} + +//------------------------------------------------------------------------ +#define COM_QUERY_INTERFACE(iid, obj, InterfaceName) \ +if (riid == __uuidof(InterfaceName)) \ +{ \ + addRef (); \ + *obj = (InterfaceName*)this; \ + return kResultOk; \ +} + +//------------------------------------------------------------------------ +#define COM_OBJECT_QUERY_INTERFACE(InterfaceName,BaseClass) \ +STDMETHOD (QueryInterface) (REFIID riid, void** object) \ +{ \ + COM_QUERY_INTERFACE (riid, object, InterfaceName) \ + return BaseClass::queryInterface ((FIDString)&riid, object); \ +} + +//------------------------------------------------------------------------ +#define COM_UNKNOWN_METHODS(InterfaceName,BaseClass) \ +COM_OBJECT_QUERY_INTERFACE(InterfaceName,BaseClass) \ +IUNKNOWN_REFCOUNT_METHODS(BaseClass) +///@} + +#endif // COM_COMPATIBLE diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp index acd8f29a..bb87dc66 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.cpp @@ -1,726 +1,726 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fstreamer.cpp -// Created by : Steinberg, 15.12.2005 -// Description : Extract of typed stream i/o methods from FStream -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#include "fstreamer.h" - -#include "base/source/fstring.h" -#include "base/source/fbuffer.h" -#include "pluginterfaces/base/ibstream.h" - -#ifndef UNICODE -#include "pluginterfaces/base/futils.h" -#endif - -namespace Steinberg { - -//------------------------------------------------------------------------ -// IBStreamer -//------------------------------------------------------------------------ -IBStreamer::IBStreamer (IBStream* stream, int16 _byteOrder) -: FStreamer (_byteOrder) -, stream (stream) -{} - -//------------------------------------------------------------------------ -TSize IBStreamer::readRaw (void* buffer, TSize size) -{ - int32 numBytesRead = 0; - stream->read (buffer, (int32)size, &numBytesRead); - return numBytesRead; -} - -//------------------------------------------------------------------------ -TSize IBStreamer::writeRaw (const void* buffer, TSize size) -{ - int32 numBytesWritten = 0; - stream->write ((void*)buffer, (int32)size, &numBytesWritten); - return numBytesWritten; -} - -//------------------------------------------------------------------------ -int64 IBStreamer::seek (int64 pos, FSeekMode mode) -{ - int64 result = -1; - stream->seek (pos, mode, &result); - return result; -} - -//------------------------------------------------------------------------ -int64 IBStreamer::tell () -{ - int64 pos = 0; - stream->tell (&pos); - return pos; -} - -//------------------------------------------------------------------------ -// FStreamSizeHolder Implementation -//------------------------------------------------------------------------ -FStreamSizeHolder::FStreamSizeHolder (FStreamer &s) -: stream (s), sizePos (-1) -{} - -//------------------------------------------------------------------------ -void FStreamSizeHolder::beginWrite () -{ - sizePos = stream.tell (); - stream.writeInt32 (0L); -} - -//------------------------------------------------------------------------ -int32 FStreamSizeHolder::endWrite () -{ - if (sizePos < 0) - return 0; - - int64 currentPos = stream.tell (); - - stream.seek (sizePos, kSeekSet); - int32 size = int32 (currentPos - sizePos - sizeof (int32)); - stream.writeInt32 (size); - - stream.seek (currentPos, kSeekSet); - return size; -} - -//------------------------------------------------------------------------ -int32 FStreamSizeHolder::beginRead () -{ - sizePos = stream.tell (); - int32 size = 0; - stream.readInt32 (size); - sizePos += size + sizeof (int32); - return size; -} - -//------------------------------------------------------------------------ -void FStreamSizeHolder::endRead () -{ - if (sizePos >= 0) - stream.seek (sizePos, kSeekSet); -} - -//------------------------------------------------------------------------ -// FStreamer -//------------------------------------------------------------------------ -FStreamer::FStreamer (int16 _byteOrder) -: byteOrder (_byteOrder) -{} - -// int8 / char ----------------------------------------------------------- -//------------------------------------------------------------------------ -bool FStreamer::writeChar8 (char8 c) -{ - return writeRaw ((void*)&c, sizeof (char8)) == sizeof (char8); -} - -//------------------------------------------------------------------------ -bool FStreamer::readChar8 (char8& c) -{ - return readRaw ((void*)&c, sizeof (char8)) == sizeof (char8); -} - -//------------------------------------------------------------------------ -bool FStreamer::writeUChar8 (unsigned char c) -{ - return writeRaw ((void*)&c, sizeof (unsigned char)) == sizeof (unsigned char); -} - -//------------------------------------------------------------------------ -bool FStreamer::readUChar8 (unsigned char& c) -{ - return readRaw ((void*)&c, sizeof (unsigned char)) == sizeof (unsigned char); -} - -//------------------------------------------------------------------------ -bool FStreamer::writeChar16 (char16 c) -{ - if (BYTEORDER != byteOrder) - SWAP_16 (c); - return writeRaw ((void*)&c, sizeof (char16)) == sizeof (char16); -} - -//------------------------------------------------------------------------ -bool FStreamer::readChar16 (char16& c) -{ - if (readRaw ((void*)&c, sizeof (char16)) == sizeof (char16)) - { - if (BYTEORDER != byteOrder) - SWAP_16 (c); - return true; - } - c = 0; - return false; -} - -// int16 ----------------------------------------------------------------- -//------------------------------------------------------------------------ -bool FStreamer::writeInt16 (int16 i) -{ - if (BYTEORDER != byteOrder) - SWAP_16 (i); - return writeRaw ((void*)&i, sizeof (int16)) == sizeof (int16); -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt16 (int16& i) -{ - if (readRaw ((void*)&i, sizeof (int16)) == sizeof (int16)) - { - if (BYTEORDER != byteOrder) - SWAP_16 (i); - return true; - } - i = 0; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt16Array (const int16* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeInt16 (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt16Array (int16* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readInt16 (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt16u (uint16 i) -{ - if (BYTEORDER != byteOrder) - SWAP_16 (i); - return writeRaw ((void*)&i, sizeof (uint16)) == sizeof (uint16); -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt16u (uint16& i) -{ - if (readRaw ((void*)&i, sizeof (uint16)) == sizeof (uint16)) - { - if (BYTEORDER != byteOrder) - SWAP_16 (i); - return true; - } - i = 0; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt16uArray (const uint16* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeInt16u (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt16uArray (uint16* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readInt16u (array[i])) - return false; - } - return true; -} - -// int32 ----------------------------------------------------------------- -//------------------------------------------------------------------------ -bool FStreamer::writeInt32 (int32 i) -{ - if (BYTEORDER != byteOrder) - SWAP_32 (i); - return writeRaw ((void*)&i, sizeof (int32)) == sizeof (int32); -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt32 (int32& i) -{ - if (readRaw ((void*)&i, sizeof (int32)) == sizeof (int32)) - { - if (BYTEORDER != byteOrder) - SWAP_32 (i); - return true; - } - i = 0; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt32Array (const int32* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeInt32 (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt32Array (int32* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readInt32 (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt32u (uint32 i) -{ - if (BYTEORDER != byteOrder) - SWAP_32 (i); - return writeRaw ((void*)&i, sizeof (uint32)) == sizeof (uint32); -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt32u (uint32& i) -{ - if (readRaw ((void*)&i, sizeof (uint32)) == sizeof (uint32)) - { - if (BYTEORDER != byteOrder) - SWAP_32 (i); - return true; - } - i = 0; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt32uArray (const uint32* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeInt32u (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt32uArray (uint32* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readInt32u (array[i])) - return false; - } - return true; -} - -// int64 ----------------------------------------------------------------- -//------------------------------------------------------------------------ -bool FStreamer::writeInt64 (int64 i) -{ - if (BYTEORDER != byteOrder) - SWAP_64 (i); - return writeRaw ((void*)&i, sizeof (int64)) == sizeof (int64); -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt64 (int64& i) -{ - if (readRaw ((void*)&i, sizeof (int64)) == sizeof (int64)) - { - if (BYTEORDER != byteOrder) - SWAP_64 (i); - return true; - } - i = 0; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt64Array (const int64* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeInt64 (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt64Array (int64* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readInt64 (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt64u (uint64 i) -{ - if (BYTEORDER != byteOrder) - SWAP_64 (i); - return writeRaw ((void*)&i, sizeof (uint64)) == sizeof (uint64); -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt64u (uint64& i) -{ - if (readRaw ((void*)&i, sizeof (uint64)) == sizeof (uint64)) - { - if (BYTEORDER != byteOrder) - SWAP_64 (i); - return true; - } - i = 0; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeInt64uArray (const uint64* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeInt64u (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readInt64uArray (uint64* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readInt64u (array[i])) - return false; - } - return true; -} - -// float / double -------------------------------------------------------- -//------------------------------------------------------------------------ -bool FStreamer::writeFloat (float f) -{ - if (BYTEORDER != byteOrder) - SWAP_32 (f); - return writeRaw ((void*)&f, sizeof (float)) == sizeof (float); -} - -//------------------------------------------------------------------------ -bool FStreamer::readFloat (float& f) -{ - if (readRaw ((void*)&f, sizeof (float)) == sizeof (float)) - { - if (BYTEORDER != byteOrder) - SWAP_32 (f); - return true; - } - f = 0.f; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeFloatArray (const float* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeFloat (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readFloatArray (float* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readFloat (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeDouble (double d) -{ - if (BYTEORDER != byteOrder) - SWAP_64 (d); - return writeRaw ((void*)&d, sizeof (double)) == sizeof (double); -} - -//------------------------------------------------------------------------ -bool FStreamer::readDouble (double& d) -{ - if (readRaw ((void*)&d, sizeof (double)) == sizeof (double)) - { - if (BYTEORDER != byteOrder) - SWAP_64 (d); - return true; - } - d = 0.0; - return false; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeDoubleArray (const double* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!writeDouble (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readDoubleArray (double* array, int32 count) -{ - for (int32 i = 0; i < count; i++) - { - if (!readDouble (array[i])) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::readBool (bool& b) -{ - int16 v = 0; - bool res = readInt16 (v); - b = (v != 0); - return res; -} - -//------------------------------------------------------------------------ -bool FStreamer::writeBool (bool b) -{ - return writeInt16 ((int16)b); -} - -//------------------------------------------------------------------------ -TSize FStreamer::writeString8 (const char8* ptr, bool terminate) -{ - TSize size = strlen (ptr); - if (terminate) // write \0 - size++; - - return writeRaw ((void*)ptr, size); -} - -//------------------------------------------------------------------------ -TSize FStreamer::readString8 (char8* ptr, TSize size) -{ - TSize i = 0; - char8 c = 0; - while (i < size) - { - if (readRaw ((void*)&c, sizeof (char)) != sizeof (char)) - break; - ptr[i] = c; - i++; - if (c == '\n' || c == '\0') - break; - } - if (c == '\n' && ptr[i - 2] == '\r') - ptr[i - 2] = 0; - if (i < size) - ptr[i] = 0; - else - ptr[size - 1] = 0; - - return strlen (ptr); -} - -//------------------------------------------------------------------------ -bool FStreamer::writeStringUtf8 (const tchar* ptr) -{ - bool isUtf8 = false; - - String str (ptr); - if (str.isAsciiString () == false) - { - str.toMultiByte (kCP_Utf8); - isUtf8 = true; - } - else - { - str.toMultiByte (); - } - - if (isUtf8) - if (writeRaw (kBomUtf8, kBomUtf8Length) != kBomUtf8Length) - return false; - - TSize size = str.length () + 1; - if (writeRaw (str.text8 (), size) != size) - return false; - - return true; -} - -//------------------------------------------------------------------------ -int32 FStreamer::readStringUtf8 (tchar* ptr, int32 nChars) -{ - char8 c = 0; - - ptr [0] = 0; - - Buffer tmp; - tmp.setDelta (1024); - - while (true) - { - if (readRaw ((void*)&c, sizeof (char)) != sizeof (char)) - break; - tmp.put (c); - if (c == '\0') - break; - } - - char8* source = tmp.int8Ptr (); - uint32 codePage = kCP_Default; // for legacy take default page if no utf8 bom is present... - if (tmp.getFillSize () > 2) - { - if (memcmp (source, kBomUtf8, kBomUtf8Length) == 0) - { - codePage = kCP_Utf8; - source += 3; - } - } - - if (tmp.getFillSize () > 1) - { -#ifdef UNICODE - ConstString::multiByteToWideString (ptr, source, nChars, codePage); -#else - if (codePage == kCP_Utf8) - { - Buffer wideBuffer (tmp.getFillSize () * 3); - ConstString::multiByteToWideString (wideBuffer.wcharPtr (), source, wideBuffer.getSize () / 2, kCP_Utf8); - ConstString::wideStringToMultiByte (ptr, wideBuffer.wcharPtr (), nChars); - } - else - { - memcpy (ptr, source, Min (nChars, tmp.getFillSize ())); - } -#endif - } - - ptr[nChars - 1] = 0; - return ConstString (ptr).length (); -} - -//------------------------------------------------------------------------ -bool FStreamer::writeStr8 (const char8* s) -{ - int32 length = (s) ? (int32) strlen (s) + 1 : 0; - if (!writeInt32 (length)) - return false; - - if (length > 0) - return writeRaw (s, sizeof (char8) * length) == static_cast(sizeof (char8) * length); - - return true; -} - -//------------------------------------------------------------------------ -int32 FStreamer::getStr8Size (const char8* s) -{ - return sizeof (int32) + (int32)strlen (s) + 1; -} - -//------------------------------------------------------------------------ -char8* FStreamer::readStr8 () -{ - int32 length; - if (!readInt32 (length)) - return 0; - - // check corruption - if (length > 262144) - return 0; - - char8* s = (length > 0) ? NEWVEC char8[length] : 0; - if (s) - readRaw (s, length * sizeof (char8)); - return s; -} - -//------------------------------------------------------------------------ -bool FStreamer::skip (uint32 bytes) -{ - int8 tmp; - while (bytes-- > 0) - { - if (readInt8 (tmp) == false) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -bool FStreamer::pad (uint32 bytes) -{ - while (bytes-- > 0) - { - if (writeInt8 (0) == false) - return false; - } - return true; -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fstreamer.cpp +// Created by : Steinberg, 15.12.2005 +// Description : Extract of typed stream i/o methods from FStream +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include "fstreamer.h" + +#include "base/source/fstring.h" +#include "base/source/fbuffer.h" +#include "pluginterfaces/base/ibstream.h" + +#ifndef UNICODE +#include "pluginterfaces/base/futils.h" +#endif + +namespace Steinberg { + +//------------------------------------------------------------------------ +// IBStreamer +//------------------------------------------------------------------------ +IBStreamer::IBStreamer (IBStream* stream, int16 _byteOrder) +: FStreamer (_byteOrder) +, stream (stream) +{} + +//------------------------------------------------------------------------ +TSize IBStreamer::readRaw (void* buffer, TSize size) +{ + int32 numBytesRead = 0; + stream->read (buffer, (int32)size, &numBytesRead); + return numBytesRead; +} + +//------------------------------------------------------------------------ +TSize IBStreamer::writeRaw (const void* buffer, TSize size) +{ + int32 numBytesWritten = 0; + stream->write ((void*)buffer, (int32)size, &numBytesWritten); + return numBytesWritten; +} + +//------------------------------------------------------------------------ +int64 IBStreamer::seek (int64 pos, FSeekMode mode) +{ + int64 result = -1; + stream->seek (pos, mode, &result); + return result; +} + +//------------------------------------------------------------------------ +int64 IBStreamer::tell () +{ + int64 pos = 0; + stream->tell (&pos); + return pos; +} + +//------------------------------------------------------------------------ +// FStreamSizeHolder Implementation +//------------------------------------------------------------------------ +FStreamSizeHolder::FStreamSizeHolder (FStreamer &s) +: stream (s), sizePos (-1) +{} + +//------------------------------------------------------------------------ +void FStreamSizeHolder::beginWrite () +{ + sizePos = stream.tell (); + stream.writeInt32 (0L); +} + +//------------------------------------------------------------------------ +int32 FStreamSizeHolder::endWrite () +{ + if (sizePos < 0) + return 0; + + int64 currentPos = stream.tell (); + + stream.seek (sizePos, kSeekSet); + int32 size = int32 (currentPos - sizePos - sizeof (int32)); + stream.writeInt32 (size); + + stream.seek (currentPos, kSeekSet); + return size; +} + +//------------------------------------------------------------------------ +int32 FStreamSizeHolder::beginRead () +{ + sizePos = stream.tell (); + int32 size = 0; + stream.readInt32 (size); + sizePos += size + sizeof (int32); + return size; +} + +//------------------------------------------------------------------------ +void FStreamSizeHolder::endRead () +{ + if (sizePos >= 0) + stream.seek (sizePos, kSeekSet); +} + +//------------------------------------------------------------------------ +// FStreamer +//------------------------------------------------------------------------ +FStreamer::FStreamer (int16 _byteOrder) +: byteOrder (_byteOrder) +{} + +// int8 / char ----------------------------------------------------------- +//------------------------------------------------------------------------ +bool FStreamer::writeChar8 (char8 c) +{ + return writeRaw ((void*)&c, sizeof (char8)) == sizeof (char8); +} + +//------------------------------------------------------------------------ +bool FStreamer::readChar8 (char8& c) +{ + return readRaw ((void*)&c, sizeof (char8)) == sizeof (char8); +} + +//------------------------------------------------------------------------ +bool FStreamer::writeUChar8 (unsigned char c) +{ + return writeRaw ((void*)&c, sizeof (unsigned char)) == sizeof (unsigned char); +} + +//------------------------------------------------------------------------ +bool FStreamer::readUChar8 (unsigned char& c) +{ + return readRaw ((void*)&c, sizeof (unsigned char)) == sizeof (unsigned char); +} + +//------------------------------------------------------------------------ +bool FStreamer::writeChar16 (char16 c) +{ + if (BYTEORDER != byteOrder) + SWAP_16 (c); + return writeRaw ((void*)&c, sizeof (char16)) == sizeof (char16); +} + +//------------------------------------------------------------------------ +bool FStreamer::readChar16 (char16& c) +{ + if (readRaw ((void*)&c, sizeof (char16)) == sizeof (char16)) + { + if (BYTEORDER != byteOrder) + SWAP_16 (c); + return true; + } + c = 0; + return false; +} + +// int16 ----------------------------------------------------------------- +//------------------------------------------------------------------------ +bool FStreamer::writeInt16 (int16 i) +{ + if (BYTEORDER != byteOrder) + SWAP_16 (i); + return writeRaw ((void*)&i, sizeof (int16)) == sizeof (int16); +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt16 (int16& i) +{ + if (readRaw ((void*)&i, sizeof (int16)) == sizeof (int16)) + { + if (BYTEORDER != byteOrder) + SWAP_16 (i); + return true; + } + i = 0; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt16Array (const int16* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeInt16 (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt16Array (int16* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readInt16 (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt16u (uint16 i) +{ + if (BYTEORDER != byteOrder) + SWAP_16 (i); + return writeRaw ((void*)&i, sizeof (uint16)) == sizeof (uint16); +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt16u (uint16& i) +{ + if (readRaw ((void*)&i, sizeof (uint16)) == sizeof (uint16)) + { + if (BYTEORDER != byteOrder) + SWAP_16 (i); + return true; + } + i = 0; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt16uArray (const uint16* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeInt16u (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt16uArray (uint16* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readInt16u (array[i])) + return false; + } + return true; +} + +// int32 ----------------------------------------------------------------- +//------------------------------------------------------------------------ +bool FStreamer::writeInt32 (int32 i) +{ + if (BYTEORDER != byteOrder) + SWAP_32 (i); + return writeRaw ((void*)&i, sizeof (int32)) == sizeof (int32); +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt32 (int32& i) +{ + if (readRaw ((void*)&i, sizeof (int32)) == sizeof (int32)) + { + if (BYTEORDER != byteOrder) + SWAP_32 (i); + return true; + } + i = 0; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt32Array (const int32* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeInt32 (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt32Array (int32* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readInt32 (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt32u (uint32 i) +{ + if (BYTEORDER != byteOrder) + SWAP_32 (i); + return writeRaw ((void*)&i, sizeof (uint32)) == sizeof (uint32); +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt32u (uint32& i) +{ + if (readRaw ((void*)&i, sizeof (uint32)) == sizeof (uint32)) + { + if (BYTEORDER != byteOrder) + SWAP_32 (i); + return true; + } + i = 0; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt32uArray (const uint32* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeInt32u (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt32uArray (uint32* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readInt32u (array[i])) + return false; + } + return true; +} + +// int64 ----------------------------------------------------------------- +//------------------------------------------------------------------------ +bool FStreamer::writeInt64 (int64 i) +{ + if (BYTEORDER != byteOrder) + SWAP_64 (i); + return writeRaw ((void*)&i, sizeof (int64)) == sizeof (int64); +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt64 (int64& i) +{ + if (readRaw ((void*)&i, sizeof (int64)) == sizeof (int64)) + { + if (BYTEORDER != byteOrder) + SWAP_64 (i); + return true; + } + i = 0; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt64Array (const int64* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeInt64 (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt64Array (int64* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readInt64 (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt64u (uint64 i) +{ + if (BYTEORDER != byteOrder) + SWAP_64 (i); + return writeRaw ((void*)&i, sizeof (uint64)) == sizeof (uint64); +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt64u (uint64& i) +{ + if (readRaw ((void*)&i, sizeof (uint64)) == sizeof (uint64)) + { + if (BYTEORDER != byteOrder) + SWAP_64 (i); + return true; + } + i = 0; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeInt64uArray (const uint64* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeInt64u (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readInt64uArray (uint64* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readInt64u (array[i])) + return false; + } + return true; +} + +// float / double -------------------------------------------------------- +//------------------------------------------------------------------------ +bool FStreamer::writeFloat (float f) +{ + if (BYTEORDER != byteOrder) + SWAP_32 (f); + return writeRaw ((void*)&f, sizeof (float)) == sizeof (float); +} + +//------------------------------------------------------------------------ +bool FStreamer::readFloat (float& f) +{ + if (readRaw ((void*)&f, sizeof (float)) == sizeof (float)) + { + if (BYTEORDER != byteOrder) + SWAP_32 (f); + return true; + } + f = 0.f; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeFloatArray (const float* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeFloat (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readFloatArray (float* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readFloat (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeDouble (double d) +{ + if (BYTEORDER != byteOrder) + SWAP_64 (d); + return writeRaw ((void*)&d, sizeof (double)) == sizeof (double); +} + +//------------------------------------------------------------------------ +bool FStreamer::readDouble (double& d) +{ + if (readRaw ((void*)&d, sizeof (double)) == sizeof (double)) + { + if (BYTEORDER != byteOrder) + SWAP_64 (d); + return true; + } + d = 0.0; + return false; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeDoubleArray (const double* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!writeDouble (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readDoubleArray (double* array, int32 count) +{ + for (int32 i = 0; i < count; i++) + { + if (!readDouble (array[i])) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::readBool (bool& b) +{ + int16 v = 0; + bool res = readInt16 (v); + b = (v != 0); + return res; +} + +//------------------------------------------------------------------------ +bool FStreamer::writeBool (bool b) +{ + return writeInt16 ((int16)b); +} + +//------------------------------------------------------------------------ +TSize FStreamer::writeString8 (const char8* ptr, bool terminate) +{ + TSize size = strlen (ptr); + if (terminate) // write \0 + size++; + + return writeRaw ((void*)ptr, size); +} + +//------------------------------------------------------------------------ +TSize FStreamer::readString8 (char8* ptr, TSize size) +{ + TSize i = 0; + char8 c = 0; + while (i < size) + { + if (readRaw ((void*)&c, sizeof (char)) != sizeof (char)) + break; + ptr[i] = c; + i++; + if (c == '\n' || c == '\0') + break; + } + if (c == '\n' && ptr[i - 2] == '\r') + ptr[i - 2] = 0; + if (i < size) + ptr[i] = 0; + else + ptr[size - 1] = 0; + + return strlen (ptr); +} + +//------------------------------------------------------------------------ +bool FStreamer::writeStringUtf8 (const tchar* ptr) +{ + bool isUtf8 = false; + + String str (ptr); + if (str.isAsciiString () == false) + { + str.toMultiByte (kCP_Utf8); + isUtf8 = true; + } + else + { + str.toMultiByte (); + } + + if (isUtf8) + if (writeRaw (kBomUtf8, kBomUtf8Length) != kBomUtf8Length) + return false; + + TSize size = str.length () + 1; + if (writeRaw (str.text8 (), size) != size) + return false; + + return true; +} + +//------------------------------------------------------------------------ +int32 FStreamer::readStringUtf8 (tchar* ptr, int32 nChars) +{ + char8 c = 0; + + ptr [0] = 0; + + Buffer tmp; + tmp.setDelta (1024); + + while (true) + { + if (readRaw ((void*)&c, sizeof (char)) != sizeof (char)) + break; + tmp.put (c); + if (c == '\0') + break; + } + + char8* source = tmp.int8Ptr (); + uint32 codePage = kCP_Default; // for legacy take default page if no utf8 bom is present... + if (tmp.getFillSize () > 2) + { + if (memcmp (source, kBomUtf8, kBomUtf8Length) == 0) + { + codePage = kCP_Utf8; + source += 3; + } + } + + if (tmp.getFillSize () > 1) + { +#ifdef UNICODE + ConstString::multiByteToWideString (ptr, source, nChars, codePage); +#else + if (codePage == kCP_Utf8) + { + Buffer wideBuffer (tmp.getFillSize () * 3); + ConstString::multiByteToWideString (wideBuffer.wcharPtr (), source, wideBuffer.getSize () / 2, kCP_Utf8); + ConstString::wideStringToMultiByte (ptr, wideBuffer.wcharPtr (), nChars); + } + else + { + memcpy (ptr, source, Min (nChars, tmp.getFillSize ())); + } +#endif + } + + ptr[nChars - 1] = 0; + return ConstString (ptr).length (); +} + +//------------------------------------------------------------------------ +bool FStreamer::writeStr8 (const char8* s) +{ + int32 length = (s) ? (int32) strlen (s) + 1 : 0; + if (!writeInt32 (length)) + return false; + + if (length > 0) + return writeRaw (s, sizeof (char8) * length) == static_cast(sizeof (char8) * length); + + return true; +} + +//------------------------------------------------------------------------ +int32 FStreamer::getStr8Size (const char8* s) +{ + return sizeof (int32) + (int32)strlen (s) + 1; +} + +//------------------------------------------------------------------------ +char8* FStreamer::readStr8 () +{ + int32 length; + if (!readInt32 (length)) + return 0; + + // check corruption + if (length > 262144) + return 0; + + char8* s = (length > 0) ? NEWVEC char8[length] : 0; + if (s) + readRaw (s, length * sizeof (char8)); + return s; +} + +//------------------------------------------------------------------------ +bool FStreamer::skip (uint32 bytes) +{ + int8 tmp; + while (bytes-- > 0) + { + if (readInt8 (tmp) == false) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +bool FStreamer::pad (uint32 bytes) +{ + while (bytes-- > 0) + { + if (writeInt8 (0) == false) + return false; + } + return true; +} + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h index a0fde7e3..fc8c94d9 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstreamer.h @@ -1,242 +1,242 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fstreamer.h -// Created by : Steinberg, 12/2005 -// Description : Extract of typed stream i/o methods from FStream -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/funknown.h" - -namespace Steinberg { - -//------------------------------------------------------------------------ -enum FSeekMode -{ - kSeekSet, - kSeekCurrent, - kSeekEnd -}; - -//------------------------------------------------------------------------ -// FStreamer -//------------------------------------------------------------------------ -/** Byteorder-aware base class for typed stream i/o. */ -//------------------------------------------------------------------------ -class FStreamer -{ -public: -//------------------------------------------------------------------------ - FStreamer (int16 byteOrder = BYTEORDER); - virtual ~FStreamer () {} - - /** @name Implementing class must override. */ - ///@{ - virtual TSize readRaw (void*, TSize) = 0; ///< Read one buffer of size. - virtual TSize writeRaw (const void*, TSize) = 0; ///< Write one buffer of size. - virtual int64 seek (int64, FSeekMode) = 0; ///< Set file position for stream. - virtual int64 tell () = 0; ///< Return current file position. - ///@} - - /** @name Streams are byteOrder aware. */ - ///@{ - inline void setByteOrder (int32 e) { byteOrder = (int16)e; } - inline int32 getByteOrder () { return byteOrder; } - ///@} - - /** @name read and write int8 and char. */ - ///@{ - bool writeChar8 (char8); - bool readChar8 (char8&); - bool writeUChar8 (unsigned char); - bool readUChar8 (unsigned char&); - bool writeChar16 (char16 c); - bool readChar16 (char16& c); - - bool writeInt8 (int8 c){return writeChar8 (c);} - bool readInt8 (int8& c){return readChar8 (c);} - bool writeInt8u (uint8 c){return writeUChar8 (c);} - bool readInt8u (uint8& c){return readUChar8 (c);} - ///@} - - /** @name read and write int16. */ - ///@{ - bool writeInt16 (int16); - bool readInt16 (int16&); - bool writeInt16Array (const int16* array, int32 count); - bool readInt16Array (int16* array, int32 count); - bool writeInt16u (uint16); - bool readInt16u (uint16&); - bool writeInt16uArray (const uint16* array, int32 count); - bool readInt16uArray (uint16* array, int32 count); - ///@} - - /** @name read and write int32. */ - ///@{ - bool writeInt32 (int32); - bool readInt32 (int32&); - bool writeInt32Array (const int32* array, int32 count); - bool readInt32Array (int32* array, int32 count); - bool writeInt32u (uint32); - bool readInt32u (uint32&); - bool writeInt32uArray (const uint32* array, int32 count); - bool readInt32uArray (uint32* array, int32 count); - ///@} - - /** @name read and write int64. */ - ///@{ - bool writeInt64 (int64); - bool readInt64 (int64&); - bool writeInt64Array (const int64* array, int32 count); - bool readInt64Array (int64* array, int32 count); - bool writeInt64u (uint64); - bool readInt64u (uint64&); - bool writeInt64uArray (const uint64* array, int32 count); - bool readInt64uArray (uint64* array, int32 count); - ///@} - - /** @name read and write float and float array. */ - ///@{ - bool writeFloat (float); - bool readFloat (float&); - bool writeFloatArray (const float* array, int32 count); - bool readFloatArray (float* array, int32 count); - ///@} - - /** @name read and write double and double array. */ - ///@{ - bool writeDouble (double); - bool readDouble (double&); - bool writeDoubleArray (const double* array, int32 count); - bool readDoubleArray (double* array, int32 count); - ///@} - - /** @name read and write Boolean. */ - ///@{ - bool writeBool (bool); ///< Write one boolean - bool readBool (bool&); ///< Read one bool. - ///@} - - /** @name read and write Strings. */ - ///@{ - TSize writeString8 (const char8* ptr, bool terminate = false); ///< a direct output function writing only one string (ascii 8bit) - TSize readString8 (char8* ptr, TSize size); ///< a direct input function reading only one string (ascii) (ended by a \n or \0 or eof) - - bool writeStr8 (const char8* ptr); ///< write a string length (strlen) and string itself - char8* readStr8 (); ///< read a string length and string text (The return string must be deleted when use is finished) - - static int32 getStr8Size (const char8* ptr); ///< returns the size of a saved string - - bool writeStringUtf8 (const tchar* ptr); ///< always terminated, converts to utf8 if non ascii characters are in string - int32 readStringUtf8 (tchar* ptr, int32 maxSize); ///< read a UTF8 string - ///@} - - bool skip (uint32 bytes); - bool pad (uint32 bytes); - - -//------------------------------------------------------------------------ -protected: - int16 byteOrder; -}; - - -//------------------------------------------------------------------------ -/** FStreamSizeHolder Declaration - remembers size of stream chunk for backward compatibility. - - Example: - @code - externalize (a) - { - FStreamSizeHolder sizeHolder; - sizeHolder.beginWrite (); // sets start mark, writes dummy size - a << .... - sizeHolder.endWrite (); // jumps to start mark, updates size, jumps back here - } - - internalize (a) - { - FStreamSizeHolder sizeHolder; - sizeHolder.beginRead (); // reads size, mark - a >> .... - sizeHolder.endRead (); // jumps forward if new version has larger size - } - @endcode -*/ -//------------------------------------------------------------------------ -class FStreamSizeHolder -{ -public: - FStreamSizeHolder (FStreamer &s); - - void beginWrite (); ///< remembers position and writes 0 - int32 endWrite (); ///< writes and returns size (since the start marker) - int32 beginRead (); ///< returns size - void endRead (); ///< jump to end of chunk - -protected: - FStreamer &stream; - int64 sizePos; -}; - -class IBStream; - -//------------------------------------------------------------------------ -// IBStreamer -//------------------------------------------------------------------------ -/** Wrapper class for typed reading/writing from or to IBStream. - Can be used framework-independent in Plug-ins. */ -//------------------------------------------------------------------------ -class IBStreamer: public FStreamer -{ -public: -//------------------------------------------------------------------------ - /** Constructor for a given IBSTream and a byteOrder. */ - IBStreamer (IBStream* stream, int16 byteOrder = BYTEORDER); - - IBStream* getStream () { return stream; } ///< Returns the associated IBStream. - - // FStreamer overrides: - TSize readRaw (void*, TSize) SMTG_OVERRIDE; ///< Read one buffer of size. - TSize writeRaw (const void*, TSize) SMTG_OVERRIDE; ///< Write one buffer of size. - int64 seek (int64, FSeekMode) SMTG_OVERRIDE; ///< Set file position for stream. - int64 tell () SMTG_OVERRIDE; ///< Return current file position. -//------------------------------------------------------------------------ -protected: - IBStream* stream; -}; - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fstreamer.h +// Created by : Steinberg, 12/2005 +// Description : Extract of typed stream i/o methods from FStream +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/funknown.h" + +namespace Steinberg { + +//------------------------------------------------------------------------ +enum FSeekMode +{ + kSeekSet, + kSeekCurrent, + kSeekEnd +}; + +//------------------------------------------------------------------------ +// FStreamer +//------------------------------------------------------------------------ +/** Byteorder-aware base class for typed stream i/o. */ +//------------------------------------------------------------------------ +class FStreamer +{ +public: +//------------------------------------------------------------------------ + FStreamer (int16 byteOrder = BYTEORDER); + virtual ~FStreamer () {} + + /** @name Implementing class must override. */ + ///@{ + virtual TSize readRaw (void*, TSize) = 0; ///< Read one buffer of size. + virtual TSize writeRaw (const void*, TSize) = 0; ///< Write one buffer of size. + virtual int64 seek (int64, FSeekMode) = 0; ///< Set file position for stream. + virtual int64 tell () = 0; ///< Return current file position. + ///@} + + /** @name Streams are byteOrder aware. */ + ///@{ + inline void setByteOrder (int32 e) { byteOrder = (int16)e; } + inline int32 getByteOrder () const { return byteOrder; } + ///@} + + /** @name read and write int8 and char. */ + ///@{ + bool writeChar8 (char8); + bool readChar8 (char8&); + bool writeUChar8 (unsigned char); + bool readUChar8 (unsigned char&); + bool writeChar16 (char16 c); + bool readChar16 (char16& c); + + bool writeInt8 (int8 c){return writeChar8 (c);} + bool readInt8 (int8& c){return readChar8 (c);} + bool writeInt8u (uint8 c){return writeUChar8 (c);} + bool readInt8u (uint8& c){return readUChar8 (c);} + ///@} + + /** @name read and write int16. */ + ///@{ + bool writeInt16 (int16); + bool readInt16 (int16&); + bool writeInt16Array (const int16* array, int32 count); + bool readInt16Array (int16* array, int32 count); + bool writeInt16u (uint16); + bool readInt16u (uint16&); + bool writeInt16uArray (const uint16* array, int32 count); + bool readInt16uArray (uint16* array, int32 count); + ///@} + + /** @name read and write int32. */ + ///@{ + bool writeInt32 (int32); + bool readInt32 (int32&); + bool writeInt32Array (const int32* array, int32 count); + bool readInt32Array (int32* array, int32 count); + bool writeInt32u (uint32); + bool readInt32u (uint32&); + bool writeInt32uArray (const uint32* array, int32 count); + bool readInt32uArray (uint32* array, int32 count); + ///@} + + /** @name read and write int64. */ + ///@{ + bool writeInt64 (int64); + bool readInt64 (int64&); + bool writeInt64Array (const int64* array, int32 count); + bool readInt64Array (int64* array, int32 count); + bool writeInt64u (uint64); + bool readInt64u (uint64&); + bool writeInt64uArray (const uint64* array, int32 count); + bool readInt64uArray (uint64* array, int32 count); + ///@} + + /** @name read and write float and float array. */ + ///@{ + bool writeFloat (float); + bool readFloat (float&); + bool writeFloatArray (const float* array, int32 count); + bool readFloatArray (float* array, int32 count); + ///@} + + /** @name read and write double and double array. */ + ///@{ + bool writeDouble (double); + bool readDouble (double&); + bool writeDoubleArray (const double* array, int32 count); + bool readDoubleArray (double* array, int32 count); + ///@} + + /** @name read and write Boolean. */ + ///@{ + bool writeBool (bool); ///< Write one boolean + bool readBool (bool&); ///< Read one bool. + ///@} + + /** @name read and write Strings. */ + ///@{ + TSize writeString8 (const char8* ptr, bool terminate = false); ///< a direct output function writing only one string (ascii 8bit) + TSize readString8 (char8* ptr, TSize size); ///< a direct input function reading only one string (ascii) (ended by a \n or \0 or eof) + + bool writeStr8 (const char8* ptr); ///< write a string length (strlen) and string itself + char8* readStr8 (); ///< read a string length and string text (The return string must be deleted when use is finished) + + static int32 getStr8Size (const char8* ptr); ///< returns the size of a saved string + + bool writeStringUtf8 (const tchar* ptr); ///< always terminated, converts to utf8 if non ascii characters are in string + int32 readStringUtf8 (tchar* ptr, int32 maxSize); ///< read a UTF8 string + ///@} + + bool skip (uint32 bytes); + bool pad (uint32 bytes); + + +//------------------------------------------------------------------------ +protected: + int16 byteOrder; +}; + + +//------------------------------------------------------------------------ +/** FStreamSizeHolder Declaration + remembers size of stream chunk for backward compatibility. + + Example: + @code + externalize (a) + { + FStreamSizeHolder sizeHolder; + sizeHolder.beginWrite (); // sets start mark, writes dummy size + a << .... + sizeHolder.endWrite (); // jumps to start mark, updates size, jumps back here + } + + internalize (a) + { + FStreamSizeHolder sizeHolder; + sizeHolder.beginRead (); // reads size, mark + a >> .... + sizeHolder.endRead (); // jumps forward if new version has larger size + } + @endcode +*/ +//------------------------------------------------------------------------ +class FStreamSizeHolder +{ +public: + FStreamSizeHolder (FStreamer &s); + + void beginWrite (); ///< remembers position and writes 0 + int32 endWrite (); ///< writes and returns size (since the start marker) + int32 beginRead (); ///< returns size + void endRead (); ///< jump to end of chunk + +protected: + FStreamer &stream; + int64 sizePos; +}; + +class IBStream; + +//------------------------------------------------------------------------ +// IBStreamer +//------------------------------------------------------------------------ +/** Wrapper class for typed reading/writing from or to IBStream. + Can be used framework-independent in Plug-ins. */ +//------------------------------------------------------------------------ +class IBStreamer: public FStreamer +{ +public: +//------------------------------------------------------------------------ + /** Constructor for a given IBSTream and a byteOrder. */ + IBStreamer (IBStream* stream, int16 byteOrder = BYTEORDER); + + IBStream* getStream () { return stream; } ///< Returns the associated IBStream. + + // FStreamer overrides: + TSize readRaw (void*, TSize) SMTG_OVERRIDE; ///< Read one buffer of size. + TSize writeRaw (const void*, TSize) SMTG_OVERRIDE; ///< Write one buffer of size. + int64 seek (int64, FSeekMode) SMTG_OVERRIDE; ///< Set file position for stream. + int64 tell () SMTG_OVERRIDE; ///< Return current file position. +//------------------------------------------------------------------------ +protected: + IBStream* stream; +}; + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp index be33be58..bd3a360b 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.cpp @@ -1,3996 +1,3996 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fstring.cpp -// Created by : Steinberg, 2008 -// Description : String class -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#include "base/source/fstring.h" -#include "base/source/fdebug.h" -#include "pluginterfaces/base/futils.h" -#include "pluginterfaces/base/fvariant.h" - -#include -#include -#include -#include -#include - -#if SMTG_OS_WINDOWS -#include -#pragma warning (disable : 4244) -#pragma warning (disable : 4267) -#pragma warning (disable : 4996) - -#if DEVELOPMENT -#include - -#define malloc(s) _malloc_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) -#define realloc(p,s) _realloc_dbg(p,s, _NORMAL_BLOCK, __FILE__, __LINE__) -#define free(p) _free_dbg(p, _NORMAL_BLOCK) - -#endif - -#endif - -#ifndef kPrintfBufferSize -#define kPrintfBufferSize 4096 -#endif - -#if SMTG_OS_MACOS -#include -#include -#include -#include - -#if defined (__GNUC__) && (__GNUC__ >= 4) && !__LP64__ -// on 32 bit Mac OS X we can safely ignore the format warnings as sizeof(int) == sizeof(long) -#pragma GCC diagnostic ignored "-Wformat" -#endif - -#define SMTG_ENABLE_DEBUG_CFALLOCATOR 0 -#define SMTG_DEBUG_CFALLOCATOR (DEVELOPMENT && SMTG_ENABLE_DEBUG_CFALLOCATOR) - -#if SMTG_DEBUG_CFALLOCATOR -#include -#include -#endif - -namespace Steinberg { -#if SMTG_DEBUG_CFALLOCATOR -static CFAllocatorRef kCFAllocator = NULL; - -struct CFStringDebugAllocator : CFAllocatorContext -{ - CFStringDebugAllocator () - { - version = 0; - info = this; - retain = nullptr; - release = nullptr; - copyDescription = nullptr; - allocate = allocateCallBack; - reallocate = reallocateCallBack; - deallocate = deallocateCallBack; - preferredSize = preferredSizeCallBack; - - numAllocations = allocationSize = numDeallocations = 0; - cfAllocator = CFAllocatorCreate (kCFAllocatorUseContext, this); - - Dl_info info; - if (dladdr ((const void*)CFStringDebugAllocator::allocateCallBack, &info)) - { - moduleName = info.dli_fname; - } - kCFAllocator = cfAllocator; - } - - ~CFStringDebugAllocator () - { - kCFAllocator = kCFAllocatorDefault; - CFRelease (cfAllocator); - FDebugPrint ("CFStringDebugAllocator (%s):\n", moduleName.text8 ()); - FDebugPrint ("\tNumber of allocations : %u\n", numAllocations); - FDebugPrint ("\tNumber of deallocations: %u\n", numDeallocations); - FDebugPrint ("\tAllocated Bytes : %u\n", allocationSize); - } - - String moduleName; - CFAllocatorRef cfAllocator; - volatile int64_t numAllocations; - volatile int64_t numDeallocations; - volatile int64_t allocationSize; - - void* doAllocate (CFIndex allocSize, CFOptionFlags hint) - { - void* ptr = CFAllocatorAllocate (kCFAllocatorDefault, allocSize, hint); - OSAtomicIncrement64 (&numAllocations); - OSAtomicAdd64 (allocSize, &allocationSize); - return ptr; - } - void* doReallocate (void* ptr, CFIndex newsize, CFOptionFlags hint) - { - void* newPtr = CFAllocatorReallocate (kCFAllocatorDefault, ptr, newsize, hint); - return newPtr; - } - void doDeallocate (void* ptr) - { - CFAllocatorDeallocate (kCFAllocatorDefault, ptr); - OSAtomicIncrement64 (&numDeallocations); - } - CFIndex getPreferredSize (CFIndex size, CFOptionFlags hint) - { - return CFAllocatorGetPreferredSizeForSize (kCFAllocatorDefault, size, hint); - } - - static void* allocateCallBack (CFIndex allocSize, CFOptionFlags hint, void* info) - { - return static_cast (info)->doAllocate (allocSize, hint); - } - static void* reallocateCallBack (void* ptr, CFIndex newsize, CFOptionFlags hint, void* info) - { - return static_cast (info)->doReallocate (ptr, newsize, hint); - } - - static void deallocateCallBack (void* ptr, void* info) - { - static_cast (info)->doDeallocate (ptr); - } - static CFIndex preferredSizeCallBack (CFIndex size, CFOptionFlags hint, void* info) - { - return static_cast (info)->getPreferredSize (size, hint); - } -}; -static CFStringDebugAllocator gDebugAllocator; -#else - -static const CFAllocatorRef kCFAllocator = ::kCFAllocatorDefault; -#endif -} - -//----------------------------------------------------------------------------- -static void* toCFStringRef (const Steinberg::char8* source, Steinberg::uint32 encoding) -{ - if (encoding == 0xFFFF) - encoding = kCFStringEncodingASCII; - if (source) - return (void*)CFStringCreateWithCString (Steinberg::kCFAllocator, source, encoding); - else - return (void*)CFStringCreateWithCString (Steinberg::kCFAllocator, "", encoding); -} - -//----------------------------------------------------------------------------- -static bool fromCFStringRef (Steinberg::char8* dest, Steinberg::int32 destSize, const void* cfStr, Steinberg::uint32 encoding) -{ - CFIndex usedBytes; - CFRange range = {0, CFStringGetLength ((CFStringRef)cfStr)}; - bool result = CFStringGetBytes ((CFStringRef)cfStr, range, encoding, '?', false, (UInt8*)dest, destSize, &usedBytes); - dest[usedBytes] = 0; - return result; -} -#endif // SMTG_OS_MACOS - -#if SMTG_OS_WINDOWS -#define stricmp16 wcsicmp -#define strnicmp16 wcsnicmp -#define strrchr16 wcsrchr -#define sprintf16 swprintf -#define snprintf16 snwprintf -#define vsnprintf16 vsnwprintf -#define vsprintf16 wvsprintf -#define vfprintf16 vfwprintf -#define sscanf16 swscanf -#define toupper16 towupper -#define tolower16 towlower -#define isupper16 iswupper -#define islower16 iswlower -#define isspace16 iswspace -#define isalpha16 iswalpha -#define isdigit16 iswdigit -#define isalnum16 iswalnum - -#define stricmp _stricmp -#define strnicmp _strnicmp -#define snprintf _snprintf -#define vsnprintf _vsnprintf -#define snwprintf _snwprintf -#define vsnwprintf _vsnwprintf - -#define wtoi _wtoi -#define wtol _wtol -#define wtof _wtof - -#elif SMTG_OS_LINUX -#include -#include -#include -#include -#include -#include -#include - -using ConverterFacet = std::codecvt_utf8_utf16; -using Converter = std::wstring_convert; - -//------------------------------------------------------------------------ -static ConverterFacet& converterFacet () -{ - static ConverterFacet gFacet; - return gFacet; -} - -//------------------------------------------------------------------------ -static Converter& converter () -{ - static Converter gConverter; - return gConverter; -} - -//----------------------------------------------------------------------------- -static inline int stricasecmp (const Steinberg::char8* s1, const Steinberg::char8* s2) -{ - return ::strcasecmp (s1, s2); -} - -//----------------------------------------------------------------------------- -static inline int strnicasecmp (const Steinberg::char8* s1, const Steinberg::char8* s2, size_t n) -{ - return ::strncasecmp (s1, s2, n); -} - -//----------------------------------------------------------------------------- -static inline int stricmp16 (const Steinberg::char16* s1, const Steinberg::char16* s2) -{ - auto str1 = converter ().to_bytes (s1); - auto str2 = converter ().to_bytes (s2); - return stricasecmp (str1.data (), str2.data ()); -} - -//----------------------------------------------------------------------------- -static inline int strnicmp16 (const Steinberg::char16* s1, const Steinberg::char16* s2, int n) -{ - auto str1 = converter ().to_bytes (s1); - auto str2 = converter ().to_bytes (s2); - return strnicasecmp (str1.data (), str2.data (), n); -} - -//----------------------------------------------------------------------------- -static inline int sprintf16 (Steinberg::char16* wcs, const Steinberg::char16* format, ...) -{ -#warning DEPRECATED No Linux implementation - assert(false && "DEPRECATED No Linux implementation"); - return 0; -} - -//----------------------------------------------------------------------------- -static inline int vsnwprintf (Steinberg::char16* wcs, size_t maxlen, - const Steinberg::char16* format, va_list args) -{ - Steinberg::char8 str8[kPrintfBufferSize]; - auto format_utf8 = converter ().to_bytes(format); - auto len = vsnprintf (str8, kPrintfBufferSize, format_utf8.data (), args); - - auto tmp_str = converter ().from_bytes (str8, str8 + len); - auto target_len = std::min (tmp_str.size (), maxlen - 1); - tmp_str.copy (wcs, target_len); - wcs[target_len] = '\0'; - - return tmp_str.size (); -} - -//----------------------------------------------------------------------------- -static inline Steinberg::char16* strrchr16 (const Steinberg::char16* str, Steinberg::char16 c) -{ -#warning DEPRECATED No Linux implementation - assert(false && "DEPRECATED No Linux implementation"); - return nullptr; -} - -#elif SMTG_OS_MACOS -#define tstrtoi64 strtoll -#define stricmp strcasecmp -#define strnicmp strncasecmp - -//----------------------------------------------------------------------------- -static inline Steinberg::int32 strnicmp16 (const Steinberg::char16* str1, const Steinberg::char16* str2, size_t size) -{ - if (size == 0) - return 0; - - CFIndex str1Len = Steinberg::strlen16 (str1); - CFIndex str2Len = Steinberg::strlen16 (str2); - if (size < str2Len) // range is not applied to second string - str2Len = size; - CFStringRef cfStr1 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str1, str1Len, kCFAllocatorNull); - CFStringRef cfStr2 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str2, str2Len, kCFAllocatorNull); - CFComparisonResult result = CFStringCompareWithOptions (cfStr1, cfStr2, CFRangeMake (0, size), kCFCompareCaseInsensitive); - CFRelease (cfStr1); - CFRelease (cfStr2); - switch (result) - { - case kCFCompareEqualTo: return 0; - case kCFCompareLessThan: return -1; - case kCFCompareGreaterThan: - default: return 1; - }; -} - -//----------------------------------------------------------------------------- -static inline Steinberg::int32 stricmp16 (const Steinberg::char16* str1, CFIndex str1Len, const Steinberg::char16* str2, CFIndex str2Len) -{ - CFStringRef cfStr1 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str1, str1Len, kCFAllocatorNull); - CFStringRef cfStr2 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str2, str2Len, kCFAllocatorNull); - CFComparisonResult result = CFStringCompare (cfStr1, cfStr2, kCFCompareCaseInsensitive); - CFRelease (cfStr1); - CFRelease (cfStr2); - switch (result) - { - case kCFCompareEqualTo: return 0; - case kCFCompareLessThan: return -1; - case kCFCompareGreaterThan: - default: return 1; - }; -} - -//----------------------------------------------------------------------------- -static inline Steinberg::int32 stricmp16 (const Steinberg::ConstString& str1, const Steinberg::ConstString& str2) -{ - return stricmp16 (str1.text16 (), str1.length (), str2.text16 (), str2.length ()); -} - -//----------------------------------------------------------------------------- -static inline Steinberg::int32 stricmp16 (const Steinberg::char16* str1, const Steinberg::char16* str2) -{ - CFIndex str1Len = Steinberg::strlen16 (str1); - CFIndex str2Len = Steinberg::strlen16 (str2); - return stricmp16 (str1, str1Len, str2, str2Len); -} - -//----------------------------------------------------------------------------- -static inline Steinberg::char16* strrchr16 (const Steinberg::char16* str, Steinberg::char16 c) -{ - Steinberg::int32 len = Steinberg::ConstString (str).length (); - while (len > 0) - { - if (str[len] == c) - return const_cast(str + len); - len--; - } - return 0; -} - -//----------------------------------------------------------------------------- -static inline Steinberg::int32 vsnwprintf (Steinberg::char16* str, Steinberg::int32 size, const Steinberg::char16* format, va_list ap) -{ - // wrapped using CoreFoundation's CFString - CFMutableStringRef formatString = (CFMutableStringRef)Steinberg::ConstString (format).toCFStringRef (0xFFFF, true); - CFStringFindAndReplace (formatString, CFSTR("%s"), CFSTR("%S"), CFRangeMake (0, CFStringGetLength (formatString)), 0); - CFStringRef resultString = CFStringCreateWithFormatAndArguments (Steinberg::kCFAllocator, 0, formatString, ap); - CFRelease (formatString); - if (resultString) - { - Steinberg::String res; - res.fromCFStringRef (resultString); - res.copyTo16 (str, 0, size); - CFRelease (resultString); - return 0; - } - return 1; -} - -//----------------------------------------------------------------------------- -static inline Steinberg::int32 sprintf16 (Steinberg::char16* str, const Steinberg::char16* format, ...) -{ - va_list marker; - va_start (marker, format); - return vsnwprintf (str, -1, format, marker); -} - -#endif - -/* -UTF-8 EF BB BF -UTF-16 Big Endian FE FF -UTF-16 Little Endian FF FE -UTF-32 Big Endian 00 00 FE FF -UTF-32 Little Endian FF FE 00 00 -*/ - -namespace Steinberg { - -//----------------------------------------------------------------------------- -static inline bool isCaseSensitive (ConstString::CompareMode mode) -{ - return mode == ConstString::kCaseSensitive; -} - -//----------------------------------------------------------------------------- -// ConstString -//----------------------------------------------------------------------------- -ConstString::ConstString (const char8* str, int32 length) -: buffer8 ((char8*)str) -, len (length < 0 ? (str ? static_cast (strlen (str)) : 0) : length) -, isWide (0) -{ -} - -//----------------------------------------------------------------------------- -ConstString::ConstString (const char16* str, int32 length) -: buffer16 ((char16*)str) -, len (length < 0 ? (str ? strlen16 (str) : 0) : length) -, isWide (1) -{ -} - -//----------------------------------------------------------------------------- -ConstString::ConstString (const ConstString& str, int32 offset, int32 length) -: buffer (str.buffer) -, len (length < 0 ? (str.len - (offset > 0 ? offset : 0)) : length) -, isWide (str.isWide) -{ - if (offset > 0) - { - if (isWide) - buffer16 += offset; - else - buffer8 += offset; - } -} - -//----------------------------------------------------------------------------- -ConstString::ConstString (const FVariant& var) -: buffer (0) -, len (0) -, isWide (0) -{ - switch (var.getType ()) - { - case FVariant::kString8: - buffer8 = (char8*)var.getString8 (); - len = buffer8 ? strlen8 (buffer8) : 0; - isWide = false; - break; - - case FVariant::kString16: - buffer16 = (char16*)var.getString16 (); - len = buffer16 ? strlen16 (buffer16) : 0; - isWide = true; - break; - } -} - -//----------------------------------------------------------------------------- -ConstString::ConstString () -: buffer (0) -, len (0) -, isWide (0) -{ -} - -//----------------------------------------------------------------------------- -bool ConstString::testChar8 (uint32 index, char8 c) const -{ - if (index >= len) - return c == 0; - if (isWide) - { - // make c wide - char8 src[] = {c, 0}; - char16 dest[2] = {0}; - if (multiByteToWideString (dest, src, 2) > 0) - return buffer16[index] == dest[0]; - return false; - } - return buffer8[index] == c; -} - -//----------------------------------------------------------------------------- -bool ConstString::testChar16 (uint32 index, char16 c) const -{ - if (index >= len) - return c == 0; - if (!isWide) - { - // make c ansi - char16 src[] = {c, 0}; - char8 dest[8] = {0}; - if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) - return buffer8[index] == dest[0]; - return false; - } - return buffer16[index] == c; -} - -//----------------------------------------------------------------------------- -bool ConstString::extract (String& result, uint32 idx, int32 n) const -{ - if (len == 0|| idx >= len) - return false; - - if ((idx + n > len) || n < 0) - n = len - idx; - - if (isWide) - result.assign (buffer16 + idx, n); - else - result.assign (buffer8 + idx, n); - - return true; -} - -//----------------------------------------------------------------------------- -int32 ConstString::copyTo8 (char8* str, uint32 idx, int32 n) const -{ - if (!str) - return 0; - - if (isWide) - { - String tmp (text16 ()); - if (tmp.toMultiByte () == false) - return 0; - return tmp.copyTo8 (str, idx, n); - } - - if (isEmpty () || idx >= len || !buffer8) - { - str[0] = 0; - return 0; - } - - if ((idx + n > len) || n < 0) - n = len - idx; - - memcpy (str, &(buffer8[idx]), n * sizeof (char8)); - str[n] = 0; - return n; -} - -//----------------------------------------------------------------------------- -int32 ConstString::copyTo16 (char16* str, uint32 idx, int32 n) const -{ - if (!str) - return 0; - - if (!isWide) - { - String tmp (text8 ()); - if (tmp.toWideString () == false) - return 0; - return tmp.copyTo16 (str, idx, n); - } - - if (isEmpty () || idx >= len || !buffer16) - { - str[0] = 0; - return 0; - } - - if ((idx + n > len) || n < 0) - n = len - idx; - - memcpy (str, &(buffer16[idx]), n * sizeof (char16)); - str[n] = 0; - return n; -} - -//----------------------------------------------------------------------------- -int32 ConstString::copyTo (tchar* str, uint32 idx, int32 n) const -{ -#ifdef UNICODE - return copyTo16 (str, idx, n); -#else - return copyTo8 (str, idx, n); -#endif -} - -//----------------------------------------------------------------------------- -void ConstString::copyTo (IStringResult* result) const -{ - if (isWideString () == false) - { - result->setText (text8 ()); - } - else - { - FUnknownPtr iStr (result); - if (iStr) - { - iStr->setText16 (text16 ()); - } - else - { - String tmp (*this); - tmp.toMultiByte (); - result->setText (tmp.text8 ()); - } - } -} - -//----------------------------------------------------------------------------- -void ConstString::copyTo (IString& string) const -{ - if (isWideString ()) - string.setText16 (text16 ()); - else - string.setText8 (text8 ()); -} - - - -//----------------------------------------------------------------------------- -int32 ConstString::compare (const ConstString& str, int32 n, CompareMode mode) const -{ - if (n == 0) - return 0; - - if (str.isEmpty ()) - { - if (isEmpty ()) - return 0; - return 1; - } - else if (isEmpty ()) - return -1; - - if (!isWide && !str.isWide) - { - if (n < 0) - { - if (isCaseSensitive (mode)) - return strcmp (*this, str); - else - return stricmp (*this, str); - } - else - { - if (isCaseSensitive (mode)) - return strncmp (*this, str, n); - else - return strnicmp (*this, str, n); - } - } - else if (isWide && str.isWide) - { - if (n < 0) - { - if (isCaseSensitive (mode)) - return strcmp16 (*this, str); - else - return stricmp16 (*this, str); - } - else - { - if (isCaseSensitive (mode)) - return strncmp16 (*this, str, n); - else - return strnicmp16 (*this, str, n); - } - } - return compareAt (0, str, n, mode); -} - -//----------------------------------------------------------------------------- -int32 ConstString::compare (const ConstString& str, CompareMode mode) const -{ - return compare (str, -1, mode); -} - -//----------------------------------------------------------------------------- -int32 ConstString::compareAt (uint32 index, const ConstString& str, int32 n, CompareMode mode) const -{ - if (n == 0) - return 0; - - if (str.isEmpty ()) - { - if (isEmpty ()) - return 0; - return 1; - } - else if (isEmpty ()) - return -1; - - if (!isWide && !str.isWide) - { - char8* toCompare = buffer8; - if (index > 0) - { - if (index >= len) - { - if (str.isEmpty ()) - return 0; - return -1; - } - toCompare += index; - } - - if (n < 0) - { - if (isCaseSensitive (mode)) - return strcmp (toCompare, str); - else - return stricmp (toCompare, str); - } - else - { - if (isCaseSensitive (mode)) - return strncmp (toCompare, str, n); - else - return strnicmp (toCompare, str, n); - } - } - else if (isWide && str.isWide) - { - char16* toCompare = buffer16; - if (index > 0) - { - if (index >= len) - { - if (str.isEmpty ()) - return 0; - return -1; - } - toCompare += index; - } - - if (n < 0) - { - if (isCaseSensitive (mode)) - return strcmp16 (toCompare, str.text16 ()); - else - return stricmp16 (toCompare, str.text16 ()); - } - else - { - if (isCaseSensitive (mode)) - return strncmp16 (toCompare, str.text16 (), n); - else - return strnicmp16 (toCompare, str.text16 (), n); - } - } - else - { - if (isWide) - { - String tmp (str.text8 ()); - if (tmp.toWideString () == false) - return -1; - return compareAt (index, tmp, n, mode); - } - else - { - String tmp (text8 ()); - if (tmp.toWideString () == false) - return 1; - return tmp.compareAt (index, str, n, mode); - } - } -} - -//------------------------------------------------------------------------ -Steinberg::int32 ConstString::naturalCompare (const ConstString& str, CompareMode mode /*= kCaseSensitive*/) const -{ - if (str.isEmpty ()) - { - if (isEmpty ()) - return 0; - return 1; - } - else if (isEmpty ()) - return -1; - - if (!isWide && !str.isWide) - return strnatcmp8 (buffer8, str.text8 (), isCaseSensitive (mode)); - else if (isWide && str.isWide) - return strnatcmp16 (buffer16, str.text16 (), isCaseSensitive (mode)); - else - { - if (isWide) - { - String tmp (str.text8 ()); - tmp.toWideString (); - return strnatcmp16 (buffer16, tmp.text16 (), isCaseSensitive (mode)); - } - else - { - String tmp (text8 ()); - tmp.toWideString (); - return strnatcmp16 (tmp.text16 (), str.text16 (), isCaseSensitive (mode)); - } - } -} - -//----------------------------------------------------------------------------- -bool ConstString::startsWith (const ConstString& str, CompareMode mode /*= kCaseSensitive*/) const -{ - if (str.isEmpty ()) - { - return isEmpty (); - } - else if (isEmpty ()) - { - return false; - } - if (length () < str.length ()) - { - return false; - } - if (!isWide && !str.isWide) - { - if (isCaseSensitive (mode)) - return strncmp (buffer8, str.buffer8, str.length ()) == 0; - return strnicmp (buffer8, str.buffer8, str.length ()) == 0; - } - else if (isWide && str.isWide) - { - if (isCaseSensitive (mode)) - return strncmp16 (buffer16, str.buffer16, str.length ()) == 0; - return strnicmp16 (buffer16, str.buffer16, str.length ()) == 0; - } - else if (isWide) - { - String tmp (str.text8 ()); - tmp.toWideString (); - if (tmp.length () > length ()) - return false; - if (isCaseSensitive (mode)) - return strncmp16 (buffer16, tmp.buffer16, tmp.length ()) == 0; - return strnicmp16 (buffer16, tmp.buffer16, tmp.length ()) == 0; - } - else - { - String tmp (text8 ()); - tmp.toWideString (); - if (str.length () > tmp.length ()) - return false; - if (isCaseSensitive (mode)) - return strncmp16 (tmp.buffer16, str.buffer16, str.length ()) == 0; - return strnicmp16 (tmp.buffer16, str.buffer16, str.length ()) == 0; - } -} - -//----------------------------------------------------------------------------- -bool ConstString::endsWith (const ConstString& str, CompareMode mode /*= kCaseSensitive*/) const -{ - if (str.isEmpty ()) - { - return isEmpty (); - } - else if (isEmpty ()) - { - return false; - } - if (length () < str.length ()) - { - return false; - } - if (!isWide && !str.isWide) - { - if (isCaseSensitive (mode)) - return strncmp (buffer8 + (length () - str.length ()), str.buffer8, str.length ()) == 0; - return strnicmp (buffer8 + (length () - str.length ()), str.buffer8, str.length ()) == 0; - } - else if (isWide && str.isWide) - { - if (isCaseSensitive (mode)) - return strncmp16 (buffer16 + (length () - str.length ()), str.buffer16, str.length ()) == 0; - return strnicmp16 (buffer16 + (length () - str.length ()), str.buffer16, str.length ()) == 0; - } - else if (isWide) - { - String tmp (str.text8 ()); - tmp.toWideString (); - if (tmp.length () > length ()) - return false; - if (isCaseSensitive (mode)) - return strncmp16 (buffer16 + (length () - tmp.length ()), tmp.buffer16, tmp.length ()) == 0; - return strnicmp16 (buffer16 + (length () - tmp.length ()), tmp.buffer16, tmp.length ()) == 0; - } - else - { - String tmp (text8 ()); - tmp.toWideString (); - if (str.length () > tmp.length ()) - return false; - if (isCaseSensitive (mode)) - return strncmp16 (tmp.buffer16 + (tmp.length () - str.length ()), str.buffer16, str.length ()) == 0; - return strnicmp16 (tmp.buffer16 + (tmp.length () - str.length ()), str.buffer16, str.length ()) == 0; - } -} - -//----------------------------------------------------------------------------- -bool ConstString::contains (const ConstString& str, CompareMode m) const -{ - return findFirst (str, -1, m) != -1; -} - -//----------------------------------------------------------------------------- -int32 ConstString::findNext (int32 startIndex, const ConstString& str, int32 n, CompareMode mode, int32 endIndex) const -{ - uint32 endLength = len; - if (endIndex > -1 && (uint32)endIndex < len) - endLength = endIndex + 1; - - if (isWide && str.isWide) - { - if (startIndex < 0) - startIndex = 0; - - uint32 stringLength = str.length (); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (n > 0) - { - uint32 i = 0; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i < endLength; i++) - if (strncmp16 (buffer16 + i, str, n) == 0) - return i; - } - else - { - for (i = startIndex; i < endLength; i++) - if (strnicmp16 (buffer16 + i, str, n) == 0) - return i; - } - } - return -1; - } - else if (!isWide && !str.isWide) - { - uint32 stringLength = str.length (); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (startIndex < 0) - startIndex = 0; - - if (n > 0) - { - uint32 i = 0; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i < endLength; i++) - if (strncmp (buffer8 + i, str, n) == 0) - return i; - } - else - { - for (i = startIndex; i < endLength; i++) - if (strnicmp (buffer8 + i, str, n) == 0) - return i; - } - } - return -1; - } - String tmp; - if (isWide) - { - tmp = str.text8 (); - tmp.toWideString (); - return findNext (startIndex, tmp, n , mode, endIndex); - } - tmp = text8 (); - tmp.toWideString (); - return tmp.findNext (startIndex, str, n, mode, endIndex); -} - -//------------------------------------------------------------------------------------------------ -int32 ConstString::findNext (int32 startIndex, char8 c, CompareMode mode, int32 endIndex) const -{ - uint32 endLength = len; - if (endIndex > -1 && (uint32)endIndex < len) - endLength = endIndex + 1; - - if (isWide) - { - char8 src[] = {c, 0}; - char16 dest[8] = {0}; - if (multiByteToWideString (dest, src, 2) > 0) - return findNext (startIndex, dest[0], mode, endIndex); - return -1; - } - - if (startIndex < 0) - startIndex = 0; - uint32 i; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i < endLength; i++) - { - if (buffer8[i] == c) - return i; - } - } - else - { - c = toLower (c); - for (i = startIndex; i < endLength; i++) - { - if (toLower (buffer8[i]) == c) - return i; - } - } - return -1; -} - -//----------------------------------------------------------------------------- -int32 ConstString::findNext (int32 startIndex, char16 c, CompareMode mode, int32 endIndex) const -{ - uint32 endLength = len; - if (endIndex > -1 && (uint32)endIndex < len) - endLength = endIndex + 1; - - if (!isWide) - { - char16 src[] = {c, 0}; - char8 dest[8] = {0}; - if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) - return findNext (startIndex, dest[0], mode, endIndex); - - return -1; - } - - uint32 i; - if (startIndex < 0) - startIndex = 0; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i < endLength; i++) - { - if (buffer16[i] == c) - return i; - } - } - else - { - c = toLower (c); - for (i = startIndex; i < endLength; i++) - { - if (toLower (buffer16[i]) == c) - return i; - } - } - return -1; -} - -//----------------------------------------------------------------------------- -int32 ConstString::findPrev (int32 startIndex, char8 c, CompareMode mode) const -{ - if (len == 0) - return -1; - - if (isWide) - { - char8 src[] = {c, 0}; - char16 dest[8] = {0}; - if (multiByteToWideString (dest, src, 2) > 0) - return findPrev (startIndex, dest[0], mode); - return -1; - } - - if (startIndex < 0 || startIndex > (int32)len) - startIndex = len; - - int32 i; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i >= 0; i--) - { - if (buffer8[i] == c) - return i; - } - } - else - { - c = toLower (c); - for (i = startIndex; i >= 0; i--) - { - if (toLower (buffer8[i]) == c) - return i; - } - } - return -1; -} - -//----------------------------------------------------------------------------- -int32 ConstString::findPrev (int32 startIndex, char16 c, CompareMode mode) const -{ - if (len == 0) - return -1; - - if (!isWide) - { - char16 src[] = {c, 0}; - char8 dest[8] = {0}; - if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) - return findPrev (startIndex, dest[0], mode); - - return -1; - } - - if (startIndex < 0 || startIndex > (int32)len) - startIndex = len; - - int32 i; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i >= 0; i--) - { - if (buffer16[i] == c) - return i; - } - } - else - { - c = toLower (c); - for (i = startIndex; i >= 0; i--) - { - if (toLower (buffer16[i]) == c) - return i; - } - } - return -1; -} - -//----------------------------------------------------------------------------- -int32 ConstString::findPrev (int32 startIndex, const ConstString& str, int32 n, CompareMode mode) const -{ - if (isWide && str.isWide) - { - uint32 stringLength = str.length (); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (startIndex < 0 || startIndex >= (int32)len) - startIndex = len - 1; - - if (n > 0) - { - int32 i = 0; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i >= 0; i--) - if (strncmp16 (buffer16 + i, str, n) == 0) - return i; - } - else - { - for (i = startIndex; i >= 0; i--) - if (strnicmp16 (buffer16 + i, str, n) == 0) - return i; - } - } - return -1; - } - else if (!isWide && !str.isWide) - { - uint32 stringLength = str.length (); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (startIndex < 0 || startIndex >= (int32)len) - startIndex = len - 1; - - if (n > 0) - { - int32 i = 0; - - if (isCaseSensitive (mode)) - { - for (i = startIndex; i >= 0; i--) - if (strncmp (buffer8 + i, str, n) == 0) - return i; - } - else - { - for (i = startIndex; i >= 0; i--) - if (strnicmp (buffer8 + i, str, n) == 0) - return i; - } - } - return -1; - } - if (isWide) - { - String tmp (str.text8 ()); - tmp.toWideString (); - return findPrev (startIndex, tmp, n, mode); - } - String tmp (text8 ()); - tmp.toWideString (); - return tmp.findPrev (startIndex, str, n, mode); -} - -//----------------------------------------------------------------------------- -int32 ConstString::countOccurences (char8 c, uint32 startIndex, CompareMode mode) const -{ - if (isWide) - { - char8 src[] = {c, 0}; - char16 dest[8] = {0}; - if (multiByteToWideString (dest, src, 2) > 0) - return countOccurences (dest[0], startIndex, mode); - return -1; - } - - int32 result = 0; - int32 next = startIndex; - while (true) - { - next = findNext (next, c, mode); - if (next >= 0) - { - next++; - result++; - } - else - break; - } - return result; -} - -//----------------------------------------------------------------------------- -int32 ConstString::countOccurences (char16 c, uint32 startIndex, CompareMode mode) const -{ - if (!isWide) - { - char16 src[] = {c, 0}; - char8 dest[8] = {0}; - if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) - return countOccurences (dest[0], startIndex, mode); - - return -1; - } - int32 result = 0; - int32 next = startIndex; - while (true) - { - next = findNext (next, c, mode); - if (next >= 0) - { - next++; - result++; - } - else - break; - } - return result; -} - -//----------------------------------------------------------------------------- -int32 ConstString::getFirstDifferent (const ConstString& str, CompareMode mode) const -{ - if (str.isWide != isWide) - { - if (isWide) - { - String tmp (str.text8 ()); - if (tmp.toWideString () == false) - return -1; - return getFirstDifferent (tmp, mode); - } - else - { - String tmp (text8 ()); - if (tmp.toWideString () == false) - return -1; - return tmp.getFirstDifferent (str, mode); - } - } - - uint32 len1 = len; - uint32 len2 = str.len; - uint32 i; - - if (isWide) - { - if (isCaseSensitive (mode)) - { - for (i = 0; i <= len1 && i <= len2; i++) - { - if (buffer16[i] != str.buffer16[i]) - return i; - } - } - else - { - for (i = 0; i <= len1 && i <= len2; i++) - { - if (toLower (buffer16[i]) != toLower (str.buffer16[i])) - return i; - } - } - } - else - { - if (isCaseSensitive (mode)) - { - for (i = 0; i <= len1 && i <= len2; i++) - { - if (buffer8[i] != str.buffer8[i]) - return i; - } - } - else - { - for (i = 0; i <= len1 && i <= len2; i++) - { - if (toLower (buffer8[i]) != toLower (str.buffer8[i])) - return i; - } - } - } - return -1; -} - -//----------------------------------------------------------------------------- -bool ConstString::scanInt64 (int64& value, uint32 offset, bool scanToEnd) const -{ - if (isEmpty () || offset >= len) - return false; - - if (isWide) - return scanInt64_16 (buffer16 + offset, value, scanToEnd); - else - return scanInt64_8 (buffer8 + offset, value, scanToEnd); -} - -//----------------------------------------------------------------------------- -bool ConstString::scanUInt64 (uint64& value, uint32 offset, bool scanToEnd) const -{ - if (isEmpty () || offset >= len) - return false; - - if (isWide) - return scanUInt64_16 (buffer16 + offset, value, scanToEnd); - else - return scanUInt64_8 (buffer8 + offset, value, scanToEnd); -} - -//----------------------------------------------------------------------------- -bool ConstString::scanHex (uint8& value, uint32 offset, bool scanToEnd) const -{ - if (isEmpty () || offset >= len) - return false; - - if (isWide) - return scanHex_16 (buffer16 + offset, value, scanToEnd); - else - return scanHex_8 (buffer8 + offset, value, scanToEnd); -} - -//----------------------------------------------------------------------------- -bool ConstString::scanInt32 (int32& value, uint32 offset, bool scanToEnd) const -{ - if (isEmpty () || offset >= len) - return false; - - if (isWide) - return scanInt32_16 (buffer16 + offset, value, scanToEnd); - else - return scanInt32_8 (buffer8 + offset, value, scanToEnd); -} - -//----------------------------------------------------------------------------- -bool ConstString::scanUInt32 (uint32& value, uint32 offset, bool scanToEnd) const -{ - if (isEmpty () || offset >= len) - return false; - - if (isWide) - return scanUInt32_16 (buffer16 + offset, value, scanToEnd); - else - return scanUInt32_8 (buffer8 + offset, value, scanToEnd); -} - -//----------------------------------------------------------------------------- -bool ConstString::scanInt64_8 (const char8* text, int64& value, bool scanToEnd) -{ - while (text && text[0]) - { - if (sscanf (text, "%" FORMAT_INT64A, &value) == 1) - return true; - else if (scanToEnd == false) - return false; - text++; - } - return false; -} - -//----------------------------------------------------------------------------- -bool ConstString::scanInt64_16 (const char16* text, int64& value, bool scanToEnd) -{ - if (text && text[0]) - { - String str (text); - str.toMultiByte (kCP_Default); - return scanInt64_8 (str, value, scanToEnd); - } - return false; -} - -//----------------------------------------------------------------------------- -bool ConstString::scanUInt64_8 (const char8* text, uint64& value, bool scanToEnd) -{ - while (text && text[0]) - { - if (sscanf (text, "%" FORMAT_UINT64A, &value) == 1) - return true; - else if (scanToEnd == false) - return false; - text++; - } - return false; -} - -//----------------------------------------------------------------------------- -bool ConstString::scanUInt64_16 (const char16* text, uint64& value, bool scanToEnd) -{ - if (text && text[0]) - { - String str (text); - str.toMultiByte (kCP_Default); - return scanUInt64_8 (str, value, scanToEnd); - } - return false; -} - -//----------------------------------------------------------------------------- -bool ConstString::scanInt64 (const tchar* text, int64& value, bool scanToEnd) -{ -#ifdef UNICODE - return scanInt64_16 (text, value,scanToEnd); -#else - return scanInt64_8 (text, value, scanToEnd); -#endif -} - -//----------------------------------------------------------------------------- -bool ConstString::scanUInt64 (const tchar* text, uint64& value, bool scanToEnd) -{ -#ifdef UNICODE - return scanUInt64_16 (text, value, scanToEnd); -#else - return scanUInt64_8 (text, value, scanToEnd); -#endif -} - -//----------------------------------------------------------------------------- -bool ConstString::scanHex_8 (const char8* text, uint8& value, bool scanToEnd) -{ - while (text && text[0]) - { - unsigned int v; // scanf expects an unsigned int for %x - if (sscanf (text, "%x", &v) == 1) - { - value = (uint8)v; - return true; - } - else if (scanToEnd == false) - return false; - text++; - } - return false; -} - -//----------------------------------------------------------------------------- -bool ConstString::scanHex_16 (const char16* text, uint8& value, bool scanToEnd) -{ - if (text && text[0]) - { - String str (text); - str.toMultiByte (kCP_Default); // scanf uses default codepage - return scanHex_8 (str, value, scanToEnd); - } - return false; -} - -//----------------------------------------------------------------------------- -bool ConstString::scanHex (const tchar* text, uint8& value, bool scanToEnd) -{ -#ifdef UNICODE - return scanHex_16 (text, value, scanToEnd); -#else - return scanHex_8 (text, value, scanToEnd); -#endif -} - -//----------------------------------------------------------------------------- -bool ConstString::scanFloat (double& value, uint32 offset, bool scanToEnd) const -{ - if (isEmpty () || offset >= len) - return false; - - String str (*this); - int32 pos = -1; - if (isWide) - { - if ((pos = str.findNext (offset, STR(','))) >= 0 && ((uint32)pos) >= offset) - str.setChar (pos, STR('.')); - - str.toMultiByte (kCP_Default); // scanf uses default codepage - } - else - { - if ((pos = str.findNext (offset, ',')) >= 0 && ((uint32)pos) >= offset) - str.setChar (pos, '.'); - } - - const char8* txt = str.text8 () + offset; - while (txt && txt[0]) - { - if (sscanf (txt, "%lf", &value) == 1) - return true; - else if (scanToEnd == false) - return false; - txt++; - } - return false; -} - -//----------------------------------------------------------------------------- -char16 ConstString::toLower (char16 c) -{ - #if SMTG_OS_WINDOWS - WCHAR temp[2] = {c, 0}; - ::CharLowerW (temp); - return temp[0]; - #elif SMTG_OS_MACOS - // only convert characters which in lowercase are also single characters - UniChar characters [2] = {0}; - characters[0] = c; - CFMutableStringRef str = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, characters, 1, 2, kCFAllocatorNull); - if (str) - { - CFStringLowercase (str, NULL); - CFRelease (str); - if (characters[1] == 0) - return characters[0]; - } - return c; - #elif SMTG_OS_LINUX - #warning DEPRECATED No Linux implementation - assert(false && "DEPRECATED No Linux implementation"); - return c; - #else - return towlower (c); - #endif -} - -//----------------------------------------------------------------------------- -char16 ConstString::toUpper (char16 c) -{ - #if SMTG_OS_WINDOWS - WCHAR temp[2] = {c, 0}; - ::CharUpperW (temp); - return temp[0]; - #elif SMTG_OS_MACOS - // only convert characters which in uppercase are also single characters (don't translate a sharp-s which would result in SS) - UniChar characters [2] = {0}; - characters[0] = c; - CFMutableStringRef str = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, characters, 1, 2, kCFAllocatorNull); - if (str) - { - CFStringUppercase (str, NULL); - CFRelease (str); - if (characters[1] == 0) - return characters[0]; - } - return c; - #elif SMTG_OS_LINUX - #warning DEPRECATED No Linux implementation - assert(false && "DEPRECATED No Linux implementation"); - return c; - #else - return towupper (c); - #endif -} - -//----------------------------------------------------------------------------- -char8 ConstString::toLower (char8 c) -{ - if ((c >= 'A') && (c <= 'Z')) - return c + ('a' - 'A'); - #if SMTG_OS_WINDOWS - CHAR temp[2] = {c, 0}; - ::CharLowerA (temp); - return temp[0]; - #else - return tolower (c); - #endif -} - -//----------------------------------------------------------------------------- -char8 ConstString::toUpper (char8 c) -{ - if ((c >= 'a') && (c <= 'z')) - return c - ('a' - 'A'); - #if SMTG_OS_WINDOWS - CHAR temp[2] = {c, 0}; - ::CharUpperA (temp); - return temp[0]; - #else - return toupper (c); - #endif -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharSpace (const char8 character) -{ - return isspace (character) != 0; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharSpace (const char16 character) -{ - switch (character) - { - case 0x0020: - case 0x00A0: - case 0x2002: - case 0x2003: - case 0x2004: - case 0x2005: - case 0x2006: - case 0x2007: - case 0x2008: - case 0x2009: - case 0x200A: - case 0x200B: - case 0x202F: - case 0x205F: - case 0x3000: - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharAlpha (const char8 character) -{ - return isalpha (character) != 0; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharAlpha (const char16 character) -{ - return iswalpha (character) != 0; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharAlphaNum (const char8 character) -{ - return isalnum (character) != 0; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharAlphaNum (const char16 character) -{ - return iswalnum (character) != 0; // this may not work on macOSX when another locale is set inside the c-lib -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharDigit (const char8 character) -{ - return isdigit (character) != 0; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharDigit (const char16 character) -{ - return iswdigit (character) != 0; // this may not work on macOSX when another locale is set inside the c-lib -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharAscii (char8 character) -{ - return character >= 0; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharAscii (char16 character) -{ - return character < 128; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharUpper (char8 character) -{ - return toUpper (character) == character; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharUpper (char16 character) -{ - return toUpper (character) == character; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharLower (char8 character) -{ - return toLower (character) == character; -} - -//----------------------------------------------------------------------------- -bool ConstString::isCharLower (char16 character) -{ - return toLower (character) == character; -} - -//----------------------------------------------------------------------------- -bool ConstString::isDigit (uint32 index) const -{ - if (isEmpty () || index >= len) - return false; - - if (isWide) - return ConstString::isCharDigit (buffer16[index]); - else - return ConstString::isCharDigit (buffer8[index]); -} - -//----------------------------------------------------------------------------- -int32 ConstString::getTrailingNumberIndex (uint32 width) const -{ - if (isEmpty ()) - return -1; - - int32 endIndex = len - 1; - int32 i = endIndex; - while (isDigit ((uint32) i) && i >= 0) - i--; - - // now either all are digits or i is on the first non digit - if (i < endIndex) - { - if (width > 0 && (endIndex - i != static_cast (width))) - return -1; - - return i + 1; - } - - return -1; -} - -//----------------------------------------------------------------------------- -int64 ConstString::getTrailingNumber (int64 fallback) const -{ - int32 index = getTrailingNumberIndex (); - - int64 number = 0; - - if (index >= 0) - if (scanInt64 (number, index)) - return number; - - return fallback; -} - - - -//----------------------------------------------------------------------------- -void ConstString::toVariant (FVariant& var) const -{ - if (isWide) - { - var.setString16 (buffer16); - } - else - { - var.setString8 (buffer8); - } -} - -//----------------------------------------------------------------------------- -bool ConstString::isAsciiString () const -{ - uint32 i; - if (isWide) - { - for (i = 0; i < len; i++) - if (ConstString::isCharAscii (buffer16 [i]) == false) - return false; - } - else - { - for (i = 0; i < len; i++) - if (ConstString::isCharAscii (buffer8 [i]) == false) - return false; - } - return true; -} - - -#if SMTG_OS_MACOS -uint32 kDefaultSystemEncoding = kCFStringEncodingMacRoman; -//----------------------------------------------------------------------------- -static CFStringEncoding MBCodePageToCFStringEncoding (uint32 codePage) -{ - switch (codePage) - { - case kCP_ANSI: return kDefaultSystemEncoding; // MacRoman or JIS - case kCP_MAC_ROMAN: return kCFStringEncodingMacRoman; - case kCP_ANSI_WEL: return kCFStringEncodingWindowsLatin1; - case kCP_MAC_CEE: return kCFStringEncodingMacCentralEurRoman; - case kCP_Utf8: return kCFStringEncodingUTF8; - case kCP_ShiftJIS: return kCFStringEncodingShiftJIS_X0213_00; - case kCP_US_ASCII: return kCFStringEncodingASCII; - } - return kCFStringEncodingASCII; -} -#endif - -//----------------------------------------------------------------------------- -int32 ConstString::multiByteToWideString (char16* dest, const char8* source, int32 charCount, uint32 sourceCodePage) -{ - if (source == 0 || source[0] == 0) - { - if (dest && charCount > 0) - { - dest[0] = 0; - } - return 0; - } - int32 result = 0; -#if SMTG_OS_WINDOWS - result = MultiByteToWideChar (sourceCodePage, MB_ERR_INVALID_CHARS, source, -1, dest, charCount); -#endif - -#if SMTG_OS_MACOS - CFStringRef cfStr = - (CFStringRef)::toCFStringRef (source, MBCodePageToCFStringEncoding (sourceCodePage)); - if (cfStr) - { - CFRange range = {0, CFStringGetLength (cfStr)}; - CFIndex usedBytes; - if (CFStringGetBytes (cfStr, range, kCFStringEncodingUnicode, ' ', false, (UInt8*)dest, - charCount * 2, &usedBytes) > 0) - { - result = static_cast (usedBytes / 2 + 1); - if (dest) - dest[usedBytes / 2] = 0; - } - - CFRelease (cfStr); - } -#endif - -#if SMTG_OS_LINUX - if (sourceCodePage == kCP_ANSI || sourceCodePage == kCP_Utf8) - { - if (dest == nullptr) - { - auto state = std::mbstate_t (); - auto maxChars = charCount ? charCount : std::numeric_limits::max () - 1; - result = converterFacet ().length (state, source, source + strlen (source), maxChars); - } - else - { - auto utf16Str = converter ().from_bytes (source); - if (!utf16Str.empty ()) - { - result = std::min (charCount, utf16Str.size ()); - memcpy (dest, utf16Str.data (), result * sizeof (char16)); - dest[result] = 0; - } - } - } - else - { -#warning DEPRECATED No Linux implementation - assert(false && "DEPRECATED No Linux implementation"); - } - -#endif - - SMTG_ASSERT (result > 0) - return result; -} - -//----------------------------------------------------------------------------- -int32 ConstString::wideStringToMultiByte (char8* dest, const char16* wideString, int32 charCount, uint32 destCodePage) -{ -#if SMTG_OS_WINDOWS - return WideCharToMultiByte (destCodePage, 0, wideString, -1, dest, charCount, 0, 0); - -#elif SMTG_OS_MACOS - int32 result = 0; - if (wideString != 0) - { - if (dest) - { - CFStringRef cfStr = CFStringCreateWithCharactersNoCopy (kCFAllocator, (const UniChar*)wideString, strlen16 (wideString), kCFAllocatorNull); - if (cfStr) - { - if (fromCFStringRef (dest, charCount, cfStr, MBCodePageToCFStringEncoding (destCodePage))) - result = static_cast (strlen (dest) + 1); - CFRelease (cfStr); - } - } - else - { - return static_cast (CFStringGetMaximumSizeForEncoding (strlen16 (wideString), MBCodePageToCFStringEncoding (destCodePage))); - } - } - return result; - -#elif SMTG_OS_LINUX - int32 result = 0; - if (destCodePage == kCP_Utf8) - { - if (dest == nullptr) - { - auto maxChars = charCount ? charCount : tstrlen (wideString); - result = converterFacet ().max_length () * maxChars; - } - else - { - auto utf8Str = converter ().to_bytes (wideString); - if (!utf8Str.empty ()) - { - result = std::min (charCount, utf8Str.size ()); - memcpy (dest, utf8Str.data (), result * sizeof (char8)); - dest[result] = 0; - } - } - } - else if (destCodePage == kCP_ANSI) - { - if (dest == nullptr) - { - result = strlen16 (wideString) + 1; - } - else - { - int32 i = 0; - for (; i < charCount; ++i) - { - if (wideString[i] == 0) - break; - if (wideString[i] <= 0x007F) - dest[i] = wideString[i]; - else - dest[i] = '_'; - } - dest[i] = 0; - result = i; - } - } - else - { -#warning DEPRECATED No Linux implementation - assert(false && "DEPRECATED No Linux implementation"); - } - return result; - -#else -#warning DEPRECATED No Linux implementation - assert(false && "DEPRECATED No Linux implementation"); - return 0; -#endif - -} - -//----------------------------------------------------------------------------- -bool ConstString::isNormalized (UnicodeNormalization n) -{ - if (isWide == false) - return false; - -#if SMTG_OS_WINDOWS -#ifdef UNICODE - if (n != kUnicodeNormC) - return false; - uint32 normCharCount = static_cast (FoldString (MAP_PRECOMPOSED, buffer16, len, 0, 0)); - return (normCharCount == len); -#else - return false; -#endif - -#elif SMTG_OS_MACOS - if (n != kUnicodeNormC) - return false; - - CFStringRef cfStr = (CFStringRef)toCFStringRef (); - CFIndex charCount = CFStringGetLength (cfStr); - CFRelease (cfStr); - return (charCount == len); -#else - return false; -#endif -} - -//----------------------------------------------------------------------------- -// String -//----------------------------------------------------------------------------- -String::String () -{ - isWide = kWideStringDefault ? 1 : 0; -} - -//----------------------------------------------------------------------------- -String::String (const char8* str, MBCodePage codePage, int32 n, bool isTerminated) -{ - isWide = 0; - if (str) - { - assign (str, n, isTerminated); - toWideString (codePage); - } -} - -//----------------------------------------------------------------------------- -String::String (const char8* str, int32 n, bool isTerminated) -{ - if (str) - assign (str, n, isTerminated); -} - -//----------------------------------------------------------------------------- -String::String (const char16* str, int32 n, bool isTerminated) -{ - isWide = 1; - if (str) - assign (str, n, isTerminated); -} - -//----------------------------------------------------------------------------- -String::String (const String& str, int32 n) -{ - isWide = str.isWideString (); - if (!str.isEmpty ()) - assign (str, n); -} - -//----------------------------------------------------------------------------- -String::String (const ConstString& str, int32 n) -{ - isWide = str.isWideString (); - if (!str.isEmpty ()) - assign (str, n); -} - -//----------------------------------------------------------------------------- -String::String (const FVariant& var) -{ - isWide = kWideStringDefault ? 1 : 0; - fromVariant (var); -} - -//----------------------------------------------------------------------------- -String::String (IString* str) -{ - isWide = str->isWideString (); - if (isWide) - assign (str->getText16 ()); - else - assign (str->getText8 ()); -} - -//----------------------------------------------------------------------------- -String::~String () -{ - if (buffer) - resize (0, false); -} - -#if SMTG_CPP11_STDLIBSUPPORT -//----------------------------------------------------------------------------- -String::String (String&& str) -{ - *this = std::move (str); -} - -//----------------------------------------------------------------------------- -String& String::operator= (String&& str) -{ - SMTG_ASSERT (buffer == 0 || buffer != str.buffer); - tryFreeBuffer (); - - isWide = str.isWide; - buffer = str.buffer; - len = str.len; - str.buffer = nullptr; - str.len = 0; - return *this; -} -#endif - -//----------------------------------------------------------------------------- -void String::updateLength () -{ - if (isWide) - len = strlen16 (text16 ()); - else - len = strlen8 (text8 ()); -} - -//----------------------------------------------------------------------------- -bool String::toWideString (uint32 sourceCodePage) -{ - if (!isWide) - { - if (buffer8 && len > 0) - { - int32 bytesNeeded = multiByteToWideString (0, buffer8, 0, sourceCodePage) * sizeof (char16); - if (bytesNeeded) - { - bytesNeeded += sizeof (char16); - char16* newStr = (char16*) malloc (bytesNeeded); - if (multiByteToWideString (newStr, buffer8, len + 1, sourceCodePage) <= 0) - { - free (newStr); - return false; - } - free (buffer8); - buffer16 = newStr; - isWide = true; - updateLength (); - } - else - { - return false; - } - } - isWide = true; - } - return true; -} - -#define SMTG_STRING_CHECK_CONVERSION 1 -#define SMTG_STRING_CHECK_CONVERSION_NO_BREAK 1 - -#if SMTG_STRING_CHECK_CONVERSION_NO_BREAK - #define SMTG_STRING_CHECK_MSG FDebugPrint -#else - #define SMTG_STRING_CHECK_MSG FDebugBreak -#endif -//----------------------------------------------------------------------------- -bool String::checkToMultiByte (uint32 destCodePage) const -{ - if (!isWide || isEmpty ()) - return true; - -#if DEVELOPMENT && SMTG_STRING_CHECK_CONVERSION - int debugLen = length (); - int debugNonASCII = 0; - for (int32 i = 0; i < length (); i++) - { - if (buffer16[i] > 127) - ++debugNonASCII; - } - - String* backUp = nullptr; - if (debugNonASCII > 0) - backUp = NEW String (*this); -#endif - - // this should be avoided, since it can lead to information loss - bool result = const_cast (*this).toMultiByte (destCodePage); - -#if DEVELOPMENT && SMTG_STRING_CHECK_CONVERSION - if (backUp) - { - String temp (*this); - temp.toWideString (destCodePage); - - if (temp != *backUp) - { - backUp->toMultiByte (kCP_Utf8); - SMTG_STRING_CHECK_MSG ("Indirect string conversion information loss ! %d/%d non ASCII chars: \"%s\" -> \"%s\"\n", debugNonASCII, debugLen, backUp->buffer8, buffer8); - } - else - SMTG_STRING_CHECK_MSG ("Indirect string potential conversion information loss ! %d/%d non ASCII chars result: \"%s\"\n", debugNonASCII, debugLen, buffer8); - - delete backUp; - } -#endif - - return result; -} - -//----------------------------------------------------------------------------- -bool String::toMultiByte (uint32 destCodePage) -{ - if (isWide) - { - if (buffer16 && len > 0) - { - int32 numChars = wideStringToMultiByte (0, buffer16, 0, destCodePage) + sizeof (char8); - char8* newStr = (char8*) malloc (numChars * sizeof (char8)); - if (wideStringToMultiByte (newStr, buffer16, numChars, destCodePage) <= 0) - { - free (newStr); - return false; - } - free (buffer16); - buffer8 = newStr; - isWide = false; - updateLength (); - } - isWide = false; - } - else if (destCodePage != kCP_Default) - { - if (toWideString () == false) - return false; - return toMultiByte (destCodePage); - } - return true; -} - -//----------------------------------------------------------------------------- -void String::fromUTF8 (const char8* utf8String) -{ - assign (utf8String); - toWideString (kCP_Utf8); -} - -//----------------------------------------------------------------------------- -bool String::normalize (UnicodeNormalization n) -{ - if (isWide == false) - return false; - - if (buffer16 == 0) - return true; - -#if SMTG_OS_WINDOWS -#ifdef UNICODE - if (n != kUnicodeNormC) - return false; - - uint32 normCharCount = static_cast (FoldString (MAP_PRECOMPOSED, buffer16, len, 0, 0)); - if (normCharCount == len) - return true; - - char16* newString = (char16*)malloc ((normCharCount + 1) * sizeof (char16)); - uint32 converterCount = static_cast (FoldString (MAP_PRECOMPOSED, buffer16, len, newString, normCharCount + 1)); - if (converterCount != normCharCount) - { - free (newString); - return false; - } - newString [converterCount] = 0; - free (buffer16); - buffer16 = newString; - updateLength (); - return true; -#else - return false; -#endif - -#elif SMTG_OS_MACOS - CFMutableStringRef origStr = (CFMutableStringRef)toCFStringRef (0xFFFF, true); - if (origStr) - { - CFStringNormalizationForm normForm = kCFStringNormalizationFormD; - switch (n) - { - case kUnicodeNormC: normForm = kCFStringNormalizationFormC; break; - case kUnicodeNormD: normForm = kCFStringNormalizationFormD; break; - case kUnicodeNormKC: normForm = kCFStringNormalizationFormKC; break; - case kUnicodeNormKD: normForm = kCFStringNormalizationFormKD; break; - } - CFStringNormalize (origStr, normForm); - bool result = fromCFStringRef (origStr); - CFRelease (origStr); - return result; - } - return false; -#else - return false; -#endif -} - -//----------------------------------------------------------------------------- -void String::tryFreeBuffer () -{ - if (buffer) - { - free (buffer); - buffer = 0; - } -} - -//----------------------------------------------------------------------------- -bool String::resize (uint32 newLength, bool wide, bool fill) -{ - if (newLength == 0) - { - tryFreeBuffer (); - len = 0; - isWide = wide ? 1 : 0; - } - else - { - size_t newCharSize = wide ? sizeof (char16) : sizeof (char8); - size_t oldCharSize = (isWide != 0) ? sizeof (char16) : sizeof (char8); - - size_t newBufferSize = (newLength + 1) * newCharSize; - size_t oldBufferSize = (len + 1) * oldCharSize; - - isWide = wide ? 1 : 0; - - if (buffer) - { - if (newBufferSize != oldBufferSize) - { - void* newstr = realloc (buffer, newBufferSize); - if (newstr == 0) - return false; - buffer = newstr; - if (isWide) - buffer16[newLength] = 0; - else - buffer8[newLength] = 0; - } - else if (wide && newCharSize != oldCharSize) - buffer16[newLength] = 0; - } - else - { - void* newstr = malloc (newBufferSize); - if (newstr == 0) - return false; - buffer = newstr; - if (isWide) - { - buffer16[0] = 0; - buffer16[newLength] = 0; - } - else - { - buffer8[0] = 0; - buffer8[newLength] = 0; - } - } - - if (fill && len < newLength && buffer) - { - if (isWide) - { - char16 c = ' '; - for (uint32 i = len; i < newLength; i++) - buffer16 [i] = c; - } - else - { - memset (buffer8 + len, ' ', newLength - len); - } - } - } - return true; -} - -//----------------------------------------------------------------------------- -bool String::setChar8 (uint32 index, char8 c) -{ - if (index == len && c == 0) - return true; - - if (index >= len) - { - if (c == 0) - { - if (resize (index, isWide, true) == false) - return false; - len = index; - return true; - } - else - { - if (resize (index + 1, isWide, true) == false) - return false; - len = index + 1; - } - } - - if (index < len && buffer) - { - if (isWide) - { - if (c == 0) - buffer16[index] = 0; - else - { - char8 src[] = {c, 0}; - char16 dest[8] = {0}; - if (multiByteToWideString (dest, src, 2) > 0) - buffer16[index] = dest[0]; - } - SMTG_ASSERT (buffer16[len] == 0) - } - else - { - buffer8[index] = c; - SMTG_ASSERT (buffer8[len] == 0) - } - - if (c == 0) - updateLength (); - - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -bool String::setChar16 (uint32 index, char16 c) -{ - if (index == len && c == 0) - return true; - - if (index >= len) - { - if (c == 0) - { - if (resize (index, isWide, true) == false) - return false; - len = index; - return true; - } - else - { - if (resize (index + 1, isWide, true) == false) - return false; - len = index + 1; - } - } - - if (index < len && buffer) - { - if (isWide) - { - buffer16[index] = c; - SMTG_ASSERT (buffer16[len] == 0) - } - else - { - SMTG_ASSERT (buffer8[len] == 0) - char16 src[] = {c, 0}; - char8 dest[8] = {0}; - if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) - buffer8[index] = dest[0]; - else - return false; - } - - if (c == 0) - updateLength (); - - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -String& String::assign (const ConstString& str, int32 n) -{ - if (str.isWideString ()) - return assign (str.text16 (), n < 0 ? str.length () : n); - else - return assign (str.text8 (), n < 0 ? str.length () : n); -} - -//----------------------------------------------------------------------------- -String& String::assign (const char8* str, int32 n, bool isTerminated) -{ - if (str == buffer8) - return *this; - - if (isTerminated) - { - uint32 stringLength = (uint32)((str) ? strlen (str) : 0); - n = n < 0 ? stringLength : Min (n, stringLength); - } - else if (n < 0) - return *this; - - if (resize (n, false)) - { - if (buffer8 && n > 0) - { - memcpy (buffer8, str, n * sizeof (char8)); - SMTG_ASSERT (buffer8[n] == 0) - } - isWide = 0; - len = n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::assign (const char16* str, int32 n, bool isTerminated) -{ - if (str == buffer16) - return *this; - - if (isTerminated) - { - uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); - n = n < 0 ? stringLength : Min (n, stringLength); - } - else if (n < 0) - return *this; - - if (resize (n, true)) - { - if (buffer16 && n > 0) - { - memcpy (buffer16, str, n * sizeof (char16)); - SMTG_ASSERT (buffer16[n] == 0) - } - isWide = 1; - len = n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::assign (char8 c, int32 n) -{ - if (resize (n, false)) - { - if (buffer8 && n > 0) - { - memset (buffer8, c, n * sizeof (char8)); - SMTG_ASSERT (buffer8[n] == 0) - } - isWide = 0; - len = n; - } - return *this; - -} - -//----------------------------------------------------------------------------- -String& String::assign (char16 c, int32 n) -{ - if (resize (n, true)) - { - if (buffer && n > 0) - { - for (int32 i = 0; i < n; i++) - buffer16[i] = c; - SMTG_ASSERT (buffer16[n] == 0) - } - isWide = 1; - len = n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::append (const ConstString& str, int32 n) -{ - if (str.isWideString ()) - return append (str.text16 (), n); - else - return append (str.text8 (), n); -} - -//----------------------------------------------------------------------------- -String& String::append (const char8* str, int32 n) -{ - if (str == buffer8) - return *this; - - if (len == 0) - return assign (str, n); - - if (isWide) - { - String tmp (str); - if (tmp.toWideString () == false) - return *this; - - return append (tmp.buffer16, n); - } - - uint32 stringLength = (uint32)((str) ? strlen (str) : 0); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (n > 0) - { - int32 newlen = n + len; - if (!resize (newlen, false)) - return *this; - - if (buffer) - { - memcpy (buffer8 + len, str, n * sizeof (char8)); - SMTG_ASSERT (buffer8[newlen] == 0) - } - - len += n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::append (const char16* str, int32 n) -{ - if (str == buffer16) - return *this; - - if (len == 0) - return assign (str, n); - - if (!isWide) - { - if (toWideString () == false) - return *this; - } - - uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (n > 0) - { - int32 newlen = n + len; - if (!resize (newlen, true)) - return *this; - - if (buffer16) - { - memcpy (buffer16 + len, str, n * sizeof (char16)); - SMTG_ASSERT (buffer16[newlen] == 0) - } - - len += n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::append (const char8 c, int32 n) -{ - char8 str[] = {c, 0}; - if (n == 1) - { - return append (str, 1); - } - else if (n > 1) - { - if (isWide) - { - String tmp (str); - if (tmp.toWideString () == false) - return *this; - - return append (tmp.buffer16[0], n); - } - - int32 newlen = n + len; - if (!resize (newlen, false)) - return *this; - - if (buffer) - { - memset (buffer8 + len, c, n * sizeof (char8)); - SMTG_ASSERT (buffer8[newlen] == 0) - } - - len += n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::append (const char16 c, int32 n) -{ - if (n == 1) - { - char16 str[] = {c, 0}; - return append (str, 1); - } - else if (n > 1) - { - if (!isWide) - { - if (toWideString () == false) - return *this; - } - - int32 newlen = n + len; - if (!resize (newlen, true)) - return *this; - - if (buffer16) - { - for (int32 i = len; i < newlen; i++) - buffer16[i] = c; - SMTG_ASSERT (buffer16[newlen] == 0) - } - - len += n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::insertAt (uint32 idx, const ConstString& str, int32 n) -{ - if (str.isWideString ()) - return insertAt (idx, str.text16 (), n); - else - return insertAt (idx, str.text8 (), n); -} - -//----------------------------------------------------------------------------- -String& String::insertAt (uint32 idx, const char8* str, int32 n) -{ - if (idx > len) - return *this; - - if (isWide) - { - String tmp (str); - if (tmp.toWideString () == false) - return *this; - return insertAt (idx, tmp.buffer16, n); - } - - uint32 stringLength = (uint32)((str) ? strlen (str) : 0); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (n > 0) - { - int32 newlen = len + n; - if (!resize (newlen, false)) - return *this; - - if (buffer) - { - if (idx < len) - memmove (buffer8 + idx + n, buffer8 + idx, (len - idx) * sizeof (char8)); - memcpy (buffer8 + idx, str, n * sizeof (char8)); - SMTG_ASSERT (buffer8[newlen] == 0) - } - - len += n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::insertAt (uint32 idx, const char16* str, int32 n) -{ - if (idx > len) - return *this; - - if (!isWide) - { - if (toWideString () == false) - return *this; - } - - uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); - n = n < 0 ? stringLength : Min (n, stringLength); - - if (n > 0) - { - int32 newlen = len + n; - if (!resize (newlen, true)) - return *this; - - if (buffer) - { - if (idx < len) - memmove (buffer16 + idx + n, buffer16 + idx, (len - idx) * sizeof (char16)); - memcpy (buffer16 + idx, str, n * sizeof (char16)); - SMTG_ASSERT (buffer16[newlen] == 0) - } - - len += n; - } - return *this; -} - -//----------------------------------------------------------------------------- -String& String::replace (uint32 idx, int32 n1, const ConstString& str, int32 n2) -{ - if (str.isWideString ()) - return replace (idx, n1, str.text16 (), n2); - else - return replace (idx, n1, str.text8 (), n2); -} - -// "replace" replaces n1 number of characters at the specified index with -// n2 characters from the specified string. -//----------------------------------------------------------------------------- -String& String::replace (uint32 idx, int32 n1, const char8* str, int32 n2) -{ - if (idx > len || str == 0) - return *this; - - if (isWide) - { - String tmp (str); - if (tmp.toWideString () == false) - return *this; - if (tmp.length () == 0 || n2 == 0) - return remove (idx, n1); - return replace (idx, n1, tmp.buffer16, n2); - } - - if (n1 < 0 || idx + n1 > len) - n1 = len - idx; - if (n1 == 0) - return *this; - - uint32 stringLength = (uint32)((str) ? strlen (str) : 0); - n2 = n2 < 0 ? stringLength : Min (n2, stringLength); - - uint32 newlen = len - n1 + n2; - if (newlen > len) - if (!resize (newlen, false)) - return *this; - - if (buffer) - { - memmove (buffer8 + idx + n2, buffer8 + idx + n1, (len - (idx + n1)) * sizeof (char8)); - memcpy (buffer8 + idx, str, n2 * sizeof (char8)); - buffer8[newlen] = 0; // cannot be removed because resize is not called called in all cases (newlen > len) - } - - len = newlen; - - return *this; -} - -//----------------------------------------------------------------------------- -String& String::replace (uint32 idx, int32 n1, const char16* str, int32 n2) -{ - if (idx > len || str == 0) - return *this; - - if (!isWide) - { - if (toWideString () == false) - return *this; - } - - if (n1 < 0 || idx + n1 > len) - n1 = len - idx; - if (n1 == 0) - return *this; - - uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); - n2 = n2 < 0 ? stringLength : Min (n2, stringLength); - - uint32 newlen = len - n1 + n2; - if (newlen > len) - if (!resize (newlen, true)) - return *this; - - if (buffer) - { - memmove (buffer16 + idx + n2, buffer16 + idx + n1, (len - (idx + n1)) * sizeof (char16)); - memcpy (buffer16 + idx, str, n2 * sizeof (char16)); - buffer16[newlen] = 0; // cannot be removed because resize is not called called in all cases (newlen > len) - } - - len = newlen; - - return *this; -} - -//----------------------------------------------------------------------------- -int32 String::replace (const char8* toReplace, const char8* toReplaceWith, bool all, CompareMode m) -{ - if (toReplace == 0 || toReplaceWith == 0) - return 0; - - int32 result = 0; - - int32 idx = findFirst (toReplace, -1, m); - if (idx > -1) - { - int32 toReplaceLen = static_cast (strlen (toReplace)); - int32 toReplaceWithLen = static_cast (strlen (toReplaceWith)); - while (idx > -1) - { - replace (idx, toReplaceLen, toReplaceWith, toReplaceWithLen); - result++; - - if (all) - idx = findNext (idx + toReplaceWithLen , toReplace, -1, m); - else - break; - } - } - - return result; -} - -//----------------------------------------------------------------------------- -int32 String::replace (const char16* toReplace, const char16* toReplaceWith, bool all, CompareMode m) -{ - if (toReplace == 0 || toReplaceWith == 0) - return 0; - - int32 result = 0; - - int32 idx = findFirst (toReplace, -1, m); - if (idx > -1) - { - int32 toReplaceLen = strlen16 (toReplace); - int32 toReplaceWithLen = strlen16 (toReplaceWith); - while (idx > -1) - { - replace (idx, toReplaceLen, toReplaceWith, toReplaceWithLen); - result++; - - if (all) - idx = findNext (idx + toReplaceWithLen, toReplace, -1, m); - else - break; - } - } - return result; -} - -//----------------------------------------------------------------------------- -template -static bool performReplace (T* str, const T* toReplace, T toReplaceBy) -{ - bool anyReplace = false; - T* p = str; - while (*p) - { - const T* rep = toReplace; - while (*rep) - { - if (*p == *rep) - { - *p = toReplaceBy; - anyReplace = true; - break; - } - rep++; - } - p++; - } - return anyReplace; -} - -//----------------------------------------------------------------------------- -bool String::replaceChars8 (const char8* toReplace, char8 toReplaceBy) -{ - if (isEmpty ()) - return false; - - if (isWide) - { - String toReplaceW (toReplace); - if (toReplaceW.toWideString () == false) - return false; - - char8 src[] = {toReplaceBy, 0}; - char16 dest[2] = {0}; - if (multiByteToWideString (dest, src, 2) > 0) - { - return replaceChars16 (toReplaceW.text16 (), dest[0]); - } - return false; - } - - if (toReplaceBy == 0) - toReplaceBy = ' '; - - return performReplace (buffer8, toReplace, toReplaceBy); -} - -//----------------------------------------------------------------------------- -bool String::replaceChars16 (const char16* toReplace, char16 toReplaceBy) -{ - if (isEmpty ()) - return false; - - if (!isWide) - { - String toReplaceA (toReplace); - if (toReplaceA.toMultiByte () == false) - return false; - - if (toReplaceA.length () > 1) - { - SMTG_WARNING("cannot replace non ASCII chars on non Wide String") - return false; - } - - char16 src[] = {toReplaceBy, 0}; - char8 dest[8] = {0}; - if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) - return replaceChars8 (toReplaceA.text8 (), dest[0]); - - return false; - } - - if (toReplaceBy == 0) - toReplaceBy = STR16 (' '); - - return performReplace (buffer16, toReplace, toReplaceBy); -} - -// "remove" removes the specified number of characters from the string -// starting at the specified index. -//----------------------------------------------------------------------------- -String& String::remove (uint32 idx, int32 n) -{ - if (isEmpty () || idx >= len || n == 0) - return *this; - - if ((idx + n > len) || n < 0) - n = len - idx; - else - { - int32 toMove = len - idx - n; - if (buffer) - { - if (isWide) - memmove (buffer16 + idx, buffer16 + idx + n, toMove * sizeof (char16)); - else - memmove (buffer8 + idx, buffer8 + idx + n, toMove * sizeof (char8)); - } - } - - resize (len - n, isWide); - updateLength (); - - return *this; -} - -//----------------------------------------------------------------------------- -bool String::removeSubString (const ConstString& subString, bool allOccurences) -{ - bool removed = false; - while (!removed || allOccurences) - { - int32 idx = findFirst (subString); - if (idx < 0) - break; - remove (idx, subString.length ()); - removed = true; - } - return removed; -} - -//----------------------------------------------------------------------------- -template -static uint32 performTrim (T* str, uint32 length, F func, bool funcResult) -{ - uint32 toRemoveAtHead = 0; - uint32 toRemoveAtTail = 0; - - T* p = str; - - while ((*p) && ((func (*p) != 0) == funcResult)) - p++; - - toRemoveAtHead = static_cast (p - str); - - if (toRemoveAtHead < length) - { - p = str + length - 1; - - while (((func (*p) != 0) == funcResult) && (p > str)) - { - p--; - toRemoveAtTail++; - } - } - - uint32 newLength = length - (toRemoveAtHead + toRemoveAtTail); - if (newLength != length) - { - if (toRemoveAtHead) - memmove (str, str + toRemoveAtHead, newLength * sizeof (T)); - } - return newLength; -} - -// "trim" trims the leading and trailing unwanted characters from the string. -//----------------------------------------------------------------------------- -bool String::trim (String::CharGroup group) -{ - if (isEmpty ()) - return false; - - uint32 newLength; - - switch (group) - { - case kSpace: - if (isWide) - newLength = performTrim (buffer16, len, iswspace, true); - else - newLength = performTrim (buffer8, len, isspace, true); - break; - - case kNotAlphaNum: - if (isWide) - newLength = performTrim (buffer16, len, iswalnum, false); - else - newLength = performTrim (buffer8, len, isalnum, false); - break; - - case kNotAlpha: - if (isWide) - newLength = performTrim (buffer16, len, iswalpha, false); - else - newLength = performTrim (buffer8, len, isalpha, false); - break; - - default: // Undefined enum value - return false; - } - - if (newLength != len) - { - resize (newLength, isWide); - len = newLength; - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -template -static uint32 performRemove (T* str, uint32 length, F func, bool funcResult) -{ - T* p = str; - - while (*p) - { - if ((func (*p) != 0) == funcResult) - { - size_t toMove = length - (p - str); - memmove (p, p + 1, toMove * sizeof (T)); - length--; - } - else - p++; - } - return length; -} -//----------------------------------------------------------------------------- -void String::removeChars (CharGroup group) -{ - if (isEmpty ()) - return; - - uint32 newLength; - - switch (group) - { - case kSpace: - if (isWide) - newLength = performRemove (buffer16, len, iswspace, true); - else - newLength = performRemove (buffer8, len, isspace, true); - break; - - case kNotAlphaNum: - if (isWide) - newLength = performRemove (buffer16, len, iswalnum, false); - else - newLength = performRemove (buffer8, len, isalnum, false); - break; - - case kNotAlpha: - if (isWide) - newLength = performRemove (buffer16, len, iswalpha, false); - else - newLength = performRemove (buffer8, len, isalpha, false); - break; - - default: // Undefined enum value - return; - } - - if (newLength != len) - { - resize (newLength, isWide); - len = newLength; - } -} - -//----------------------------------------------------------------------------- -template -static uint32 performRemoveChars (T* str, uint32 length, const T* toRemove) -{ - T* p = str; - - while (*p) - { - bool found = false; - const T* rem = toRemove; - while (*rem) - { - if (*p == *rem) - { - found = true; - break; - } - rem++; - } - - if (found) - { - size_t toMove = length - (p - str); - memmove (p, p + 1, toMove * sizeof (T)); - length--; - } - else - p++; - } - return length; -} - -//----------------------------------------------------------------------------- -bool String::removeChars8 (const char8* toRemove) -{ - if (isEmpty () || toRemove == 0) - return true; - - if (isWide) - { - String wStr (toRemove); - if (wStr.toWideString () == false) - return false; - return removeChars16 (wStr.text16 ()); - } - - uint32 newLength = performRemoveChars (buffer8, len, toRemove); - - if (newLength != len) - { - resize (newLength, false); - len = newLength; - } - return true; -} - -//----------------------------------------------------------------------------- -bool String::removeChars16 (const char16* toRemove) -{ - if (isEmpty () || toRemove == 0) - return true; - - if (!isWide) - { - String str8 (toRemove); - if (str8.toMultiByte () == false) - return false; - return removeChars8 (str8.text8 ()); - } - - uint32 newLength = performRemoveChars (buffer16, len, toRemove); - - if (newLength != len) - { - resize (newLength, true); - len = newLength; - } - return true; -} - -//----------------------------------------------------------------------------- -String& String::printf (const char8* format, ...) -{ - char8 string[kPrintfBufferSize]; - - va_list marker; - va_start (marker, format); - - vsnprintf (string, kPrintfBufferSize-1, format, marker); - return assign (string); -} - - -//----------------------------------------------------------------------------- -String& String::printf (const char16* format, ...) -{ - char16 string[kPrintfBufferSize]; - - va_list marker; - va_start (marker, format); - - vsnwprintf (string, kPrintfBufferSize-1, format, marker); - return assign (string); -} - -//----------------------------------------------------------------------------- -String& String::vprintf (const char8* format, va_list args) -{ - char8 string[kPrintfBufferSize]; - - vsnprintf (string, kPrintfBufferSize-1, format, args); - return assign (string); -} - -//----------------------------------------------------------------------------- -String& String::vprintf (const char16* format, va_list args) -{ - char16 string[kPrintfBufferSize]; - - vsnwprintf (string, kPrintfBufferSize-1, format, args); - return assign (string); -} - -//----------------------------------------------------------------------------- -String& String::printInt64 (int64 value) -{ - if (isWide) - { - #if SMTG_CPP11 - return String::printf (STR("%") STR(FORMAT_INT64A), value); - #else - return String::printf (STR("%" FORMAT_INT64A), value); - #endif - } - else - return String::printf ("%" FORMAT_INT64A, value); -} - -//----------------------------------------------------------------------------- -String& String::printFloat (double value) -{ - if (isWide) - { - char16 string[kPrintfBufferSize]; - sprintf16 (string, STR16 ("%lf"), value); - - char16* pointPtr = strrchr16 (string, STR ('.')); - if (pointPtr) - { - pointPtr++; // keep 1st digit after point - int32 index = strlen16 (string) - 1; - char16 zero = STR16 ('0'); - while (pointPtr < (string + index)) - { - if (string[index] == zero) - { - string[index] = 0; - index--; - } - else - break; - } - } - return assign (string); - } - else - { - char8 string[kPrintfBufferSize]; - sprintf (string, "%lf", value); - - char8* pointPtr = strrchr (string, '.'); - if (pointPtr) - { - pointPtr++; // keep 1st digit after point - int32 index = (int32) (strlen (string) - 1); - while (pointPtr < (string + index)) - { - if (string[index] == '0') - { - string[index] = 0; - index--; - } - else - break; - } - } - return assign (string); - } -} - -//----------------------------------------------------------------------------- -bool String::incrementTrailingNumber (uint32 width, tchar separator, uint32 minNumber, bool applyOnlyFormat) -{ - if (width > 32) - return false; - - int64 number = 1; - int32 index = getTrailingNumberIndex (); - if (index >= 0) - { - if (scanInt64 (number, index)) - if (!applyOnlyFormat) - number++; - - if (separator != 0 && index > 0 && testChar (index - 1, separator) == true) - index--; - - remove (index); - } - - if (number < minNumber) - number = minNumber; - - if (isWide) - { - char16 format[64]; - char16 trail[128]; - if (separator && isEmpty () == false) - { - sprintf16 (format, STR16 ("%%c%%0%uu"), width); - sprintf16 (trail, format, separator, (uint32) number); - } - else - { - sprintf16 (format, STR16 ("%%0%uu"), width); - sprintf16 (trail, format, (uint32) number); - } - append (trail); - } - else - { - char format[64]; - char trail[128]; - if (separator && isEmpty () == false) - { - sprintf (format, "%%c%%0%uu", width); - sprintf (trail, format, separator, (uint32) number); - } - else - { - sprintf (format, "%%0%uu", width); - sprintf (trail, format, (uint32) number); - } - append (trail); - } - - return true; -} - -//----------------------------------------------------------------------------- -void String::toLower (uint32 index) -{ - if (buffer && index < len) - { - if (isWide) - buffer16[index] = ConstString::toLower (buffer16[index]); - else - buffer8[index] = ConstString::toLower (buffer8[index]); - } -} - -//----------------------------------------------------------------------------- -void String::toLower () -{ - int32 i = len; - if (buffer && i > 0) - { - if (isWide) - { -#if SMTG_OS_MACOS - CFMutableStringRef cfStr = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, (UniChar*)buffer16, len, len+1, kCFAllocatorNull); - CFStringLowercase (cfStr, NULL); - CFRelease (cfStr); -#else - char16* c = buffer16; - while (i--) - { - *c = ConstString::toLower (*c); - c++; - } -#endif - } - else - { - char8* c = buffer8; - while (i--) - { - *c = ConstString::toLower (*c); - c++; - } - } - } -} - -//----------------------------------------------------------------------------- -void String::toUpper (uint32 index) -{ - if (buffer && index < len) - { - if (isWide) - buffer16[index] = ConstString::toUpper (buffer16[index]); - else - buffer8[index] = ConstString::toUpper (buffer8[index]); - } -} - -//----------------------------------------------------------------------------- -void String::toUpper () -{ - int32 i = len; - if (buffer && i > 0) - { - if (isWide) - { -#if SMTG_OS_MACOS - CFMutableStringRef cfStr = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, (UniChar*)buffer16, len, len+1, kCFAllocatorNull); - CFStringUppercase (cfStr, NULL); - CFRelease (cfStr); -#else - char16* c = buffer16; - while (i--) - { - *c = ConstString::toUpper (*c); - c++; - } -#endif - } - else - { - char8* c = buffer8; - while (i--) - { - *c = ConstString::toUpper (*c); - c++; - } - } - } -} - -//----------------------------------------------------------------------------- -bool String::fromVariant (const FVariant& var) -{ - switch (var.getType ()) - { - case FVariant::kString8: - assign (var.getString8 ()); - return true; - - case FVariant::kString16: - assign (var.getString16 ()); - return true; - - case FVariant::kFloat: - printFloat (var.getFloat ()); - return true; - - case FVariant::kInteger: - printInt64 (var.getInt ()); - return true; - - default: - remove (); - } - return false; -} - -//----------------------------------------------------------------------------- -void String::toVariant (FVariant& var) const -{ - if (isWide) - { - var.setString16 (text16 ()); - } - else - { - var.setString8 (text8 ()); - } -} - -//----------------------------------------------------------------------------- -bool String::fromAttributes (IAttributes* a, IAttrID attrID) -{ - FVariant variant; - if (a->get (attrID, variant) == kResultTrue) - return fromVariant (variant); - return false; -} - -//----------------------------------------------------------------------------- -bool String::toAttributes (IAttributes* a, IAttrID attrID) -{ - FVariant variant; - toVariant (variant); - if (a->set (attrID, variant) == kResultTrue) - return true; - return false; -} - -// "swapContent" swaps ownership of the strings pointed to -//----------------------------------------------------------------------------- -void String::swapContent (String& s) -{ - void* tmp = s.buffer; - uint32 tmpLen = s.len; - bool tmpWide = s.isWide; - s.buffer = buffer; - s.len = len; - s.isWide = isWide; - buffer = tmp; - len = tmpLen; - isWide = tmpWide; -} - -//----------------------------------------------------------------------------- -void String::take (String& other) -{ - resize (0, other.isWide); - buffer = other.buffer; - len = other.len; - - other.buffer = 0; - other.len = 0; -} - -//----------------------------------------------------------------------------- -void String::take (void* b, bool wide) -{ - resize (0, wide); - buffer = b; - isWide = wide; - updateLength (); -} - -//----------------------------------------------------------------------------- -void* String::pass () -{ - void* res = buffer; - len = 0; - buffer = 0; - return res; -} - -//----------------------------------------------------------------------------- -void String::passToVariant (FVariant& var) -{ - void* passed = pass (); - - if (isWide) - { - if (passed) - { - var.setString16 ((const char16*)passed); - var.setOwner (true); - } - else - var.setString16 (kEmptyString16); - } - else - { - if (passed) - { - var.setString8 ((const char8*)passed); - var.setOwner (true); - } - else - var.setString8 (kEmptyString8); - } -} - - -//----------------------------------------------------------------------------- -unsigned char* String::toPascalString (unsigned char* buf) -{ - if (buffer) - { - if (isWide) - { - String tmp (*this); - tmp.toMultiByte (); - return tmp.toPascalString (buf); - } - - int32 length = len; - if (length > 255) - length = 255; - buf[0] = (uint8)length; - while (length >= 0) - { - buf[length + 1] = buffer8[length]; - length--; - } - return buf; - } - else - { - *buf = 0; - return buf; - } -} - -//----------------------------------------------------------------------------- -const String& String::fromPascalString (const unsigned char* buf) -{ - resize (0, false); - isWide = 0; - int32 length = buf[0]; - resize (length + 1, false); - buffer8[length] = 0; // cannot be removed, because we only do the 0-termination for multibyte buffer8 - while (--length >= 0) - buffer8[length] = buf[length + 1]; - len = buf[0]; - return *this; -} - -#if SMTG_OS_MACOS - -//----------------------------------------------------------------------------- -bool String::fromCFStringRef (const void* cfStr, uint32 encoding) -{ - if (cfStr == 0) - return false; - - CFStringRef strRef = (CFStringRef)cfStr; - if (isWide) - { - CFRange range = { 0, CFStringGetLength (strRef)}; - CFIndex usedBytes; - if (resize (static_cast (range.length + 1), true)) - { - if (encoding == 0xFFFF) - encoding = kCFStringEncodingUnicode; - if (CFStringGetBytes (strRef, range, encoding, ' ', false, (UInt8*)buffer16, range.length * 2, &usedBytes) > 0) - { - buffer16[usedBytes/2] = 0; - this->len = strlen16 (buffer16); - return true; - } - } - } - else - { - if (cfStr == 0) - return false; - if (encoding == 0xFFFF) - encoding = kCFStringEncodingASCII; - int32 len = static_cast (CFStringGetLength (strRef) * 2); - if (resize (++len, false)) - { - if (CFStringGetCString (strRef, buffer8, len, encoding)) - { - this->len = static_cast (strlen (buffer8)); - return true; - } - } - } - - return false; -} - -//----------------------------------------------------------------------------- -void* ConstString::toCFStringRef (uint32 encoding, bool mutableCFString) const -{ - if (mutableCFString) - { - CFMutableStringRef str = CFStringCreateMutable (kCFAllocator, 0); - if (isWide) - { - CFStringAppendCharacters (str, (const UniChar *)buffer16, len); - return str; - } - else - { - if (encoding == 0xFFFF) - encoding = kCFStringEncodingASCII; - CFStringAppendCString (str, buffer8, encoding); - return str; - } - } - else - { - if (isWide) - { - if (encoding == 0xFFFF) - encoding = kCFStringEncodingUnicode; - return (void*)CFStringCreateWithBytes (kCFAllocator, (const unsigned char*)buffer16, len * 2, encoding, false); - } - else - { - if (encoding == 0xFFFF) - encoding = kCFStringEncodingASCII; - if (buffer8) - return (void*)CFStringCreateWithCString (kCFAllocator, buffer8, encoding); - else - return (void*)CFStringCreateWithCString (kCFAllocator, "", encoding); - } - } - return 0; -} - -#endif - -//----------------------------------------------------------------------------- -uint32 hashString8 (const char8* s, uint32 m) -{ - uint32 h = 0; - if (s) - { - for (h = 0; *s != '\0'; s++) - h = (64 * h + *s) % m; - } - return h; -} - -//----------------------------------------------------------------------------- -uint32 hashString16 (const char16* s, uint32 m) -{ - uint32 h = 0; - if (s) - { - for (h = 0; *s != 0; s++) - h = (64 * h + *s) % m; - } - return h; -} - -//------------------------------------------------------------------------ -template int32 tstrnatcmp (const T* s1, const T* s2, bool caseSensitive = true) -{ - if (s1 == 0 && s2 == 0) - return 0; - else if (s1 == 0) - return -1; - else if (s2 == 0) - return 1; - - while (*s1 && *s2) - { - if (ConstString::isCharDigit (*s1) && ConstString::isCharDigit (*s2)) - { - int32 s1LeadingZeros = 0; - while (*s1 == '0') - { - s1++; // skip leading zeros - s1LeadingZeros++; - } - int32 s2LeadingZeros = 0; - while (*s2 == '0') - { - s2++; // skip leading zeros - s2LeadingZeros++; - } - - int32 countS1Digits = 0; - while (*(s1 + countS1Digits) && ConstString::isCharDigit (*(s1 + countS1Digits))) - countS1Digits++; - int32 countS2Digits = 0; - while (*(s2 + countS2Digits) && ConstString::isCharDigit (*(s2 + countS2Digits))) - countS2Digits++; - - if (countS1Digits != countS2Digits) - return countS1Digits - countS2Digits; // one number is longer than the other - - for (int32 i = 0; i < countS1Digits; i++) - { - // countS1Digits == countS2Digits - if (*s1 != *s2) - return (int32)(*s1 - *s2); // the digits differ - s1++; - s2++; - } - - if (s1LeadingZeros != s2LeadingZeros) - return s1LeadingZeros - s2LeadingZeros; // differentiate by the number of leading zeros - } - else - { - if (caseSensitive == false) - { - T srcToUpper = toupper (*s1); - T dstToUpper = toupper (*s2); - if (srcToUpper != dstToUpper) - return (int32)(srcToUpper - dstToUpper); - } - else if (*s1 != *s2) - return (int32)(*s1 - *s2); - - s1++; - s2++; - } - } - - if (*s1 == 0 && *s2 == 0) - return 0; - else if (*s1 == 0) - return -1; - else if (*s2 == 0) - return 1; - else - return (int32)(*s1 - *s2); -} - -//------------------------------------------------------------------------ -int32 strnatcmp8 (const char8* s1, const char8* s2, bool caseSensitive /*= true*/) -{ - return tstrnatcmp (s1, s2, caseSensitive); -} - -//------------------------------------------------------------------------ -int32 strnatcmp16 (const char16* s1, const char16* s2, bool caseSensitive /*= true*/) -{ - return tstrnatcmp (s1, s2, caseSensitive); -} - -//----------------------------------------------------------------------------- -// StringObject Implementation -//----------------------------------------------------------------------------- -void PLUGIN_API StringObject::setText (const char8* text) -{ - assign (text); -} - -//----------------------------------------------------------------------------- -void PLUGIN_API StringObject::setText8 (const char8* text) -{ - assign (text); -} - -//----------------------------------------------------------------------------- -void PLUGIN_API StringObject::setText16 (const char16* text) -{ - assign (text); -} - -//----------------------------------------------------------------------------- -const char8* PLUGIN_API StringObject::getText8 () -{ - return text8 (); -} - -//----------------------------------------------------------------------------- -const char16* PLUGIN_API StringObject::getText16 () -{ - return text16 (); -} - -//----------------------------------------------------------------------------- -void PLUGIN_API StringObject::take (void* s, bool _isWide) -{ - String::take (s, _isWide); -} - -//----------------------------------------------------------------------------- -bool PLUGIN_API StringObject::isWideString () const -{ - return String::isWideString (); -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fstring.cpp +// Created by : Steinberg, 2008 +// Description : String class +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include "base/source/fstring.h" +#include "base/source/fdebug.h" +#include "pluginterfaces/base/futils.h" +#include "pluginterfaces/base/fvariant.h" + +#include +#include +#include +#include +#include + +#if SMTG_OS_WINDOWS +#include +#pragma warning (disable : 4244) +#pragma warning (disable : 4267) +#pragma warning (disable : 4996) + +#if DEVELOPMENT +#include + +#define malloc(s) _malloc_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) +#define realloc(p,s) _realloc_dbg(p,s, _NORMAL_BLOCK, __FILE__, __LINE__) +#define free(p) _free_dbg(p, _NORMAL_BLOCK) + +#endif + +#endif + +#ifndef kPrintfBufferSize +#define kPrintfBufferSize 4096 +#endif + +#if SMTG_OS_MACOS +#include +#include +#include +#include + +#if defined (__GNUC__) && (__GNUC__ >= 4) && !__LP64__ +// on 32 bit Mac OS X we can safely ignore the format warnings as sizeof(int) == sizeof(long) +#pragma GCC diagnostic ignored "-Wformat" +#endif + +#define SMTG_ENABLE_DEBUG_CFALLOCATOR 0 +#define SMTG_DEBUG_CFALLOCATOR (DEVELOPMENT && SMTG_ENABLE_DEBUG_CFALLOCATOR) + +#if SMTG_DEBUG_CFALLOCATOR +#include +#include +#endif + +namespace Steinberg { +#if SMTG_DEBUG_CFALLOCATOR +static CFAllocatorRef kCFAllocator = NULL; + +struct CFStringDebugAllocator : CFAllocatorContext +{ + CFStringDebugAllocator () + { + version = 0; + info = this; + retain = nullptr; + release = nullptr; + copyDescription = nullptr; + allocate = allocateCallBack; + reallocate = reallocateCallBack; + deallocate = deallocateCallBack; + preferredSize = preferredSizeCallBack; + + numAllocations = allocationSize = numDeallocations = 0; + cfAllocator = CFAllocatorCreate (kCFAllocatorUseContext, this); + + Dl_info info; + if (dladdr ((const void*)CFStringDebugAllocator::allocateCallBack, &info)) + { + moduleName = info.dli_fname; + } + kCFAllocator = cfAllocator; + } + + ~CFStringDebugAllocator () + { + kCFAllocator = kCFAllocatorDefault; + CFRelease (cfAllocator); + FDebugPrint ("CFStringDebugAllocator (%s):\n", moduleName.text8 ()); + FDebugPrint ("\tNumber of allocations : %u\n", numAllocations); + FDebugPrint ("\tNumber of deallocations: %u\n", numDeallocations); + FDebugPrint ("\tAllocated Bytes : %u\n", allocationSize); + } + + String moduleName; + CFAllocatorRef cfAllocator; + volatile int64_t numAllocations; + volatile int64_t numDeallocations; + volatile int64_t allocationSize; + + void* doAllocate (CFIndex allocSize, CFOptionFlags hint) + { + void* ptr = CFAllocatorAllocate (kCFAllocatorDefault, allocSize, hint); + OSAtomicIncrement64 (&numAllocations); + OSAtomicAdd64 (allocSize, &allocationSize); + return ptr; + } + void* doReallocate (void* ptr, CFIndex newsize, CFOptionFlags hint) + { + void* newPtr = CFAllocatorReallocate (kCFAllocatorDefault, ptr, newsize, hint); + return newPtr; + } + void doDeallocate (void* ptr) + { + CFAllocatorDeallocate (kCFAllocatorDefault, ptr); + OSAtomicIncrement64 (&numDeallocations); + } + CFIndex getPreferredSize (CFIndex size, CFOptionFlags hint) + { + return CFAllocatorGetPreferredSizeForSize (kCFAllocatorDefault, size, hint); + } + + static void* allocateCallBack (CFIndex allocSize, CFOptionFlags hint, void* info) + { + return static_cast (info)->doAllocate (allocSize, hint); + } + static void* reallocateCallBack (void* ptr, CFIndex newsize, CFOptionFlags hint, void* info) + { + return static_cast (info)->doReallocate (ptr, newsize, hint); + } + + static void deallocateCallBack (void* ptr, void* info) + { + static_cast (info)->doDeallocate (ptr); + } + static CFIndex preferredSizeCallBack (CFIndex size, CFOptionFlags hint, void* info) + { + return static_cast (info)->getPreferredSize (size, hint); + } +}; +static CFStringDebugAllocator gDebugAllocator; +#else + +static const CFAllocatorRef kCFAllocator = ::kCFAllocatorDefault; +#endif +} + +//----------------------------------------------------------------------------- +static void* toCFStringRef (const Steinberg::char8* source, Steinberg::uint32 encoding) +{ + if (encoding == 0xFFFF) + encoding = kCFStringEncodingASCII; + if (source) + return (void*)CFStringCreateWithCString (Steinberg::kCFAllocator, source, encoding); + else + return (void*)CFStringCreateWithCString (Steinberg::kCFAllocator, "", encoding); +} + +//----------------------------------------------------------------------------- +static bool fromCFStringRef (Steinberg::char8* dest, Steinberg::int32 destSize, const void* cfStr, Steinberg::uint32 encoding) +{ + CFIndex usedBytes; + CFRange range = {0, CFStringGetLength ((CFStringRef)cfStr)}; + bool result = CFStringGetBytes ((CFStringRef)cfStr, range, encoding, '?', false, (UInt8*)dest, destSize, &usedBytes); + dest[usedBytes] = 0; + return result; +} +#endif // SMTG_OS_MACOS + +#if SMTG_OS_WINDOWS +#define stricmp16 wcsicmp +#define strnicmp16 wcsnicmp +#define strrchr16 wcsrchr +#define sprintf16 swprintf +#define snprintf16 snwprintf +#define vsnprintf16 vsnwprintf +#define vsprintf16 wvsprintf +#define vfprintf16 vfwprintf +#define sscanf16 swscanf +#define toupper16 towupper +#define tolower16 towlower +#define isupper16 iswupper +#define islower16 iswlower +#define isspace16 iswspace +#define isalpha16 iswalpha +#define isdigit16 iswdigit +#define isalnum16 iswalnum + +#define stricmp _stricmp +#define strnicmp _strnicmp +#define snprintf _snprintf +#define vsnprintf _vsnprintf +#define snwprintf _snwprintf +#define vsnwprintf _vsnwprintf + +#define wtoi _wtoi +#define wtol _wtol +#define wtof _wtof + +#elif SMTG_OS_LINUX +#include +#include +#include +#include +#include +#include +#include + +using ConverterFacet = std::codecvt_utf8_utf16; +using Converter = std::wstring_convert; + +//------------------------------------------------------------------------ +static ConverterFacet& converterFacet () +{ + static ConverterFacet gFacet; + return gFacet; +} + +//------------------------------------------------------------------------ +static Converter& converter () +{ + static Converter gConverter; + return gConverter; +} + +//----------------------------------------------------------------------------- +static inline int stricasecmp (const Steinberg::char8* s1, const Steinberg::char8* s2) +{ + return ::strcasecmp (s1, s2); +} + +//----------------------------------------------------------------------------- +static inline int strnicasecmp (const Steinberg::char8* s1, const Steinberg::char8* s2, size_t n) +{ + return ::strncasecmp (s1, s2, n); +} + +//----------------------------------------------------------------------------- +static inline int stricmp16 (const Steinberg::char16* s1, const Steinberg::char16* s2) +{ + auto str1 = converter ().to_bytes (s1); + auto str2 = converter ().to_bytes (s2); + return stricasecmp (str1.data (), str2.data ()); +} + +//----------------------------------------------------------------------------- +static inline int strnicmp16 (const Steinberg::char16* s1, const Steinberg::char16* s2, int n) +{ + auto str1 = converter ().to_bytes (s1); + auto str2 = converter ().to_bytes (s2); + return strnicasecmp (str1.data (), str2.data (), n); +} + +//----------------------------------------------------------------------------- +static inline int sprintf16 (Steinberg::char16* wcs, const Steinberg::char16* format, ...) +{ +#warning DEPRECATED No Linux implementation + assert(false && "DEPRECATED No Linux implementation"); + return 0; +} + +//----------------------------------------------------------------------------- +static inline int vsnwprintf (Steinberg::char16* wcs, size_t maxlen, + const Steinberg::char16* format, va_list args) +{ + Steinberg::char8 str8[kPrintfBufferSize]; + auto format_utf8 = converter ().to_bytes(format); + auto len = vsnprintf (str8, kPrintfBufferSize, format_utf8.data (), args); + + auto tmp_str = converter ().from_bytes (str8, str8 + len); + auto target_len = std::min (tmp_str.size (), maxlen - 1); + tmp_str.copy (wcs, target_len); + wcs[target_len] = '\0'; + + return tmp_str.size (); +} + +//----------------------------------------------------------------------------- +static inline Steinberg::char16* strrchr16 (const Steinberg::char16* str, Steinberg::char16 c) +{ +#warning DEPRECATED No Linux implementation + assert(false && "DEPRECATED No Linux implementation"); + return nullptr; +} + +#elif SMTG_OS_MACOS +#define tstrtoi64 strtoll +#define stricmp strcasecmp +#define strnicmp strncasecmp + +//----------------------------------------------------------------------------- +static inline Steinberg::int32 strnicmp16 (const Steinberg::char16* str1, const Steinberg::char16* str2, size_t size) +{ + if (size == 0) + return 0; + + CFIndex str1Len = Steinberg::strlen16 (str1); + CFIndex str2Len = Steinberg::strlen16 (str2); + if (size < str2Len) // range is not applied to second string + str2Len = size; + CFStringRef cfStr1 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str1, str1Len, kCFAllocatorNull); + CFStringRef cfStr2 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str2, str2Len, kCFAllocatorNull); + CFComparisonResult result = CFStringCompareWithOptions (cfStr1, cfStr2, CFRangeMake (0, size), kCFCompareCaseInsensitive); + CFRelease (cfStr1); + CFRelease (cfStr2); + switch (result) + { + case kCFCompareEqualTo: return 0; + case kCFCompareLessThan: return -1; + case kCFCompareGreaterThan: + default: return 1; + }; +} + +//----------------------------------------------------------------------------- +static inline Steinberg::int32 stricmp16 (const Steinberg::char16* str1, CFIndex str1Len, const Steinberg::char16* str2, CFIndex str2Len) +{ + CFStringRef cfStr1 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str1, str1Len, kCFAllocatorNull); + CFStringRef cfStr2 = CFStringCreateWithCharactersNoCopy (Steinberg::kCFAllocator, (UniChar*)str2, str2Len, kCFAllocatorNull); + CFComparisonResult result = CFStringCompare (cfStr1, cfStr2, kCFCompareCaseInsensitive); + CFRelease (cfStr1); + CFRelease (cfStr2); + switch (result) + { + case kCFCompareEqualTo: return 0; + case kCFCompareLessThan: return -1; + case kCFCompareGreaterThan: + default: return 1; + }; +} + +//----------------------------------------------------------------------------- +static inline Steinberg::int32 stricmp16 (const Steinberg::ConstString& str1, const Steinberg::ConstString& str2) +{ + return stricmp16 (str1.text16 (), str1.length (), str2.text16 (), str2.length ()); +} + +//----------------------------------------------------------------------------- +static inline Steinberg::int32 stricmp16 (const Steinberg::char16* str1, const Steinberg::char16* str2) +{ + CFIndex str1Len = Steinberg::strlen16 (str1); + CFIndex str2Len = Steinberg::strlen16 (str2); + return stricmp16 (str1, str1Len, str2, str2Len); +} + +//----------------------------------------------------------------------------- +static inline Steinberg::char16* strrchr16 (const Steinberg::char16* str, Steinberg::char16 c) +{ + Steinberg::int32 len = Steinberg::ConstString (str).length (); + while (len > 0) + { + if (str[len] == c) + return const_cast(str + len); + len--; + } + return 0; +} + +//----------------------------------------------------------------------------- +static inline Steinberg::int32 vsnwprintf (Steinberg::char16* str, Steinberg::int32 size, const Steinberg::char16* format, va_list ap) +{ + // wrapped using CoreFoundation's CFString + CFMutableStringRef formatString = (CFMutableStringRef)Steinberg::ConstString (format).toCFStringRef (0xFFFF, true); + CFStringFindAndReplace (formatString, CFSTR("%s"), CFSTR("%S"), CFRangeMake (0, CFStringGetLength (formatString)), 0); + CFStringRef resultString = CFStringCreateWithFormatAndArguments (Steinberg::kCFAllocator, 0, formatString, ap); + CFRelease (formatString); + if (resultString) + { + Steinberg::String res; + res.fromCFStringRef (resultString); + res.copyTo16 (str, 0, size); + CFRelease (resultString); + return 0; + } + return 1; +} + +//----------------------------------------------------------------------------- +static inline Steinberg::int32 sprintf16 (Steinberg::char16* str, const Steinberg::char16* format, ...) +{ + va_list marker; + va_start (marker, format); + return vsnwprintf (str, -1, format, marker); +} + +#endif + +/* +UTF-8 EF BB BF +UTF-16 Big Endian FE FF +UTF-16 Little Endian FF FE +UTF-32 Big Endian 00 00 FE FF +UTF-32 Little Endian FF FE 00 00 +*/ + +namespace Steinberg { + +//----------------------------------------------------------------------------- +static inline bool isCaseSensitive (ConstString::CompareMode mode) +{ + return mode == ConstString::kCaseSensitive; +} + +//----------------------------------------------------------------------------- +// ConstString +//----------------------------------------------------------------------------- +ConstString::ConstString (const char8* str, int32 length) +: buffer8 ((char8*)str) +, len (length < 0 ? (str ? static_cast (strlen (str)) : 0) : length) +, isWide (0) +{ +} + +//----------------------------------------------------------------------------- +ConstString::ConstString (const char16* str, int32 length) +: buffer16 ((char16*)str) +, len (length < 0 ? (str ? strlen16 (str) : 0) : length) +, isWide (1) +{ +} + +//----------------------------------------------------------------------------- +ConstString::ConstString (const ConstString& str, int32 offset, int32 length) +: buffer (str.buffer) +, len (length < 0 ? (str.len - (offset > 0 ? offset : 0)) : length) +, isWide (str.isWide) +{ + if (offset > 0) + { + if (isWide) + buffer16 += offset; + else + buffer8 += offset; + } +} + +//----------------------------------------------------------------------------- +ConstString::ConstString (const FVariant& var) +: buffer (0) +, len (0) +, isWide (0) +{ + switch (var.getType ()) + { + case FVariant::kString8: + buffer8 = (char8*)var.getString8 (); + len = buffer8 ? strlen8 (buffer8) : 0; + isWide = false; + break; + + case FVariant::kString16: + buffer16 = (char16*)var.getString16 (); + len = buffer16 ? strlen16 (buffer16) : 0; + isWide = true; + break; + } +} + +//----------------------------------------------------------------------------- +ConstString::ConstString () +: buffer (0) +, len (0) +, isWide (0) +{ +} + +//----------------------------------------------------------------------------- +bool ConstString::testChar8 (uint32 index, char8 c) const +{ + if (index >= len) + return c == 0; + if (isWide) + { + // make c wide + char8 src[] = {c, 0}; + char16 dest[2] = {0}; + if (multiByteToWideString (dest, src, 2) > 0) + return buffer16[index] == dest[0]; + return false; + } + return buffer8[index] == c; +} + +//----------------------------------------------------------------------------- +bool ConstString::testChar16 (uint32 index, char16 c) const +{ + if (index >= len) + return c == 0; + if (!isWide) + { + // make c ansi + char16 src[] = {c, 0}; + char8 dest[8] = {0}; + if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) + return buffer8[index] == dest[0]; + return false; + } + return buffer16[index] == c; +} + +//----------------------------------------------------------------------------- +bool ConstString::extract (String& result, uint32 idx, int32 n) const +{ + if (len == 0|| idx >= len) + return false; + + if ((idx + n > len) || n < 0) + n = len - idx; + + if (isWide) + result.assign (buffer16 + idx, n); + else + result.assign (buffer8 + idx, n); + + return true; +} + +//----------------------------------------------------------------------------- +int32 ConstString::copyTo8 (char8* str, uint32 idx, int32 n) const +{ + if (!str) + return 0; + + if (isWide) + { + String tmp (text16 ()); + if (tmp.toMultiByte () == false) + return 0; + return tmp.copyTo8 (str, idx, n); + } + + if (isEmpty () || idx >= len || !buffer8) + { + str[0] = 0; + return 0; + } + + if ((idx + n > len) || n < 0) + n = len - idx; + + memcpy (str, &(buffer8[idx]), n * sizeof (char8)); + str[n] = 0; + return n; +} + +//----------------------------------------------------------------------------- +int32 ConstString::copyTo16 (char16* str, uint32 idx, int32 n) const +{ + if (!str) + return 0; + + if (!isWide) + { + String tmp (text8 ()); + if (tmp.toWideString () == false) + return 0; + return tmp.copyTo16 (str, idx, n); + } + + if (isEmpty () || idx >= len || !buffer16) + { + str[0] = 0; + return 0; + } + + if ((idx + n > len) || n < 0) + n = len - idx; + + memcpy (str, &(buffer16[idx]), n * sizeof (char16)); + str[n] = 0; + return n; +} + +//----------------------------------------------------------------------------- +int32 ConstString::copyTo (tchar* str, uint32 idx, int32 n) const +{ +#ifdef UNICODE + return copyTo16 (str, idx, n); +#else + return copyTo8 (str, idx, n); +#endif +} + +//----------------------------------------------------------------------------- +void ConstString::copyTo (IStringResult* result) const +{ + if (isWideString () == false) + { + result->setText (text8 ()); + } + else + { + FUnknownPtr iStr (result); + if (iStr) + { + iStr->setText16 (text16 ()); + } + else + { + String tmp (*this); + tmp.toMultiByte (); + result->setText (tmp.text8 ()); + } + } +} + +//----------------------------------------------------------------------------- +void ConstString::copyTo (IString& string) const +{ + if (isWideString ()) + string.setText16 (text16 ()); + else + string.setText8 (text8 ()); +} + + + +//----------------------------------------------------------------------------- +int32 ConstString::compare (const ConstString& str, int32 n, CompareMode mode) const +{ + if (n == 0) + return 0; + + if (str.isEmpty ()) + { + if (isEmpty ()) + return 0; + return 1; + } + else if (isEmpty ()) + return -1; + + if (!isWide && !str.isWide) + { + if (n < 0) + { + if (isCaseSensitive (mode)) + return strcmp (*this, str); + else + return stricmp (*this, str); + } + else + { + if (isCaseSensitive (mode)) + return strncmp (*this, str, n); + else + return strnicmp (*this, str, n); + } + } + else if (isWide && str.isWide) + { + if (n < 0) + { + if (isCaseSensitive (mode)) + return strcmp16 (*this, str); + else + return stricmp16 (*this, str); + } + else + { + if (isCaseSensitive (mode)) + return strncmp16 (*this, str, n); + else + return strnicmp16 (*this, str, n); + } + } + return compareAt (0, str, n, mode); +} + +//----------------------------------------------------------------------------- +int32 ConstString::compare (const ConstString& str, CompareMode mode) const +{ + return compare (str, -1, mode); +} + +//----------------------------------------------------------------------------- +int32 ConstString::compareAt (uint32 index, const ConstString& str, int32 n, CompareMode mode) const +{ + if (n == 0) + return 0; + + if (str.isEmpty ()) + { + if (isEmpty ()) + return 0; + return 1; + } + else if (isEmpty ()) + return -1; + + if (!isWide && !str.isWide) + { + char8* toCompare = buffer8; + if (index > 0) + { + if (index >= len) + { + if (str.isEmpty ()) + return 0; + return -1; + } + toCompare += index; + } + + if (n < 0) + { + if (isCaseSensitive (mode)) + return strcmp (toCompare, str); + else + return stricmp (toCompare, str); + } + else + { + if (isCaseSensitive (mode)) + return strncmp (toCompare, str, n); + else + return strnicmp (toCompare, str, n); + } + } + else if (isWide && str.isWide) + { + char16* toCompare = buffer16; + if (index > 0) + { + if (index >= len) + { + if (str.isEmpty ()) + return 0; + return -1; + } + toCompare += index; + } + + if (n < 0) + { + if (isCaseSensitive (mode)) + return strcmp16 (toCompare, str.text16 ()); + else + return stricmp16 (toCompare, str.text16 ()); + } + else + { + if (isCaseSensitive (mode)) + return strncmp16 (toCompare, str.text16 (), n); + else + return strnicmp16 (toCompare, str.text16 (), n); + } + } + else + { + if (isWide) + { + String tmp (str.text8 ()); + if (tmp.toWideString () == false) + return -1; + return compareAt (index, tmp, n, mode); + } + else + { + String tmp (text8 ()); + if (tmp.toWideString () == false) + return 1; + return tmp.compareAt (index, str, n, mode); + } + } +} + +//------------------------------------------------------------------------ +Steinberg::int32 ConstString::naturalCompare (const ConstString& str, CompareMode mode /*= kCaseSensitive*/) const +{ + if (str.isEmpty ()) + { + if (isEmpty ()) + return 0; + return 1; + } + else if (isEmpty ()) + return -1; + + if (!isWide && !str.isWide) + return strnatcmp8 (buffer8, str.text8 (), isCaseSensitive (mode)); + else if (isWide && str.isWide) + return strnatcmp16 (buffer16, str.text16 (), isCaseSensitive (mode)); + else + { + if (isWide) + { + String tmp (str.text8 ()); + tmp.toWideString (); + return strnatcmp16 (buffer16, tmp.text16 (), isCaseSensitive (mode)); + } + else + { + String tmp (text8 ()); + tmp.toWideString (); + return strnatcmp16 (tmp.text16 (), str.text16 (), isCaseSensitive (mode)); + } + } +} + +//----------------------------------------------------------------------------- +bool ConstString::startsWith (const ConstString& str, CompareMode mode /*= kCaseSensitive*/) const +{ + if (str.isEmpty ()) + { + return isEmpty (); + } + else if (isEmpty ()) + { + return false; + } + if (length () < str.length ()) + { + return false; + } + if (!isWide && !str.isWide) + { + if (isCaseSensitive (mode)) + return strncmp (buffer8, str.buffer8, str.length ()) == 0; + return strnicmp (buffer8, str.buffer8, str.length ()) == 0; + } + else if (isWide && str.isWide) + { + if (isCaseSensitive (mode)) + return strncmp16 (buffer16, str.buffer16, str.length ()) == 0; + return strnicmp16 (buffer16, str.buffer16, str.length ()) == 0; + } + else if (isWide) + { + String tmp (str.text8 ()); + tmp.toWideString (); + if (tmp.length () > length ()) + return false; + if (isCaseSensitive (mode)) + return strncmp16 (buffer16, tmp.buffer16, tmp.length ()) == 0; + return strnicmp16 (buffer16, tmp.buffer16, tmp.length ()) == 0; + } + else + { + String tmp (text8 ()); + tmp.toWideString (); + if (str.length () > tmp.length ()) + return false; + if (isCaseSensitive (mode)) + return strncmp16 (tmp.buffer16, str.buffer16, str.length ()) == 0; + return strnicmp16 (tmp.buffer16, str.buffer16, str.length ()) == 0; + } +} + +//----------------------------------------------------------------------------- +bool ConstString::endsWith (const ConstString& str, CompareMode mode /*= kCaseSensitive*/) const +{ + if (str.isEmpty ()) + { + return isEmpty (); + } + else if (isEmpty ()) + { + return false; + } + if (length () < str.length ()) + { + return false; + } + if (!isWide && !str.isWide) + { + if (isCaseSensitive (mode)) + return strncmp (buffer8 + (length () - str.length ()), str.buffer8, str.length ()) == 0; + return strnicmp (buffer8 + (length () - str.length ()), str.buffer8, str.length ()) == 0; + } + else if (isWide && str.isWide) + { + if (isCaseSensitive (mode)) + return strncmp16 (buffer16 + (length () - str.length ()), str.buffer16, str.length ()) == 0; + return strnicmp16 (buffer16 + (length () - str.length ()), str.buffer16, str.length ()) == 0; + } + else if (isWide) + { + String tmp (str.text8 ()); + tmp.toWideString (); + if (tmp.length () > length ()) + return false; + if (isCaseSensitive (mode)) + return strncmp16 (buffer16 + (length () - tmp.length ()), tmp.buffer16, tmp.length ()) == 0; + return strnicmp16 (buffer16 + (length () - tmp.length ()), tmp.buffer16, tmp.length ()) == 0; + } + else + { + String tmp (text8 ()); + tmp.toWideString (); + if (str.length () > tmp.length ()) + return false; + if (isCaseSensitive (mode)) + return strncmp16 (tmp.buffer16 + (tmp.length () - str.length ()), str.buffer16, str.length ()) == 0; + return strnicmp16 (tmp.buffer16 + (tmp.length () - str.length ()), str.buffer16, str.length ()) == 0; + } +} + +//----------------------------------------------------------------------------- +bool ConstString::contains (const ConstString& str, CompareMode m) const +{ + return findFirst (str, -1, m) != -1; +} + +//----------------------------------------------------------------------------- +int32 ConstString::findNext (int32 startIndex, const ConstString& str, int32 n, CompareMode mode, int32 endIndex) const +{ + uint32 endLength = len; + if (endIndex > -1 && (uint32)endIndex < len) + endLength = endIndex + 1; + + if (isWide && str.isWide) + { + if (startIndex < 0) + startIndex = 0; + + uint32 stringLength = str.length (); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (n > 0) + { + uint32 i = 0; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i < endLength; i++) + if (strncmp16 (buffer16 + i, str, n) == 0) + return i; + } + else + { + for (i = startIndex; i < endLength; i++) + if (strnicmp16 (buffer16 + i, str, n) == 0) + return i; + } + } + return -1; + } + else if (!isWide && !str.isWide) + { + uint32 stringLength = str.length (); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (startIndex < 0) + startIndex = 0; + + if (n > 0) + { + uint32 i = 0; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i < endLength; i++) + if (strncmp (buffer8 + i, str, n) == 0) + return i; + } + else + { + for (i = startIndex; i < endLength; i++) + if (strnicmp (buffer8 + i, str, n) == 0) + return i; + } + } + return -1; + } + String tmp; + if (isWide) + { + tmp = str.text8 (); + tmp.toWideString (); + return findNext (startIndex, tmp, n , mode, endIndex); + } + tmp = text8 (); + tmp.toWideString (); + return tmp.findNext (startIndex, str, n, mode, endIndex); +} + +//------------------------------------------------------------------------------------------------ +int32 ConstString::findNext (int32 startIndex, char8 c, CompareMode mode, int32 endIndex) const +{ + uint32 endLength = len; + if (endIndex > -1 && (uint32)endIndex < len) + endLength = endIndex + 1; + + if (isWide) + { + char8 src[] = {c, 0}; + char16 dest[8] = {0}; + if (multiByteToWideString (dest, src, 2) > 0) + return findNext (startIndex, dest[0], mode, endIndex); + return -1; + } + + if (startIndex < 0) + startIndex = 0; + uint32 i; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i < endLength; i++) + { + if (buffer8[i] == c) + return i; + } + } + else + { + c = toLower (c); + for (i = startIndex; i < endLength; i++) + { + if (toLower (buffer8[i]) == c) + return i; + } + } + return -1; +} + +//----------------------------------------------------------------------------- +int32 ConstString::findNext (int32 startIndex, char16 c, CompareMode mode, int32 endIndex) const +{ + uint32 endLength = len; + if (endIndex > -1 && (uint32)endIndex < len) + endLength = endIndex + 1; + + if (!isWide) + { + char16 src[] = {c, 0}; + char8 dest[8] = {0}; + if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) + return findNext (startIndex, dest[0], mode, endIndex); + + return -1; + } + + uint32 i; + if (startIndex < 0) + startIndex = 0; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i < endLength; i++) + { + if (buffer16[i] == c) + return i; + } + } + else + { + c = toLower (c); + for (i = startIndex; i < endLength; i++) + { + if (toLower (buffer16[i]) == c) + return i; + } + } + return -1; +} + +//----------------------------------------------------------------------------- +int32 ConstString::findPrev (int32 startIndex, char8 c, CompareMode mode) const +{ + if (len == 0) + return -1; + + if (isWide) + { + char8 src[] = {c, 0}; + char16 dest[8] = {0}; + if (multiByteToWideString (dest, src, 2) > 0) + return findPrev (startIndex, dest[0], mode); + return -1; + } + + if (startIndex < 0 || startIndex > (int32)len) + startIndex = len; + + int32 i; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i >= 0; i--) + { + if (buffer8[i] == c) + return i; + } + } + else + { + c = toLower (c); + for (i = startIndex; i >= 0; i--) + { + if (toLower (buffer8[i]) == c) + return i; + } + } + return -1; +} + +//----------------------------------------------------------------------------- +int32 ConstString::findPrev (int32 startIndex, char16 c, CompareMode mode) const +{ + if (len == 0) + return -1; + + if (!isWide) + { + char16 src[] = {c, 0}; + char8 dest[8] = {0}; + if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) + return findPrev (startIndex, dest[0], mode); + + return -1; + } + + if (startIndex < 0 || startIndex > (int32)len) + startIndex = len; + + int32 i; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i >= 0; i--) + { + if (buffer16[i] == c) + return i; + } + } + else + { + c = toLower (c); + for (i = startIndex; i >= 0; i--) + { + if (toLower (buffer16[i]) == c) + return i; + } + } + return -1; +} + +//----------------------------------------------------------------------------- +int32 ConstString::findPrev (int32 startIndex, const ConstString& str, int32 n, CompareMode mode) const +{ + if (isWide && str.isWide) + { + uint32 stringLength = str.length (); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (startIndex < 0 || startIndex >= (int32)len) + startIndex = len - 1; + + if (n > 0) + { + int32 i = 0; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i >= 0; i--) + if (strncmp16 (buffer16 + i, str, n) == 0) + return i; + } + else + { + for (i = startIndex; i >= 0; i--) + if (strnicmp16 (buffer16 + i, str, n) == 0) + return i; + } + } + return -1; + } + else if (!isWide && !str.isWide) + { + uint32 stringLength = str.length (); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (startIndex < 0 || startIndex >= (int32)len) + startIndex = len - 1; + + if (n > 0) + { + int32 i = 0; + + if (isCaseSensitive (mode)) + { + for (i = startIndex; i >= 0; i--) + if (strncmp (buffer8 + i, str, n) == 0) + return i; + } + else + { + for (i = startIndex; i >= 0; i--) + if (strnicmp (buffer8 + i, str, n) == 0) + return i; + } + } + return -1; + } + if (isWide) + { + String tmp (str.text8 ()); + tmp.toWideString (); + return findPrev (startIndex, tmp, n, mode); + } + String tmp (text8 ()); + tmp.toWideString (); + return tmp.findPrev (startIndex, str, n, mode); +} + +//----------------------------------------------------------------------------- +int32 ConstString::countOccurences (char8 c, uint32 startIndex, CompareMode mode) const +{ + if (isWide) + { + char8 src[] = {c, 0}; + char16 dest[8] = {0}; + if (multiByteToWideString (dest, src, 2) > 0) + return countOccurences (dest[0], startIndex, mode); + return -1; + } + + int32 result = 0; + int32 next = startIndex; + while (true) + { + next = findNext (next, c, mode); + if (next >= 0) + { + next++; + result++; + } + else + break; + } + return result; +} + +//----------------------------------------------------------------------------- +int32 ConstString::countOccurences (char16 c, uint32 startIndex, CompareMode mode) const +{ + if (!isWide) + { + char16 src[] = {c, 0}; + char8 dest[8] = {0}; + if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) + return countOccurences (dest[0], startIndex, mode); + + return -1; + } + int32 result = 0; + int32 next = startIndex; + while (true) + { + next = findNext (next, c, mode); + if (next >= 0) + { + next++; + result++; + } + else + break; + } + return result; +} + +//----------------------------------------------------------------------------- +int32 ConstString::getFirstDifferent (const ConstString& str, CompareMode mode) const +{ + if (str.isWide != isWide) + { + if (isWide) + { + String tmp (str.text8 ()); + if (tmp.toWideString () == false) + return -1; + return getFirstDifferent (tmp, mode); + } + else + { + String tmp (text8 ()); + if (tmp.toWideString () == false) + return -1; + return tmp.getFirstDifferent (str, mode); + } + } + + uint32 len1 = len; + uint32 len2 = str.len; + uint32 i; + + if (isWide) + { + if (isCaseSensitive (mode)) + { + for (i = 0; i <= len1 && i <= len2; i++) + { + if (buffer16[i] != str.buffer16[i]) + return i; + } + } + else + { + for (i = 0; i <= len1 && i <= len2; i++) + { + if (toLower (buffer16[i]) != toLower (str.buffer16[i])) + return i; + } + } + } + else + { + if (isCaseSensitive (mode)) + { + for (i = 0; i <= len1 && i <= len2; i++) + { + if (buffer8[i] != str.buffer8[i]) + return i; + } + } + else + { + for (i = 0; i <= len1 && i <= len2; i++) + { + if (toLower (buffer8[i]) != toLower (str.buffer8[i])) + return i; + } + } + } + return -1; +} + +//----------------------------------------------------------------------------- +bool ConstString::scanInt64 (int64& value, uint32 offset, bool scanToEnd) const +{ + if (isEmpty () || offset >= len) + return false; + + if (isWide) + return scanInt64_16 (buffer16 + offset, value, scanToEnd); + else + return scanInt64_8 (buffer8 + offset, value, scanToEnd); +} + +//----------------------------------------------------------------------------- +bool ConstString::scanUInt64 (uint64& value, uint32 offset, bool scanToEnd) const +{ + if (isEmpty () || offset >= len) + return false; + + if (isWide) + return scanUInt64_16 (buffer16 + offset, value, scanToEnd); + else + return scanUInt64_8 (buffer8 + offset, value, scanToEnd); +} + +//----------------------------------------------------------------------------- +bool ConstString::scanHex (uint8& value, uint32 offset, bool scanToEnd) const +{ + if (isEmpty () || offset >= len) + return false; + + if (isWide) + return scanHex_16 (buffer16 + offset, value, scanToEnd); + else + return scanHex_8 (buffer8 + offset, value, scanToEnd); +} + +//----------------------------------------------------------------------------- +bool ConstString::scanInt32 (int32& value, uint32 offset, bool scanToEnd) const +{ + if (isEmpty () || offset >= len) + return false; + + if (isWide) + return scanInt32_16 (buffer16 + offset, value, scanToEnd); + else + return scanInt32_8 (buffer8 + offset, value, scanToEnd); +} + +//----------------------------------------------------------------------------- +bool ConstString::scanUInt32 (uint32& value, uint32 offset, bool scanToEnd) const +{ + if (isEmpty () || offset >= len) + return false; + + if (isWide) + return scanUInt32_16 (buffer16 + offset, value, scanToEnd); + else + return scanUInt32_8 (buffer8 + offset, value, scanToEnd); +} + +//----------------------------------------------------------------------------- +bool ConstString::scanInt64_8 (const char8* text, int64& value, bool scanToEnd) +{ + while (text && text[0]) + { + if (sscanf (text, "%" FORMAT_INT64A, &value) == 1) + return true; + else if (scanToEnd == false) + return false; + text++; + } + return false; +} + +//----------------------------------------------------------------------------- +bool ConstString::scanInt64_16 (const char16* text, int64& value, bool scanToEnd) +{ + if (text && text[0]) + { + String str (text); + str.toMultiByte (kCP_Default); + return scanInt64_8 (str, value, scanToEnd); + } + return false; +} + +//----------------------------------------------------------------------------- +bool ConstString::scanUInt64_8 (const char8* text, uint64& value, bool scanToEnd) +{ + while (text && text[0]) + { + if (sscanf (text, "%" FORMAT_UINT64A, &value) == 1) + return true; + else if (scanToEnd == false) + return false; + text++; + } + return false; +} + +//----------------------------------------------------------------------------- +bool ConstString::scanUInt64_16 (const char16* text, uint64& value, bool scanToEnd) +{ + if (text && text[0]) + { + String str (text); + str.toMultiByte (kCP_Default); + return scanUInt64_8 (str, value, scanToEnd); + } + return false; +} + +//----------------------------------------------------------------------------- +bool ConstString::scanInt64 (const tchar* text, int64& value, bool scanToEnd) +{ +#ifdef UNICODE + return scanInt64_16 (text, value,scanToEnd); +#else + return scanInt64_8 (text, value, scanToEnd); +#endif +} + +//----------------------------------------------------------------------------- +bool ConstString::scanUInt64 (const tchar* text, uint64& value, bool scanToEnd) +{ +#ifdef UNICODE + return scanUInt64_16 (text, value, scanToEnd); +#else + return scanUInt64_8 (text, value, scanToEnd); +#endif +} + +//----------------------------------------------------------------------------- +bool ConstString::scanHex_8 (const char8* text, uint8& value, bool scanToEnd) +{ + while (text && text[0]) + { + unsigned int v; // scanf expects an unsigned int for %x + if (sscanf (text, "%x", &v) == 1) + { + value = (uint8)v; + return true; + } + else if (scanToEnd == false) + return false; + text++; + } + return false; +} + +//----------------------------------------------------------------------------- +bool ConstString::scanHex_16 (const char16* text, uint8& value, bool scanToEnd) +{ + if (text && text[0]) + { + String str (text); + str.toMultiByte (kCP_Default); // scanf uses default codepage + return scanHex_8 (str, value, scanToEnd); + } + return false; +} + +//----------------------------------------------------------------------------- +bool ConstString::scanHex (const tchar* text, uint8& value, bool scanToEnd) +{ +#ifdef UNICODE + return scanHex_16 (text, value, scanToEnd); +#else + return scanHex_8 (text, value, scanToEnd); +#endif +} + +//----------------------------------------------------------------------------- +bool ConstString::scanFloat (double& value, uint32 offset, bool scanToEnd) const +{ + if (isEmpty () || offset >= len) + return false; + + String str (*this); + int32 pos = -1; + if (isWide) + { + if ((pos = str.findNext (offset, STR(','))) >= 0 && ((uint32)pos) >= offset) + str.setChar (pos, STR('.')); + + str.toMultiByte (kCP_Default); // scanf uses default codepage + } + else + { + if ((pos = str.findNext (offset, ',')) >= 0 && ((uint32)pos) >= offset) + str.setChar (pos, '.'); + } + + const char8* txt = str.text8 () + offset; + while (txt && txt[0]) + { + if (sscanf (txt, "%lf", &value) == 1) + return true; + else if (scanToEnd == false) + return false; + txt++; + } + return false; +} + +//----------------------------------------------------------------------------- +char16 ConstString::toLower (char16 c) +{ + #if SMTG_OS_WINDOWS + WCHAR temp[2] = {c, 0}; + ::CharLowerW (temp); + return temp[0]; + #elif SMTG_OS_MACOS + // only convert characters which in lowercase are also single characters + UniChar characters [2] = {0}; + characters[0] = c; + CFMutableStringRef str = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, characters, 1, 2, kCFAllocatorNull); + if (str) + { + CFStringLowercase (str, NULL); + CFRelease (str); + if (characters[1] == 0) + return characters[0]; + } + return c; + #elif SMTG_OS_LINUX + #warning DEPRECATED No Linux implementation + assert(false && "DEPRECATED No Linux implementation"); + return c; + #else + return towlower (c); + #endif +} + +//----------------------------------------------------------------------------- +char16 ConstString::toUpper (char16 c) +{ + #if SMTG_OS_WINDOWS + WCHAR temp[2] = {c, 0}; + ::CharUpperW (temp); + return temp[0]; + #elif SMTG_OS_MACOS + // only convert characters which in uppercase are also single characters (don't translate a sharp-s which would result in SS) + UniChar characters [2] = {0}; + characters[0] = c; + CFMutableStringRef str = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, characters, 1, 2, kCFAllocatorNull); + if (str) + { + CFStringUppercase (str, NULL); + CFRelease (str); + if (characters[1] == 0) + return characters[0]; + } + return c; + #elif SMTG_OS_LINUX + #warning DEPRECATED No Linux implementation + assert(false && "DEPRECATED No Linux implementation"); + return c; + #else + return towupper (c); + #endif +} + +//----------------------------------------------------------------------------- +char8 ConstString::toLower (char8 c) +{ + if ((c >= 'A') && (c <= 'Z')) + return c + ('a' - 'A'); + #if SMTG_OS_WINDOWS + CHAR temp[2] = {c, 0}; + ::CharLowerA (temp); + return temp[0]; + #else + return tolower (c); + #endif +} + +//----------------------------------------------------------------------------- +char8 ConstString::toUpper (char8 c) +{ + if ((c >= 'a') && (c <= 'z')) + return c - ('a' - 'A'); + #if SMTG_OS_WINDOWS + CHAR temp[2] = {c, 0}; + ::CharUpperA (temp); + return temp[0]; + #else + return toupper (c); + #endif +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharSpace (const char8 character) +{ + return isspace (character) != 0; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharSpace (const char16 character) +{ + switch (character) + { + case 0x0020: + case 0x00A0: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200A: + case 0x200B: + case 0x202F: + case 0x205F: + case 0x3000: + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharAlpha (const char8 character) +{ + return isalpha (character) != 0; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharAlpha (const char16 character) +{ + return iswalpha (character) != 0; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharAlphaNum (const char8 character) +{ + return isalnum (character) != 0; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharAlphaNum (const char16 character) +{ + return iswalnum (character) != 0; // this may not work on macOSX when another locale is set inside the c-lib +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharDigit (const char8 character) +{ + return isdigit (character) != 0; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharDigit (const char16 character) +{ + return iswdigit (character) != 0; // this may not work on macOSX when another locale is set inside the c-lib +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharAscii (char8 character) +{ + return character >= 0; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharAscii (char16 character) +{ + return character < 128; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharUpper (char8 character) +{ + return toUpper (character) == character; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharUpper (char16 character) +{ + return toUpper (character) == character; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharLower (char8 character) +{ + return toLower (character) == character; +} + +//----------------------------------------------------------------------------- +bool ConstString::isCharLower (char16 character) +{ + return toLower (character) == character; +} + +//----------------------------------------------------------------------------- +bool ConstString::isDigit (uint32 index) const +{ + if (isEmpty () || index >= len) + return false; + + if (isWide) + return ConstString::isCharDigit (buffer16[index]); + else + return ConstString::isCharDigit (buffer8[index]); +} + +//----------------------------------------------------------------------------- +int32 ConstString::getTrailingNumberIndex (uint32 width) const +{ + if (isEmpty ()) + return -1; + + int32 endIndex = len - 1; + int32 i = endIndex; + while (isDigit ((uint32) i) && i >= 0) + i--; + + // now either all are digits or i is on the first non digit + if (i < endIndex) + { + if (width > 0 && (endIndex - i != static_cast (width))) + return -1; + + return i + 1; + } + + return -1; +} + +//----------------------------------------------------------------------------- +int64 ConstString::getTrailingNumber (int64 fallback) const +{ + int32 index = getTrailingNumberIndex (); + + int64 number = 0; + + if (index >= 0) + if (scanInt64 (number, index)) + return number; + + return fallback; +} + + + +//----------------------------------------------------------------------------- +void ConstString::toVariant (FVariant& var) const +{ + if (isWide) + { + var.setString16 (buffer16); + } + else + { + var.setString8 (buffer8); + } +} + +//----------------------------------------------------------------------------- +bool ConstString::isAsciiString () const +{ + uint32 i; + if (isWide) + { + for (i = 0; i < len; i++) + if (ConstString::isCharAscii (buffer16 [i]) == false) + return false; + } + else + { + for (i = 0; i < len; i++) + if (ConstString::isCharAscii (buffer8 [i]) == false) + return false; + } + return true; +} + + +#if SMTG_OS_MACOS +uint32 kDefaultSystemEncoding = kCFStringEncodingMacRoman; +//----------------------------------------------------------------------------- +static CFStringEncoding MBCodePageToCFStringEncoding (uint32 codePage) +{ + switch (codePage) + { + case kCP_ANSI: return kDefaultSystemEncoding; // MacRoman or JIS + case kCP_MAC_ROMAN: return kCFStringEncodingMacRoman; + case kCP_ANSI_WEL: return kCFStringEncodingWindowsLatin1; + case kCP_MAC_CEE: return kCFStringEncodingMacCentralEurRoman; + case kCP_Utf8: return kCFStringEncodingUTF8; + case kCP_ShiftJIS: return kCFStringEncodingShiftJIS_X0213_00; + case kCP_US_ASCII: return kCFStringEncodingASCII; + } + return kCFStringEncodingASCII; +} +#endif + +//----------------------------------------------------------------------------- +int32 ConstString::multiByteToWideString (char16* dest, const char8* source, int32 charCount, uint32 sourceCodePage) +{ + if (source == 0 || source[0] == 0) + { + if (dest && charCount > 0) + { + dest[0] = 0; + } + return 0; + } + int32 result = 0; +#if SMTG_OS_WINDOWS + result = MultiByteToWideChar (sourceCodePage, MB_ERR_INVALID_CHARS, source, -1, dest, charCount); +#endif + +#if SMTG_OS_MACOS + CFStringRef cfStr = + (CFStringRef)::toCFStringRef (source, MBCodePageToCFStringEncoding (sourceCodePage)); + if (cfStr) + { + CFRange range = {0, CFStringGetLength (cfStr)}; + CFIndex usedBytes; + if (CFStringGetBytes (cfStr, range, kCFStringEncodingUnicode, ' ', false, (UInt8*)dest, + charCount * 2, &usedBytes) > 0) + { + result = static_cast (usedBytes / 2 + 1); + if (dest) + dest[usedBytes / 2] = 0; + } + + CFRelease (cfStr); + } +#endif + +#if SMTG_OS_LINUX + if (sourceCodePage == kCP_ANSI || sourceCodePage == kCP_Utf8) + { + if (dest == nullptr) + { + auto state = std::mbstate_t (); + auto maxChars = charCount ? charCount : std::numeric_limits::max () - 1; + result = converterFacet ().length (state, source, source + strlen (source), maxChars); + } + else + { + auto utf16Str = converter ().from_bytes (source); + if (!utf16Str.empty ()) + { + result = std::min (charCount, utf16Str.size ()); + memcpy (dest, utf16Str.data (), result * sizeof (char16)); + dest[result] = 0; + } + } + } + else + { +#warning DEPRECATED No Linux implementation + assert(false && "DEPRECATED No Linux implementation"); + } + +#endif + + SMTG_ASSERT (result > 0) + return result; +} + +//----------------------------------------------------------------------------- +int32 ConstString::wideStringToMultiByte (char8* dest, const char16* wideString, int32 charCount, uint32 destCodePage) +{ +#if SMTG_OS_WINDOWS + return WideCharToMultiByte (destCodePage, 0, wideString, -1, dest, charCount, 0, 0); + +#elif SMTG_OS_MACOS + int32 result = 0; + if (wideString != 0) + { + if (dest) + { + CFStringRef cfStr = CFStringCreateWithCharactersNoCopy (kCFAllocator, (const UniChar*)wideString, strlen16 (wideString), kCFAllocatorNull); + if (cfStr) + { + if (fromCFStringRef (dest, charCount, cfStr, MBCodePageToCFStringEncoding (destCodePage))) + result = static_cast (strlen (dest) + 1); + CFRelease (cfStr); + } + } + else + { + return static_cast (CFStringGetMaximumSizeForEncoding (strlen16 (wideString), MBCodePageToCFStringEncoding (destCodePage))); + } + } + return result; + +#elif SMTG_OS_LINUX + int32 result = 0; + if (destCodePage == kCP_Utf8) + { + if (dest == nullptr) + { + auto maxChars = charCount ? charCount : tstrlen (wideString); + result = converterFacet ().max_length () * maxChars; + } + else + { + auto utf8Str = converter ().to_bytes (wideString); + if (!utf8Str.empty ()) + { + result = std::min (charCount, utf8Str.size ()); + memcpy (dest, utf8Str.data (), result * sizeof (char8)); + dest[result] = 0; + } + } + } + else if (destCodePage == kCP_ANSI) + { + if (dest == nullptr) + { + result = strlen16 (wideString) + 1; + } + else + { + int32 i = 0; + for (; i < charCount; ++i) + { + if (wideString[i] == 0) + break; + if (wideString[i] <= 0x007F) + dest[i] = wideString[i]; + else + dest[i] = '_'; + } + dest[i] = 0; + result = i; + } + } + else + { +#warning DEPRECATED No Linux implementation + assert(false && "DEPRECATED No Linux implementation"); + } + return result; + +#else +#warning DEPRECATED No Linux implementation + assert(false && "DEPRECATED No Linux implementation"); + return 0; +#endif + +} + +//----------------------------------------------------------------------------- +bool ConstString::isNormalized (UnicodeNormalization n) +{ + if (isWide == false) + return false; + +#if SMTG_OS_WINDOWS +#ifdef UNICODE + if (n != kUnicodeNormC) + return false; + uint32 normCharCount = static_cast (FoldString (MAP_PRECOMPOSED, buffer16, len, 0, 0)); + return (normCharCount == len); +#else + return false; +#endif + +#elif SMTG_OS_MACOS + if (n != kUnicodeNormC) + return false; + + CFStringRef cfStr = (CFStringRef)toCFStringRef (); + CFIndex charCount = CFStringGetLength (cfStr); + CFRelease (cfStr); + return (charCount == len); +#else + return false; +#endif +} + +//----------------------------------------------------------------------------- +// String +//----------------------------------------------------------------------------- +String::String () +{ + isWide = kWideStringDefault ? 1 : 0; +} + +//----------------------------------------------------------------------------- +String::String (const char8* str, MBCodePage codePage, int32 n, bool isTerminated) +{ + isWide = 0; + if (str) + { + assign (str, n, isTerminated); + toWideString (codePage); + } +} + +//----------------------------------------------------------------------------- +String::String (const char8* str, int32 n, bool isTerminated) +{ + if (str) + assign (str, n, isTerminated); +} + +//----------------------------------------------------------------------------- +String::String (const char16* str, int32 n, bool isTerminated) +{ + isWide = 1; + if (str) + assign (str, n, isTerminated); +} + +//----------------------------------------------------------------------------- +String::String (const String& str, int32 n) +{ + isWide = str.isWideString (); + if (!str.isEmpty ()) + assign (str, n); +} + +//----------------------------------------------------------------------------- +String::String (const ConstString& str, int32 n) +{ + isWide = str.isWideString (); + if (!str.isEmpty ()) + assign (str, n); +} + +//----------------------------------------------------------------------------- +String::String (const FVariant& var) +{ + isWide = kWideStringDefault ? 1 : 0; + fromVariant (var); +} + +//----------------------------------------------------------------------------- +String::String (IString* str) +{ + isWide = str->isWideString (); + if (isWide) + assign (str->getText16 ()); + else + assign (str->getText8 ()); +} + +//----------------------------------------------------------------------------- +String::~String () +{ + if (buffer) + resize (0, false); +} + +#if SMTG_CPP11_STDLIBSUPPORT +//----------------------------------------------------------------------------- +String::String (String&& str) +{ + *this = std::move (str); +} + +//----------------------------------------------------------------------------- +String& String::operator= (String&& str) +{ + SMTG_ASSERT (buffer == 0 || buffer != str.buffer); + tryFreeBuffer (); + + isWide = str.isWide; + buffer = str.buffer; + len = str.len; + str.buffer = nullptr; + str.len = 0; + return *this; +} +#endif + +//----------------------------------------------------------------------------- +void String::updateLength () +{ + if (isWide) + len = strlen16 (text16 ()); + else + len = strlen8 (text8 ()); +} + +//----------------------------------------------------------------------------- +bool String::toWideString (uint32 sourceCodePage) +{ + if (!isWide) + { + if (buffer8 && len > 0) + { + int32 bytesNeeded = multiByteToWideString (0, buffer8, 0, sourceCodePage) * sizeof (char16); + if (bytesNeeded) + { + bytesNeeded += sizeof (char16); + char16* newStr = (char16*) malloc (bytesNeeded); + if (multiByteToWideString (newStr, buffer8, len + 1, sourceCodePage) <= 0) + { + free (newStr); + return false; + } + free (buffer8); + buffer16 = newStr; + isWide = true; + updateLength (); + } + else + { + return false; + } + } + isWide = true; + } + return true; +} + +#define SMTG_STRING_CHECK_CONVERSION 1 +#define SMTG_STRING_CHECK_CONVERSION_NO_BREAK 1 + +#if SMTG_STRING_CHECK_CONVERSION_NO_BREAK + #define SMTG_STRING_CHECK_MSG FDebugPrint +#else + #define SMTG_STRING_CHECK_MSG FDebugBreak +#endif +//----------------------------------------------------------------------------- +bool String::checkToMultiByte (uint32 destCodePage) const +{ + if (!isWide || isEmpty ()) + return true; + +#if DEVELOPMENT && SMTG_STRING_CHECK_CONVERSION + int debugLen = length (); + int debugNonASCII = 0; + for (int32 i = 0; i < length (); i++) + { + if (buffer16[i] > 127) + ++debugNonASCII; + } + + String* backUp = nullptr; + if (debugNonASCII > 0) + backUp = NEW String (*this); +#endif + + // this should be avoided, since it can lead to information loss + bool result = const_cast (*this).toMultiByte (destCodePage); + +#if DEVELOPMENT && SMTG_STRING_CHECK_CONVERSION + if (backUp) + { + String temp (*this); + temp.toWideString (destCodePage); + + if (temp != *backUp) + { + backUp->toMultiByte (kCP_Utf8); + SMTG_STRING_CHECK_MSG ("Indirect string conversion information loss ! %d/%d non ASCII chars: \"%s\" -> \"%s\"\n", debugNonASCII, debugLen, backUp->buffer8, buffer8); + } + else + SMTG_STRING_CHECK_MSG ("Indirect string potential conversion information loss ! %d/%d non ASCII chars result: \"%s\"\n", debugNonASCII, debugLen, buffer8); + + delete backUp; + } +#endif + + return result; +} + +//----------------------------------------------------------------------------- +bool String::toMultiByte (uint32 destCodePage) +{ + if (isWide) + { + if (buffer16 && len > 0) + { + int32 numChars = wideStringToMultiByte (0, buffer16, 0, destCodePage) + sizeof (char8); + char8* newStr = (char8*) malloc (numChars * sizeof (char8)); + if (wideStringToMultiByte (newStr, buffer16, numChars, destCodePage) <= 0) + { + free (newStr); + return false; + } + free (buffer16); + buffer8 = newStr; + isWide = false; + updateLength (); + } + isWide = false; + } + else if (destCodePage != kCP_Default) + { + if (toWideString () == false) + return false; + return toMultiByte (destCodePage); + } + return true; +} + +//----------------------------------------------------------------------------- +void String::fromUTF8 (const char8* utf8String) +{ + assign (utf8String); + toWideString (kCP_Utf8); +} + +//----------------------------------------------------------------------------- +bool String::normalize (UnicodeNormalization n) +{ + if (isWide == false) + return false; + + if (buffer16 == 0) + return true; + +#if SMTG_OS_WINDOWS +#ifdef UNICODE + if (n != kUnicodeNormC) + return false; + + uint32 normCharCount = static_cast (FoldString (MAP_PRECOMPOSED, buffer16, len, 0, 0)); + if (normCharCount == len) + return true; + + char16* newString = (char16*)malloc ((normCharCount + 1) * sizeof (char16)); + uint32 converterCount = static_cast (FoldString (MAP_PRECOMPOSED, buffer16, len, newString, normCharCount + 1)); + if (converterCount != normCharCount) + { + free (newString); + return false; + } + newString [converterCount] = 0; + free (buffer16); + buffer16 = newString; + updateLength (); + return true; +#else + return false; +#endif + +#elif SMTG_OS_MACOS + CFMutableStringRef origStr = (CFMutableStringRef)toCFStringRef (0xFFFF, true); + if (origStr) + { + CFStringNormalizationForm normForm = kCFStringNormalizationFormD; + switch (n) + { + case kUnicodeNormC: normForm = kCFStringNormalizationFormC; break; + case kUnicodeNormD: normForm = kCFStringNormalizationFormD; break; + case kUnicodeNormKC: normForm = kCFStringNormalizationFormKC; break; + case kUnicodeNormKD: normForm = kCFStringNormalizationFormKD; break; + } + CFStringNormalize (origStr, normForm); + bool result = fromCFStringRef (origStr); + CFRelease (origStr); + return result; + } + return false; +#else + return false; +#endif +} + +//----------------------------------------------------------------------------- +void String::tryFreeBuffer () +{ + if (buffer) + { + free (buffer); + buffer = 0; + } +} + +//----------------------------------------------------------------------------- +bool String::resize (uint32 newLength, bool wide, bool fill) +{ + if (newLength == 0) + { + tryFreeBuffer (); + len = 0; + isWide = wide ? 1 : 0; + } + else + { + size_t newCharSize = wide ? sizeof (char16) : sizeof (char8); + size_t oldCharSize = (isWide != 0) ? sizeof (char16) : sizeof (char8); + + size_t newBufferSize = (newLength + 1) * newCharSize; + size_t oldBufferSize = (len + 1) * oldCharSize; + + isWide = wide ? 1 : 0; + + if (buffer) + { + if (newBufferSize != oldBufferSize) + { + void* newstr = realloc (buffer, newBufferSize); + if (newstr == 0) + return false; + buffer = newstr; + if (isWide) + buffer16[newLength] = 0; + else + buffer8[newLength] = 0; + } + else if (wide && newCharSize != oldCharSize) + buffer16[newLength] = 0; + } + else + { + void* newstr = malloc (newBufferSize); + if (newstr == 0) + return false; + buffer = newstr; + if (isWide) + { + buffer16[0] = 0; + buffer16[newLength] = 0; + } + else + { + buffer8[0] = 0; + buffer8[newLength] = 0; + } + } + + if (fill && len < newLength && buffer) + { + if (isWide) + { + char16 c = ' '; + for (uint32 i = len; i < newLength; i++) + buffer16 [i] = c; + } + else + { + memset (buffer8 + len, ' ', newLength - len); + } + } + } + return true; +} + +//----------------------------------------------------------------------------- +bool String::setChar8 (uint32 index, char8 c) +{ + if (index == len && c == 0) + return true; + + if (index >= len) + { + if (c == 0) + { + if (resize (index, isWide, true) == false) + return false; + len = index; + return true; + } + else + { + if (resize (index + 1, isWide, true) == false) + return false; + len = index + 1; + } + } + + if (index < len && buffer) + { + if (isWide) + { + if (c == 0) + buffer16[index] = 0; + else + { + char8 src[] = {c, 0}; + char16 dest[8] = {0}; + if (multiByteToWideString (dest, src, 2) > 0) + buffer16[index] = dest[0]; + } + SMTG_ASSERT (buffer16[len] == 0) + } + else + { + buffer8[index] = c; + SMTG_ASSERT (buffer8[len] == 0) + } + + if (c == 0) + updateLength (); + + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +bool String::setChar16 (uint32 index, char16 c) +{ + if (index == len && c == 0) + return true; + + if (index >= len) + { + if (c == 0) + { + if (resize (index, isWide, true) == false) + return false; + len = index; + return true; + } + else + { + if (resize (index + 1, isWide, true) == false) + return false; + len = index + 1; + } + } + + if (index < len && buffer) + { + if (isWide) + { + buffer16[index] = c; + SMTG_ASSERT (buffer16[len] == 0) + } + else + { + SMTG_ASSERT (buffer8[len] == 0) + char16 src[] = {c, 0}; + char8 dest[8] = {0}; + if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) + buffer8[index] = dest[0]; + else + return false; + } + + if (c == 0) + updateLength (); + + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +String& String::assign (const ConstString& str, int32 n) +{ + if (str.isWideString ()) + return assign (str.text16 (), n < 0 ? str.length () : n); + else + return assign (str.text8 (), n < 0 ? str.length () : n); +} + +//----------------------------------------------------------------------------- +String& String::assign (const char8* str, int32 n, bool isTerminated) +{ + if (str == buffer8) + return *this; + + if (isTerminated) + { + uint32 stringLength = (uint32)((str) ? strlen (str) : 0); + n = n < 0 ? stringLength : Min (n, stringLength); + } + else if (n < 0) + return *this; + + if (resize (n, false)) + { + if (buffer8 && n > 0) + { + memcpy (buffer8, str, n * sizeof (char8)); + SMTG_ASSERT (buffer8[n] == 0) + } + isWide = 0; + len = n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::assign (const char16* str, int32 n, bool isTerminated) +{ + if (str == buffer16) + return *this; + + if (isTerminated) + { + uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); + n = n < 0 ? stringLength : Min (n, stringLength); + } + else if (n < 0) + return *this; + + if (resize (n, true)) + { + if (buffer16 && n > 0) + { + memcpy (buffer16, str, n * sizeof (char16)); + SMTG_ASSERT (buffer16[n] == 0) + } + isWide = 1; + len = n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::assign (char8 c, int32 n) +{ + if (resize (n, false)) + { + if (buffer8 && n > 0) + { + memset (buffer8, c, n * sizeof (char8)); + SMTG_ASSERT (buffer8[n] == 0) + } + isWide = 0; + len = n; + } + return *this; + +} + +//----------------------------------------------------------------------------- +String& String::assign (char16 c, int32 n) +{ + if (resize (n, true)) + { + if (buffer && n > 0) + { + for (int32 i = 0; i < n; i++) + buffer16[i] = c; + SMTG_ASSERT (buffer16[n] == 0) + } + isWide = 1; + len = n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::append (const ConstString& str, int32 n) +{ + if (str.isWideString ()) + return append (str.text16 (), n); + else + return append (str.text8 (), n); +} + +//----------------------------------------------------------------------------- +String& String::append (const char8* str, int32 n) +{ + if (str == buffer8) + return *this; + + if (len == 0) + return assign (str, n); + + if (isWide) + { + String tmp (str); + if (tmp.toWideString () == false) + return *this; + + return append (tmp.buffer16, n); + } + + uint32 stringLength = (uint32)((str) ? strlen (str) : 0); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (n > 0) + { + int32 newlen = n + len; + if (!resize (newlen, false)) + return *this; + + if (buffer) + { + memcpy (buffer8 + len, str, n * sizeof (char8)); + SMTG_ASSERT (buffer8[newlen] == 0) + } + + len += n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::append (const char16* str, int32 n) +{ + if (str == buffer16) + return *this; + + if (len == 0) + return assign (str, n); + + if (!isWide) + { + if (toWideString () == false) + return *this; + } + + uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (n > 0) + { + int32 newlen = n + len; + if (!resize (newlen, true)) + return *this; + + if (buffer16) + { + memcpy (buffer16 + len, str, n * sizeof (char16)); + SMTG_ASSERT (buffer16[newlen] == 0) + } + + len += n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::append (const char8 c, int32 n) +{ + char8 str[] = {c, 0}; + if (n == 1) + { + return append (str, 1); + } + else if (n > 1) + { + if (isWide) + { + String tmp (str); + if (tmp.toWideString () == false) + return *this; + + return append (tmp.buffer16[0], n); + } + + int32 newlen = n + len; + if (!resize (newlen, false)) + return *this; + + if (buffer) + { + memset (buffer8 + len, c, n * sizeof (char8)); + SMTG_ASSERT (buffer8[newlen] == 0) + } + + len += n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::append (const char16 c, int32 n) +{ + if (n == 1) + { + char16 str[] = {c, 0}; + return append (str, 1); + } + else if (n > 1) + { + if (!isWide) + { + if (toWideString () == false) + return *this; + } + + int32 newlen = n + len; + if (!resize (newlen, true)) + return *this; + + if (buffer16) + { + for (int32 i = len; i < newlen; i++) + buffer16[i] = c; + SMTG_ASSERT (buffer16[newlen] == 0) + } + + len += n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::insertAt (uint32 idx, const ConstString& str, int32 n) +{ + if (str.isWideString ()) + return insertAt (idx, str.text16 (), n); + else + return insertAt (idx, str.text8 (), n); +} + +//----------------------------------------------------------------------------- +String& String::insertAt (uint32 idx, const char8* str, int32 n) +{ + if (idx > len) + return *this; + + if (isWide) + { + String tmp (str); + if (tmp.toWideString () == false) + return *this; + return insertAt (idx, tmp.buffer16, n); + } + + uint32 stringLength = (uint32)((str) ? strlen (str) : 0); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (n > 0) + { + int32 newlen = len + n; + if (!resize (newlen, false)) + return *this; + + if (buffer) + { + if (idx < len) + memmove (buffer8 + idx + n, buffer8 + idx, (len - idx) * sizeof (char8)); + memcpy (buffer8 + idx, str, n * sizeof (char8)); + SMTG_ASSERT (buffer8[newlen] == 0) + } + + len += n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::insertAt (uint32 idx, const char16* str, int32 n) +{ + if (idx > len) + return *this; + + if (!isWide) + { + if (toWideString () == false) + return *this; + } + + uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); + n = n < 0 ? stringLength : Min (n, stringLength); + + if (n > 0) + { + int32 newlen = len + n; + if (!resize (newlen, true)) + return *this; + + if (buffer) + { + if (idx < len) + memmove (buffer16 + idx + n, buffer16 + idx, (len - idx) * sizeof (char16)); + memcpy (buffer16 + idx, str, n * sizeof (char16)); + SMTG_ASSERT (buffer16[newlen] == 0) + } + + len += n; + } + return *this; +} + +//----------------------------------------------------------------------------- +String& String::replace (uint32 idx, int32 n1, const ConstString& str, int32 n2) +{ + if (str.isWideString ()) + return replace (idx, n1, str.text16 (), n2); + else + return replace (idx, n1, str.text8 (), n2); +} + +// "replace" replaces n1 number of characters at the specified index with +// n2 characters from the specified string. +//----------------------------------------------------------------------------- +String& String::replace (uint32 idx, int32 n1, const char8* str, int32 n2) +{ + if (idx > len || str == 0) + return *this; + + if (isWide) + { + String tmp (str); + if (tmp.toWideString () == false) + return *this; + if (tmp.length () == 0 || n2 == 0) + return remove (idx, n1); + return replace (idx, n1, tmp.buffer16, n2); + } + + if (n1 < 0 || idx + n1 > len) + n1 = len - idx; + if (n1 == 0) + return *this; + + uint32 stringLength = (uint32)((str) ? strlen (str) : 0); + n2 = n2 < 0 ? stringLength : Min (n2, stringLength); + + uint32 newlen = len - n1 + n2; + if (newlen > len) + if (!resize (newlen, false)) + return *this; + + if (buffer) + { + memmove (buffer8 + idx + n2, buffer8 + idx + n1, (len - (idx + n1)) * sizeof (char8)); + memcpy (buffer8 + idx, str, n2 * sizeof (char8)); + buffer8[newlen] = 0; // cannot be removed because resize is not called called in all cases (newlen > len) + } + + len = newlen; + + return *this; +} + +//----------------------------------------------------------------------------- +String& String::replace (uint32 idx, int32 n1, const char16* str, int32 n2) +{ + if (idx > len || str == 0) + return *this; + + if (!isWide) + { + if (toWideString () == false) + return *this; + } + + if (n1 < 0 || idx + n1 > len) + n1 = len - idx; + if (n1 == 0) + return *this; + + uint32 stringLength = (uint32)((str) ? strlen16 (str) : 0); + n2 = n2 < 0 ? stringLength : Min (n2, stringLength); + + uint32 newlen = len - n1 + n2; + if (newlen > len) + if (!resize (newlen, true)) + return *this; + + if (buffer) + { + memmove (buffer16 + idx + n2, buffer16 + idx + n1, (len - (idx + n1)) * sizeof (char16)); + memcpy (buffer16 + idx, str, n2 * sizeof (char16)); + buffer16[newlen] = 0; // cannot be removed because resize is not called called in all cases (newlen > len) + } + + len = newlen; + + return *this; +} + +//----------------------------------------------------------------------------- +int32 String::replace (const char8* toReplace, const char8* toReplaceWith, bool all, CompareMode m) +{ + if (toReplace == 0 || toReplaceWith == 0) + return 0; + + int32 result = 0; + + int32 idx = findFirst (toReplace, -1, m); + if (idx > -1) + { + int32 toReplaceLen = static_cast (strlen (toReplace)); + int32 toReplaceWithLen = static_cast (strlen (toReplaceWith)); + while (idx > -1) + { + replace (idx, toReplaceLen, toReplaceWith, toReplaceWithLen); + result++; + + if (all) + idx = findNext (idx + toReplaceWithLen , toReplace, -1, m); + else + break; + } + } + + return result; +} + +//----------------------------------------------------------------------------- +int32 String::replace (const char16* toReplace, const char16* toReplaceWith, bool all, CompareMode m) +{ + if (toReplace == 0 || toReplaceWith == 0) + return 0; + + int32 result = 0; + + int32 idx = findFirst (toReplace, -1, m); + if (idx > -1) + { + int32 toReplaceLen = strlen16 (toReplace); + int32 toReplaceWithLen = strlen16 (toReplaceWith); + while (idx > -1) + { + replace (idx, toReplaceLen, toReplaceWith, toReplaceWithLen); + result++; + + if (all) + idx = findNext (idx + toReplaceWithLen, toReplace, -1, m); + else + break; + } + } + return result; +} + +//----------------------------------------------------------------------------- +template +static bool performReplace (T* str, const T* toReplace, T toReplaceBy) +{ + bool anyReplace = false; + T* p = str; + while (*p) + { + const T* rep = toReplace; + while (*rep) + { + if (*p == *rep) + { + *p = toReplaceBy; + anyReplace = true; + break; + } + rep++; + } + p++; + } + return anyReplace; +} + +//----------------------------------------------------------------------------- +bool String::replaceChars8 (const char8* toReplace, char8 toReplaceBy) +{ + if (isEmpty ()) + return false; + + if (isWide) + { + String toReplaceW (toReplace); + if (toReplaceW.toWideString () == false) + return false; + + char8 src[] = {toReplaceBy, 0}; + char16 dest[2] = {0}; + if (multiByteToWideString (dest, src, 2) > 0) + { + return replaceChars16 (toReplaceW.text16 (), dest[0]); + } + return false; + } + + if (toReplaceBy == 0) + toReplaceBy = ' '; + + return performReplace (buffer8, toReplace, toReplaceBy); +} + +//----------------------------------------------------------------------------- +bool String::replaceChars16 (const char16* toReplace, char16 toReplaceBy) +{ + if (isEmpty ()) + return false; + + if (!isWide) + { + String toReplaceA (toReplace); + if (toReplaceA.toMultiByte () == false) + return false; + + if (toReplaceA.length () > 1) + { + SMTG_WARNING("cannot replace non ASCII chars on non Wide String") + return false; + } + + char16 src[] = {toReplaceBy, 0}; + char8 dest[8] = {0}; + if (wideStringToMultiByte (dest, src, 2) > 0 && dest[1] == 0) + return replaceChars8 (toReplaceA.text8 (), dest[0]); + + return false; + } + + if (toReplaceBy == 0) + toReplaceBy = STR16 (' '); + + return performReplace (buffer16, toReplace, toReplaceBy); +} + +// "remove" removes the specified number of characters from the string +// starting at the specified index. +//----------------------------------------------------------------------------- +String& String::remove (uint32 idx, int32 n) +{ + if (isEmpty () || idx >= len || n == 0) + return *this; + + if ((idx + n > len) || n < 0) + n = len - idx; + else + { + int32 toMove = len - idx - n; + if (buffer) + { + if (isWide) + memmove (buffer16 + idx, buffer16 + idx + n, toMove * sizeof (char16)); + else + memmove (buffer8 + idx, buffer8 + idx + n, toMove * sizeof (char8)); + } + } + + resize (len - n, isWide); + updateLength (); + + return *this; +} + +//----------------------------------------------------------------------------- +bool String::removeSubString (const ConstString& subString, bool allOccurences) +{ + bool removed = false; + while (!removed || allOccurences) + { + int32 idx = findFirst (subString); + if (idx < 0) + break; + remove (idx, subString.length ()); + removed = true; + } + return removed; +} + +//----------------------------------------------------------------------------- +template +static uint32 performTrim (T* str, uint32 length, F func, bool funcResult) +{ + uint32 toRemoveAtHead = 0; + uint32 toRemoveAtTail = 0; + + T* p = str; + + while ((*p) && ((func (*p) != 0) == funcResult)) + p++; + + toRemoveAtHead = static_cast (p - str); + + if (toRemoveAtHead < length) + { + p = str + length - 1; + + while (((func (*p) != 0) == funcResult) && (p > str)) + { + p--; + toRemoveAtTail++; + } + } + + uint32 newLength = length - (toRemoveAtHead + toRemoveAtTail); + if (newLength != length) + { + if (toRemoveAtHead) + memmove (str, str + toRemoveAtHead, newLength * sizeof (T)); + } + return newLength; +} + +// "trim" trims the leading and trailing unwanted characters from the string. +//----------------------------------------------------------------------------- +bool String::trim (String::CharGroup group) +{ + if (isEmpty ()) + return false; + + uint32 newLength; + + switch (group) + { + case kSpace: + if (isWide) + newLength = performTrim (buffer16, len, iswspace, true); + else + newLength = performTrim (buffer8, len, isspace, true); + break; + + case kNotAlphaNum: + if (isWide) + newLength = performTrim (buffer16, len, iswalnum, false); + else + newLength = performTrim (buffer8, len, isalnum, false); + break; + + case kNotAlpha: + if (isWide) + newLength = performTrim (buffer16, len, iswalpha, false); + else + newLength = performTrim (buffer8, len, isalpha, false); + break; + + default: // Undefined enum value + return false; + } + + if (newLength != len) + { + resize (newLength, isWide); + len = newLength; + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +template +static uint32 performRemove (T* str, uint32 length, F func, bool funcResult) +{ + T* p = str; + + while (*p) + { + if ((func (*p) != 0) == funcResult) + { + size_t toMove = length - (p - str); + memmove (p, p + 1, toMove * sizeof (T)); + length--; + } + else + p++; + } + return length; +} +//----------------------------------------------------------------------------- +void String::removeChars (CharGroup group) +{ + if (isEmpty ()) + return; + + uint32 newLength; + + switch (group) + { + case kSpace: + if (isWide) + newLength = performRemove (buffer16, len, iswspace, true); + else + newLength = performRemove (buffer8, len, isspace, true); + break; + + case kNotAlphaNum: + if (isWide) + newLength = performRemove (buffer16, len, iswalnum, false); + else + newLength = performRemove (buffer8, len, isalnum, false); + break; + + case kNotAlpha: + if (isWide) + newLength = performRemove (buffer16, len, iswalpha, false); + else + newLength = performRemove (buffer8, len, isalpha, false); + break; + + default: // Undefined enum value + return; + } + + if (newLength != len) + { + resize (newLength, isWide); + len = newLength; + } +} + +//----------------------------------------------------------------------------- +template +static uint32 performRemoveChars (T* str, uint32 length, const T* toRemove) +{ + T* p = str; + + while (*p) + { + bool found = false; + const T* rem = toRemove; + while (*rem) + { + if (*p == *rem) + { + found = true; + break; + } + rem++; + } + + if (found) + { + size_t toMove = length - (p - str); + memmove (p, p + 1, toMove * sizeof (T)); + length--; + } + else + p++; + } + return length; +} + +//----------------------------------------------------------------------------- +bool String::removeChars8 (const char8* toRemove) +{ + if (isEmpty () || toRemove == 0) + return true; + + if (isWide) + { + String wStr (toRemove); + if (wStr.toWideString () == false) + return false; + return removeChars16 (wStr.text16 ()); + } + + uint32 newLength = performRemoveChars (buffer8, len, toRemove); + + if (newLength != len) + { + resize (newLength, false); + len = newLength; + } + return true; +} + +//----------------------------------------------------------------------------- +bool String::removeChars16 (const char16* toRemove) +{ + if (isEmpty () || toRemove == 0) + return true; + + if (!isWide) + { + String str8 (toRemove); + if (str8.toMultiByte () == false) + return false; + return removeChars8 (str8.text8 ()); + } + + uint32 newLength = performRemoveChars (buffer16, len, toRemove); + + if (newLength != len) + { + resize (newLength, true); + len = newLength; + } + return true; +} + +//----------------------------------------------------------------------------- +String& String::printf (const char8* format, ...) +{ + char8 string[kPrintfBufferSize]; + + va_list marker; + va_start (marker, format); + + vsnprintf (string, kPrintfBufferSize-1, format, marker); + return assign (string); +} + + +//----------------------------------------------------------------------------- +String& String::printf (const char16* format, ...) +{ + char16 string[kPrintfBufferSize]; + + va_list marker; + va_start (marker, format); + + vsnwprintf (string, kPrintfBufferSize-1, format, marker); + return assign (string); +} + +//----------------------------------------------------------------------------- +String& String::vprintf (const char8* format, va_list args) +{ + char8 string[kPrintfBufferSize]; + + vsnprintf (string, kPrintfBufferSize-1, format, args); + return assign (string); +} + +//----------------------------------------------------------------------------- +String& String::vprintf (const char16* format, va_list args) +{ + char16 string[kPrintfBufferSize]; + + vsnwprintf (string, kPrintfBufferSize-1, format, args); + return assign (string); +} + +//----------------------------------------------------------------------------- +String& String::printInt64 (int64 value) +{ + if (isWide) + { + #if SMTG_CPP11 + return String::printf (STR("%") STR(FORMAT_INT64A), value); + #else + return String::printf (STR("%" FORMAT_INT64A), value); + #endif + } + else + return String::printf ("%" FORMAT_INT64A, value); +} + +//----------------------------------------------------------------------------- +String& String::printFloat (double value) +{ + if (isWide) + { + char16 string[kPrintfBufferSize]; + sprintf16 (string, STR16 ("%lf"), value); + + char16* pointPtr = strrchr16 (string, STR ('.')); + if (pointPtr) + { + pointPtr++; // keep 1st digit after point + int32 index = strlen16 (string) - 1; + char16 zero = STR16 ('0'); + while (pointPtr < (string + index)) + { + if (string[index] == zero) + { + string[index] = 0; + index--; + } + else + break; + } + } + return assign (string); + } + else + { + char8 string[kPrintfBufferSize]; + sprintf (string, "%lf", value); + + char8* pointPtr = strrchr (string, '.'); + if (pointPtr) + { + pointPtr++; // keep 1st digit after point + int32 index = (int32) (strlen (string) - 1); + while (pointPtr < (string + index)) + { + if (string[index] == '0') + { + string[index] = 0; + index--; + } + else + break; + } + } + return assign (string); + } +} + +//----------------------------------------------------------------------------- +bool String::incrementTrailingNumber (uint32 width, tchar separator, uint32 minNumber, bool applyOnlyFormat) +{ + if (width > 32) + return false; + + int64 number = 1; + int32 index = getTrailingNumberIndex (); + if (index >= 0) + { + if (scanInt64 (number, index)) + if (!applyOnlyFormat) + number++; + + if (separator != 0 && index > 0 && testChar (index - 1, separator) == true) + index--; + + remove (index); + } + + if (number < minNumber) + number = minNumber; + + if (isWide) + { + char16 format[64]; + char16 trail[128]; + if (separator && isEmpty () == false) + { + sprintf16 (format, STR16 ("%%c%%0%uu"), width); + sprintf16 (trail, format, separator, (uint32) number); + } + else + { + sprintf16 (format, STR16 ("%%0%uu"), width); + sprintf16 (trail, format, (uint32) number); + } + append (trail); + } + else + { + char format[64]; + char trail[128]; + if (separator && isEmpty () == false) + { + sprintf (format, "%%c%%0%uu", width); + sprintf (trail, format, separator, (uint32) number); + } + else + { + sprintf (format, "%%0%uu", width); + sprintf (trail, format, (uint32) number); + } + append (trail); + } + + return true; +} + +//----------------------------------------------------------------------------- +void String::toLower (uint32 index) +{ + if (buffer && index < len) + { + if (isWide) + buffer16[index] = ConstString::toLower (buffer16[index]); + else + buffer8[index] = ConstString::toLower (buffer8[index]); + } +} + +//----------------------------------------------------------------------------- +void String::toLower () +{ + int32 i = len; + if (buffer && i > 0) + { + if (isWide) + { +#if SMTG_OS_MACOS + CFMutableStringRef cfStr = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, (UniChar*)buffer16, len, len+1, kCFAllocatorNull); + CFStringLowercase (cfStr, NULL); + CFRelease (cfStr); +#else + char16* c = buffer16; + while (i--) + { + *c = ConstString::toLower (*c); + c++; + } +#endif + } + else + { + char8* c = buffer8; + while (i--) + { + *c = ConstString::toLower (*c); + c++; + } + } + } +} + +//----------------------------------------------------------------------------- +void String::toUpper (uint32 index) +{ + if (buffer && index < len) + { + if (isWide) + buffer16[index] = ConstString::toUpper (buffer16[index]); + else + buffer8[index] = ConstString::toUpper (buffer8[index]); + } +} + +//----------------------------------------------------------------------------- +void String::toUpper () +{ + int32 i = len; + if (buffer && i > 0) + { + if (isWide) + { +#if SMTG_OS_MACOS + CFMutableStringRef cfStr = CFStringCreateMutableWithExternalCharactersNoCopy (kCFAllocator, (UniChar*)buffer16, len, len+1, kCFAllocatorNull); + CFStringUppercase (cfStr, NULL); + CFRelease (cfStr); +#else + char16* c = buffer16; + while (i--) + { + *c = ConstString::toUpper (*c); + c++; + } +#endif + } + else + { + char8* c = buffer8; + while (i--) + { + *c = ConstString::toUpper (*c); + c++; + } + } + } +} + +//----------------------------------------------------------------------------- +bool String::fromVariant (const FVariant& var) +{ + switch (var.getType ()) + { + case FVariant::kString8: + assign (var.getString8 ()); + return true; + + case FVariant::kString16: + assign (var.getString16 ()); + return true; + + case FVariant::kFloat: + printFloat (var.getFloat ()); + return true; + + case FVariant::kInteger: + printInt64 (var.getInt ()); + return true; + + default: + remove (); + } + return false; +} + +//----------------------------------------------------------------------------- +void String::toVariant (FVariant& var) const +{ + if (isWide) + { + var.setString16 (text16 ()); + } + else + { + var.setString8 (text8 ()); + } +} + +//----------------------------------------------------------------------------- +bool String::fromAttributes (IAttributes* a, IAttrID attrID) +{ + FVariant variant; + if (a->get (attrID, variant) == kResultTrue) + return fromVariant (variant); + return false; +} + +//----------------------------------------------------------------------------- +bool String::toAttributes (IAttributes* a, IAttrID attrID) +{ + FVariant variant; + toVariant (variant); + if (a->set (attrID, variant) == kResultTrue) + return true; + return false; +} + +// "swapContent" swaps ownership of the strings pointed to +//----------------------------------------------------------------------------- +void String::swapContent (String& s) +{ + void* tmp = s.buffer; + uint32 tmpLen = s.len; + bool tmpWide = s.isWide; + s.buffer = buffer; + s.len = len; + s.isWide = isWide; + buffer = tmp; + len = tmpLen; + isWide = tmpWide; +} + +//----------------------------------------------------------------------------- +void String::take (String& other) +{ + resize (0, other.isWide); + buffer = other.buffer; + len = other.len; + + other.buffer = 0; + other.len = 0; +} + +//----------------------------------------------------------------------------- +void String::take (void* b, bool wide) +{ + resize (0, wide); + buffer = b; + isWide = wide; + updateLength (); +} + +//----------------------------------------------------------------------------- +void* String::pass () +{ + void* res = buffer; + len = 0; + buffer = 0; + return res; +} + +//----------------------------------------------------------------------------- +void String::passToVariant (FVariant& var) +{ + void* passed = pass (); + + if (isWide) + { + if (passed) + { + var.setString16 ((const char16*)passed); + var.setOwner (true); + } + else + var.setString16 (kEmptyString16); + } + else + { + if (passed) + { + var.setString8 ((const char8*)passed); + var.setOwner (true); + } + else + var.setString8 (kEmptyString8); + } +} + + +//----------------------------------------------------------------------------- +unsigned char* String::toPascalString (unsigned char* buf) +{ + if (buffer) + { + if (isWide) + { + String tmp (*this); + tmp.toMultiByte (); + return tmp.toPascalString (buf); + } + + int32 length = len; + if (length > 255) + length = 255; + buf[0] = (uint8)length; + while (length >= 0) + { + buf[length + 1] = buffer8[length]; + length--; + } + return buf; + } + else + { + *buf = 0; + return buf; + } +} + +//----------------------------------------------------------------------------- +const String& String::fromPascalString (const unsigned char* buf) +{ + resize (0, false); + isWide = 0; + int32 length = buf[0]; + resize (length + 1, false); + buffer8[length] = 0; // cannot be removed, because we only do the 0-termination for multibyte buffer8 + while (--length >= 0) + buffer8[length] = buf[length + 1]; + len = buf[0]; + return *this; +} + +#if SMTG_OS_MACOS + +//----------------------------------------------------------------------------- +bool String::fromCFStringRef (const void* cfStr, uint32 encoding) +{ + if (cfStr == 0) + return false; + + CFStringRef strRef = (CFStringRef)cfStr; + if (isWide) + { + CFRange range = { 0, CFStringGetLength (strRef)}; + CFIndex usedBytes; + if (resize (static_cast (range.length + 1), true)) + { + if (encoding == 0xFFFF) + encoding = kCFStringEncodingUnicode; + if (CFStringGetBytes (strRef, range, encoding, ' ', false, (UInt8*)buffer16, range.length * 2, &usedBytes) > 0) + { + buffer16[usedBytes/2] = 0; + this->len = strlen16 (buffer16); + return true; + } + } + } + else + { + if (cfStr == 0) + return false; + if (encoding == 0xFFFF) + encoding = kCFStringEncodingASCII; + int32 len = static_cast (CFStringGetLength (strRef) * 2); + if (resize (++len, false)) + { + if (CFStringGetCString (strRef, buffer8, len, encoding)) + { + this->len = static_cast (strlen (buffer8)); + return true; + } + } + } + + return false; +} + +//----------------------------------------------------------------------------- +void* ConstString::toCFStringRef (uint32 encoding, bool mutableCFString) const +{ + if (mutableCFString) + { + CFMutableStringRef str = CFStringCreateMutable (kCFAllocator, 0); + if (isWide) + { + CFStringAppendCharacters (str, (const UniChar *)buffer16, len); + return str; + } + else + { + if (encoding == 0xFFFF) + encoding = kCFStringEncodingASCII; + CFStringAppendCString (str, buffer8, encoding); + return str; + } + } + else + { + if (isWide) + { + if (encoding == 0xFFFF) + encoding = kCFStringEncodingUnicode; + return (void*)CFStringCreateWithBytes (kCFAllocator, (const unsigned char*)buffer16, len * 2, encoding, false); + } + else + { + if (encoding == 0xFFFF) + encoding = kCFStringEncodingASCII; + if (buffer8) + return (void*)CFStringCreateWithCString (kCFAllocator, buffer8, encoding); + else + return (void*)CFStringCreateWithCString (kCFAllocator, "", encoding); + } + } + return 0; +} + +#endif + +//----------------------------------------------------------------------------- +uint32 hashString8 (const char8* s, uint32 m) +{ + uint32 h = 0; + if (s) + { + for (h = 0; *s != '\0'; s++) + h = (64 * h + *s) % m; + } + return h; +} + +//----------------------------------------------------------------------------- +uint32 hashString16 (const char16* s, uint32 m) +{ + uint32 h = 0; + if (s) + { + for (h = 0; *s != 0; s++) + h = (64 * h + *s) % m; + } + return h; +} + +//------------------------------------------------------------------------ +template int32 tstrnatcmp (const T* s1, const T* s2, bool caseSensitive = true) +{ + if (s1 == 0 && s2 == 0) + return 0; + else if (s1 == 0) + return -1; + else if (s2 == 0) + return 1; + + while (*s1 && *s2) + { + if (ConstString::isCharDigit (*s1) && ConstString::isCharDigit (*s2)) + { + int32 s1LeadingZeros = 0; + while (*s1 == '0') + { + s1++; // skip leading zeros + s1LeadingZeros++; + } + int32 s2LeadingZeros = 0; + while (*s2 == '0') + { + s2++; // skip leading zeros + s2LeadingZeros++; + } + + int32 countS1Digits = 0; + while (*(s1 + countS1Digits) && ConstString::isCharDigit (*(s1 + countS1Digits))) + countS1Digits++; + int32 countS2Digits = 0; + while (*(s2 + countS2Digits) && ConstString::isCharDigit (*(s2 + countS2Digits))) + countS2Digits++; + + if (countS1Digits != countS2Digits) + return countS1Digits - countS2Digits; // one number is longer than the other + + for (int32 i = 0; i < countS1Digits; i++) + { + // countS1Digits == countS2Digits + if (*s1 != *s2) + return (int32)(*s1 - *s2); // the digits differ + s1++; + s2++; + } + + if (s1LeadingZeros != s2LeadingZeros) + return s1LeadingZeros - s2LeadingZeros; // differentiate by the number of leading zeros + } + else + { + if (caseSensitive == false) + { + T srcToUpper = toupper (*s1); + T dstToUpper = toupper (*s2); + if (srcToUpper != dstToUpper) + return (int32)(srcToUpper - dstToUpper); + } + else if (*s1 != *s2) + return (int32)(*s1 - *s2); + + s1++; + s2++; + } + } + + if (*s1 == 0 && *s2 == 0) + return 0; + else if (*s1 == 0) + return -1; + else if (*s2 == 0) + return 1; + else + return (int32)(*s1 - *s2); +} + +//------------------------------------------------------------------------ +int32 strnatcmp8 (const char8* s1, const char8* s2, bool caseSensitive /*= true*/) +{ + return tstrnatcmp (s1, s2, caseSensitive); +} + +//------------------------------------------------------------------------ +int32 strnatcmp16 (const char16* s1, const char16* s2, bool caseSensitive /*= true*/) +{ + return tstrnatcmp (s1, s2, caseSensitive); +} + +//----------------------------------------------------------------------------- +// StringObject Implementation +//----------------------------------------------------------------------------- +void PLUGIN_API StringObject::setText (const char8* text) +{ + assign (text); +} + +//----------------------------------------------------------------------------- +void PLUGIN_API StringObject::setText8 (const char8* text) +{ + assign (text); +} + +//----------------------------------------------------------------------------- +void PLUGIN_API StringObject::setText16 (const char16* text) +{ + assign (text); +} + +//----------------------------------------------------------------------------- +const char8* PLUGIN_API StringObject::getText8 () +{ + return text8 (); +} + +//----------------------------------------------------------------------------- +const char16* PLUGIN_API StringObject::getText16 () +{ + return text16 (); +} + +//----------------------------------------------------------------------------- +void PLUGIN_API StringObject::take (void* s, bool _isWide) +{ + String::take (s, _isWide); +} + +//----------------------------------------------------------------------------- +bool PLUGIN_API StringObject::isWideString () const +{ + return String::isWideString (); +} + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h index 28b35192..12cc3de4 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/fstring.h @@ -1,747 +1,747 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/fstring.h -// Created by : Steinberg, 2008 -// Description : String class -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/ftypes.h" -#include "pluginterfaces/base/fstrdefs.h" -#include "pluginterfaces/base/istringresult.h" -#include "pluginterfaces/base/ipersistent.h" - -#include "base/source/fobject.h" - -#include - -namespace Steinberg { - -class FVariant; -class String; - -#ifdef UNICODE -static const bool kWideStringDefault = true; -#else -static const bool kWideStringDefault = false; -#endif - -static const uint16 kBomUtf16 = 0xFEFF; ///< UTF16 Byte Order Mark -static const char8* const kBomUtf8 = "\xEF\xBB\xBF"; ///< UTF8 Byte Order Mark -static const int32 kBomUtf8Length = 3; - - -enum MBCodePage -{ - kCP_ANSI = 0, ///< Default ANSI codepage. - kCP_MAC_ROMAN = 2, ///< Default Mac codepage. - - kCP_ANSI_WEL = 1252, ///< West European Latin Encoding. - kCP_MAC_CEE = 10029, ///< Mac Central European Encoding. - kCP_Utf8 = 65001, ///< UTF8 Encoding. - kCP_ShiftJIS = 932, ///< Shifted Japan Industrial Standard Encoding. - kCP_US_ASCII = 20127, ///< US-ASCII (7-bit). - - kCP_Default = kCP_ANSI ///< Default ANSI codepage. -}; - -enum UnicodeNormalization -{ - kUnicodeNormC, ///< Unicode normalization Form C, canonical composition. - kUnicodeNormD, ///< Unicode normalization Form D, canonical decomposition. - kUnicodeNormKC, ///< Unicode normalization form KC, compatibility composition. - kUnicodeNormKD ///< Unicode normalization form KD, compatibility decomposition. -}; - -//------------------------------------------------------------------------ -// Helper functions to create hash codes from string data. -//------------------------------------------------------------------------ -extern uint32 hashString8 (const char8* s, uint32 m); -extern uint32 hashString16 (const char16* s, uint32 m); -inline uint32 hashString (const tchar* s, uint32 m) -{ -#ifdef UNICODE - return hashString16 (s, m); -#else - return hashString8 (s, m); -#endif -} - - -//----------------------------------------------------------------------------- -/** Invariant String. -@ingroup adt - -A base class which provides methods to work with its -member string. Neither of the operations allows modifying the member string and -that is why all operation are declared as const. - -There are operations for access, comparison, find, numbers and conversion. - -Almost all operations exist in three versions for char8, char16 and the -polymorphic type tchar. The type tchar can either be char8 or char16 depending -on whether UNICODE is activated or not.*/ -//----------------------------------------------------------------------------- -class ConstString -{ -public: -//----------------------------------------------------------------------------- - ConstString (const char8* str, int32 length = -1); ///< Assign from string of type char8 (length=-1: all) - ConstString (const char16* str, int32 length = -1); ///< Assign from string of type char16 (length=-1: all) - ConstString (const ConstString& str, int32 offset = 0, int32 length = -1); ///< Copy constructor (length=-1: all). - ConstString (const FVariant& var); ///< Assign a string from FVariant - ConstString (); - virtual ~ConstString () {} ///< Destructor. - - // access ----------------------------------------------------------------- - virtual int32 length () const {return static_cast (len);} ///< Return length of string - inline bool isEmpty () const {return buffer == 0 || len == 0;} ///< Return true if string is empty - - operator const char8* () const {return text8 ();} ///< Returns pointer to string of type char8 (no modification allowed) - operator const char16* () const {return text16 ();} ///< Returns pointer to string of type char16(no modification allowed) - inline tchar operator[] (short idx) const {return getChar (static_cast (idx));} ///< Returns character at 'idx' - inline tchar operator[] (long idx) const {return getChar (static_cast (idx));} - inline tchar operator[] (int idx) const {return getChar (static_cast (idx));} - inline tchar operator[] (unsigned short idx) const {return getChar (idx);} - inline tchar operator[] (unsigned long idx) const {return getChar (static_cast (idx));} - inline tchar operator[] (unsigned int idx) const {return getChar (idx);} - - inline virtual const char8* text8 () const; ///< Returns pointer to string of type char8 - inline virtual const char16* text16 () const; ///< Returns pointer to string of type char16 - inline virtual const tchar* text () const; ///< Returns pointer to string of type tchar - inline virtual const void* ptr () const {return buffer;} ///< Returns pointer to string of type void - - inline virtual char8 getChar8 (uint32 index) const; ///< Returns character of type char16 at 'index' - inline virtual char16 getChar16 (uint32 index) const; ///< Returns character of type char8 at 'index' - inline tchar getChar (uint32 index) const; ///< Returns character of type tchar at 'index' - inline tchar getCharAt (uint32 index) const; ///< Returns character of type tchar at 'index', no conversion! - - bool testChar8 (uint32 index, char8 c) const; ///< Returns true if character is equal at position 'index' - bool testChar16 (uint32 index, char16 c) const; - inline bool testChar (uint32 index, char8 c) const {return testChar8 (index, c);} - inline bool testChar (uint32 index, char16 c) const {return testChar16 (index, c);} - - bool extract (String& result, uint32 idx, int32 n = -1) const; ///< Get n characters long substring starting at index (n=-1: until end) - int32 copyTo8 (char8* str, uint32 idx = 0, int32 n = -1) const; - int32 copyTo16 (char16* str, uint32 idx = 0, int32 n = -1) const; - int32 copyTo (tchar* str, uint32 idx = 0, int32 n = -1) const; - void copyTo (IStringResult* result) const; ///< Copies whole member string - void copyTo (IString& string) const; ///< Copies whole member string - - inline uint32 hash (uint32 tsize) const - { - return isWide ? hashString16 (buffer16, tsize) : hashString8 (buffer8, tsize) ; - } - //------------------------------------------------------------------------- - - // compare ---------------------------------------------------------------- - enum CompareMode - { - kCaseSensitive, ///< Comparison is done with regard to character's case - kCaseInsensitive ///< Comparison is done without regard to character's case - }; - - int32 compareAt (uint32 index, const ConstString& str, int32 n = -1, CompareMode m = kCaseSensitive) const; ///< Compare n characters of str with n characters of this starting at index (return: see above) - int32 compare (const ConstString& str, int32 n, CompareMode m = kCaseSensitive) const; ///< Compare n characters of str with n characters of this (return: see above) - int32 compare (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Compare all characters of str with this (return: see above) - - int32 naturalCompare (const ConstString& str, CompareMode mode = kCaseSensitive) const; - - bool startsWith (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Check if this starts with str - bool endsWith (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Check if this ends with str - bool contains (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Check if this contains str - - // static methods - static bool isCharSpace (char8 character); ///< Returns true if character is a space - static bool isCharSpace (char16 character); ///< @copydoc isCharSpace(const char8) - static bool isCharAlpha (char8 character); ///< Returns true if character is an alphabetic character - static bool isCharAlpha (char16 character); ///< @copydoc isCharAlpha(const char8) - static bool isCharAlphaNum (char8 character); ///< Returns true if character is an alphanumeric character - static bool isCharAlphaNum (char16 character); ///< @copydoc isCharAlphaNum(const char8) - static bool isCharDigit (char8 character); ///< Returns true if character is a number - static bool isCharDigit (char16 character); ///< @copydoc isCharDigit(const char8) - static bool isCharAscii (char8 character); ///< Returns true if character is in ASCII range - static bool isCharAscii (char16 character); ///< Returns true if character is in ASCII range - static bool isCharUpper (char8 character); - static bool isCharUpper (char16 character); - static bool isCharLower (char8 character); - static bool isCharLower (char16 character); - //------------------------------------------------------------------------- - - /** @name Find first occurrence of n characters of str in this (n=-1: all) ending at endIndex (endIndex = -1: all)*/ - ///@{ - inline int32 findFirst (const ConstString& str, int32 n = -1, CompareMode m = kCaseSensitive, int32 endIndex = -1) const {return findNext (0, str, n, m, endIndex);} - inline int32 findFirst (char8 c, CompareMode m = kCaseSensitive, int32 endIndex = -1) const {return findNext (0, c, m, endIndex);} - inline int32 findFirst (char16 c, CompareMode m = kCaseSensitive, int32 endIndex = -1) const {return findNext (0, c, m, endIndex);} - ///@} - /** @name Find next occurrence of n characters of str starting at startIndex in this (n=-1: all) ending at endIndex (endIndex = -1: all)*/ - ///@{ - int32 findNext (int32 startIndex, const ConstString& str, int32 n = -1, CompareMode = kCaseSensitive, int32 endIndex = -1) const; - int32 findNext (int32 startIndex, char8 c, CompareMode = kCaseSensitive, int32 endIndex = -1) const; - int32 findNext (int32 startIndex, char16 c, CompareMode = kCaseSensitive, int32 endIndex = -1) const; - ///@} - /** @name Find previous occurrence of n characters of str starting at startIndex in this (n=-1: all) */ - ///@{ - int32 findPrev (int32 startIndex, const ConstString& str, int32 n = -1, CompareMode = kCaseSensitive) const; - int32 findPrev (int32 startIndex, char8 c, CompareMode = kCaseSensitive) const; - int32 findPrev (int32 startIndex, char16 c, CompareMode = kCaseSensitive) const; - ///@} - - inline int32 findLast (const ConstString& str, int32 n = -1, CompareMode m = kCaseSensitive) const {return findPrev (-1, str, n, m);} ///< Find last occurrence of n characters of str in this (n=-1: all) - inline int32 findLast (char8 c, CompareMode m = kCaseSensitive) const {return findPrev (-1, c, m);} - inline int32 findLast (char16 c, CompareMode m = kCaseSensitive) const {return findPrev (-1, c, m);} - - int32 countOccurences (char8 c, uint32 startIndex, CompareMode = kCaseSensitive) const; ///< Counts occurences of c within this starting at index - int32 countOccurences (char16 c, uint32 startIndex, CompareMode = kCaseSensitive) const; - int32 getFirstDifferent (const ConstString& str, CompareMode = kCaseSensitive) const; ///< Returns position of first different character - //------------------------------------------------------------------------- - - // numbers ---------------------------------------------------------------- - bool isDigit (uint32 index) const; ///< Returns true if character at position is a digit - bool scanFloat (double& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to double value starting at offset - bool scanInt64 (int64& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to int64 value starting at offset - bool scanUInt64 (uint64& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to uint64 value starting at offset - bool scanInt32 (int32& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to int32 value starting at offset - bool scanUInt32 (uint32& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to uint32 value starting at offset - bool scanHex (uint8& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to hex/uint8 value starting at offset - - int32 getTrailingNumberIndex (uint32 width = 0) const; ///< Returns start index of trailing number - int64 getTrailingNumber (int64 fallback = 0) const; ///< Returns result of scanInt64 or the fallback - int64 getNumber () const; ///< Returns result of scanInt64 - - // static methods - static bool scanInt64_8 (const char8* text, int64& value, bool scanToEnd = true); ///< Converts string of type char8 to int64 value - static bool scanInt64_16 (const char16* text, int64& value, bool scanToEnd = true); ///< Converts string of type char16 to int64 value - static bool scanInt64 (const tchar* text, int64& value, bool scanToEnd = true); ///< Converts string of type tchar to int64 value - - static bool scanUInt64_8 (const char8* text, uint64& value, bool scanToEnd = true); ///< Converts string of type char8 to uint64 value - static bool scanUInt64_16 (const char16* text, uint64& value, bool scanToEnd = true); ///< Converts string of type char16 to uint64 value - static bool scanUInt64 (const tchar* text, uint64& value, bool scanToEnd = true); ///< Converts string of type tchar to uint64 value - - static bool scanInt32_8 (const char8* text, int32& value, bool scanToEnd = true); ///< Converts string of type char8 to int32 value - static bool scanInt32_16 (const char16* text, int32& value, bool scanToEnd = true); ///< Converts string of type char16 to int32 value - static bool scanInt32 (const tchar* text, int32& value, bool scanToEnd = true); ///< Converts string of type tchar to int32 value - - static bool scanUInt32_8 (const char8* text, uint32& value, bool scanToEnd = true); ///< Converts string of type char8 to int32 value - static bool scanUInt32_16 (const char16* text, uint32& value, bool scanToEnd = true); ///< Converts string of type char16 to int32 value - static bool scanUInt32 (const tchar* text, uint32& value, bool scanToEnd = true); ///< Converts string of type tchar to int32 value - - static bool scanHex_8 (const char8* text, uint8& value, bool scanToEnd = true); ///< Converts string of type char8 to hex/unit8 value - static bool scanHex_16 (const char16* text, uint8& value, bool scanToEnd = true); ///< Converts string of type char16 to hex/unit8 value - static bool scanHex (const tchar* text, uint8& value, bool scanToEnd = true); ///< Converts string of type tchar to hex/unit8 value - //------------------------------------------------------------------------- - - // conversion ------------------------------------------------------------- - void toVariant (FVariant& var) const; - - static char8 toLower (char8 c); ///< Converts to lower case - static char8 toUpper (char8 c); ///< Converts to upper case - static char16 toLower (char16 c); - static char16 toUpper (char16 c); - - static int32 multiByteToWideString (char16* dest, const char8* source, int32 wcharCount, uint32 sourceCodePage = kCP_Default); ///< If dest is zero, this returns the maximum number of bytes needed to convert source - static int32 wideStringToMultiByte (char8* dest, const char16* source, int32 char8Count, uint32 destCodePage = kCP_Default); ///< If dest is zero, this returns the maximum number of bytes needed to convert source - - bool isWideString () const {return isWide != 0;} ///< Returns true if string is wide - bool isAsciiString () const; ///< Checks if all characters in string are in ascii range - - bool isNormalized (UnicodeNormalization = kUnicodeNormC); ///< On PC only kUnicodeNormC is working - -#if SMTG_OS_MACOS - virtual void* toCFStringRef (uint32 encoding = 0xFFFF, bool mutableCFString = false) const; ///< CFString conversion -#endif -//------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- -protected: - - union - { - void* buffer; - char8* buffer8; - char16* buffer16; - }; - uint32 len : 30; - uint32 isWide : 1; -}; - -//----------------------------------------------------------------------------- -/** String. -@ingroup adt - -Extends class ConstString by operations which allow modifications. - -\see ConstString */ -//----------------------------------------------------------------------------- -class String : public ConstString -{ -public: -//----------------------------------------------------------------------------- - String (); - String (const char8* str, MBCodePage codepage, int32 n = -1, bool isTerminated = true); ///< assign n characters of str and convert to wide string by using the specified codepage - String (const char8* str, int32 n = -1, bool isTerminated = true); ///< assign n characters of str (-1: all) - String (const char16* str, int32 n = -1, bool isTerminated = true); ///< assign n characters of str (-1: all) - String (const String& str, int32 n = -1); ///< assign n characters of str (-1: all) - String (const ConstString& str, int32 n = -1); ///< assign n characters of str (-1: all) - String (const FVariant& var); ///< assign from FVariant - String (IString* str); ///< assign from IString - ~String (); - -#if SMTG_CPP11_STDLIBSUPPORT - String (String&& str); - String& operator= (String&& str); -#endif - - // access------------------------------------------------------------------ - void updateLength (); ///< Call this when the string is truncated outside (not recommended though) - virtual const char8* text8 () const SMTG_OVERRIDE; - virtual const char16* text16 () const SMTG_OVERRIDE; - virtual char8 getChar8 (uint32 index) const SMTG_OVERRIDE; - virtual char16 getChar16 (uint32 index) const SMTG_OVERRIDE; - - bool setChar8 (uint32 index, char8 c); - bool setChar16 (uint32 index, char16 c); - inline bool setChar (uint32 index, char8 c) {return setChar8 (index, c);} - inline bool setChar (uint32 index, char16 c) {return setChar16 (index, c);} - //------------------------------------------------------------------------- - - // assignment-------------------------------------------------------------- - String& operator= (const char8* str) {return assign (str);} ///< Assign from a string of type char8 - String& operator= (const char16* str) {return assign (str);} - String& operator= (const ConstString& str) {return assign (str);} - String& operator= (const String& str) {return assign (str);} - String& operator= (char8 c) {return assign (c);} - String& operator= (char16 c) {return assign (c);} - - String& assign (const ConstString& str, int32 n = -1); ///< Assign n characters of str (-1: all) - String& assign (const char8* str, int32 n = -1, bool isTerminated = true); ///< Assign n characters of str (-1: all) - String& assign (const char16* str, int32 n = -1, bool isTerminated = true); ///< Assign n characters of str (-1: all) - String& assign (char8 c, int32 n = 1); - String& assign (char16 c, int32 n = 1); - //------------------------------------------------------------------------- - - // concat------------------------------------------------------------------ - String& append (const ConstString& str, int32 n = -1); ///< Append n characters of str to this (n=-1: all) - String& append (const char8* str, int32 n = -1); ///< Append n characters of str to this (n=-1: all) - String& append (const char16* str, int32 n = -1); ///< Append n characters of str to this (n=-1: all) - String& append (const char8 c, int32 n = 1); ///< Append char c n times - String& append (const char16 c, int32 n = 1); ///< Append char c n times - - String& insertAt (uint32 idx, const ConstString& str, int32 n = -1); ///< Insert n characters of str at position idx (n=-1: all) - String& insertAt (uint32 idx, const char8* str, int32 n = -1); ///< Insert n characters of str at position idx (n=-1: all) - String& insertAt (uint32 idx, const char16* str, int32 n = -1); ///< Insert n characters of str at position idx (n=-1: all) - String& insertAt (uint32 idx, char8 c) {char8 str[] = {c, 0}; return insertAt (idx, str, 1);} - String& insertAt (uint32 idx, char16 c) {char16 str[] = {c, 0}; return insertAt (idx, str, 1);} - - String& operator+= (const String& str) {return append (str);} - String& operator+= (const ConstString& str) {return append (str);} - String& operator+= (const char8* str) {return append (str);} - String& operator+= (const char16* str) {return append (str);} - String& operator+= (const char8 c) {return append (c);} - String& operator+= (const char16 c) {return append (c);} - //------------------------------------------------------------------------- - - // replace----------------------------------------------------------------- - String& replace (uint32 idx, int32 n1, const ConstString& str, int32 n2 = -1); ///< Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end) - String& replace (uint32 idx, int32 n1, const char8* str, int32 n2 = -1); ///< Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end) - String& replace (uint32 idx, int32 n1, const char16* str, int32 n2 = -1); ///< Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end) - - int32 replace (const char8* toReplace, const char8* toReplaceWith, bool all = false, CompareMode m = kCaseSensitive); ///< Replace find string with replace string - returns number of replacements - int32 replace (const char16* toReplace, const char16* toReplaceWith, bool all = false, CompareMode m = kCaseSensitive); ///< Replace find string with replace string - returns number of replacements - - bool replaceChars8 (const char8* toReplace, char8 toReplaceBy); ///< Returns true when any replacement was done - bool replaceChars16 (const char16* toReplace, char16 toReplaceBy); - inline bool replaceChars8 (char8 toReplace, char8 toReplaceBy) {char8 str[] = {toReplace, 0}; return replaceChars8 (str, toReplaceBy);} - inline bool replaceChars16 (char16 toReplace, char16 toReplaceBy) {char16 str[] = {toReplace, 0}; return replaceChars16 (str, toReplaceBy);} - inline bool replaceChars (char8 toReplace, char8 toReplaceBy) {return replaceChars8 (toReplace, toReplaceBy);} - inline bool replaceChars (char16 toReplace, char16 toReplaceBy) {return replaceChars16 (toReplace, toReplaceBy);} - inline bool replaceChars (const char8* toReplace, char8 toReplaceBy) {return replaceChars8 (toReplace, toReplaceBy);} - inline bool replaceChars (const char16* toReplace, char16 toReplaceBy) {return replaceChars16 (toReplace, toReplaceBy);} - //------------------------------------------------------------------------- - - // remove------------------------------------------------------------------ - String& remove (uint32 index = 0, int32 n = -1); ///< Remove n characters from string starting at index (n=-1: until end) - enum CharGroup {kSpace, kNotAlphaNum, kNotAlpha}; - bool trim (CharGroup mode = kSpace); ///< Trim lead/trail. - void removeChars (CharGroup mode = kSpace); ///< Removes all of group. - bool removeChars8 (const char8* which); ///< Remove all occurrences of each char in 'which' - bool removeChars16 (const char16* which); ///< Remove all occurrences of each char in 'which' - inline bool removeChars8 (const char8 which) {char8 str[] = {which, 0}; return removeChars8 (str); } - inline bool removeChars16 (const char16 which) {char16 str[] = {which, 0}; return removeChars16 (str); } - inline bool removeChars (const char8* which) {return removeChars8 (which);} - inline bool removeChars (const char16* which) {return removeChars16 (which);} - inline bool removeChars (const char8 which) {return removeChars8 (which);} - inline bool removeChars (const char16 which) {return removeChars16 (which);} - bool removeSubString (const ConstString& subString, bool allOccurences = true); - //------------------------------------------------------------------------- - - // print------------------------------------------------------------------- - String& printf (const char8* format, ...); ///< Print formatted data into string - String& printf (const char16* format, ...); ///< Print formatted data into string - String& vprintf (const char8* format, va_list args); - String& vprintf (const char16* format, va_list args); - //------------------------------------------------------------------------- - - // numbers----------------------------------------------------------------- - String& printInt64 (int64 value); - String& printFloat (double value); - /** Increment the trailing number if present else start with minNumber, width specifies the string width format (width 2 for number 3 is 03), - applyOnlyFormat set to true will only format the string to the given width without incrementing the founded trailing number */ - bool incrementTrailingNumber (uint32 width = 2, tchar separator = STR (' '), uint32 minNumber = 1, bool applyOnlyFormat = false); - //------------------------------------------------------------------------- - - // conversion-------------------------------------------------------------- - bool fromVariant (const FVariant& var); ///< Assigns string from FVariant - void toVariant (FVariant& var) const; - bool fromAttributes (IAttributes* a, IAttrID attrID); ///< Assigns string from FAttributes - bool toAttributes (IAttributes* a, IAttrID attrID); - - void swapContent (String& s); ///< Swaps ownership of the strings pointed to - void take (String& str); ///< Take ownership of the string of 'str' - void take (void* _buffer, bool wide); ///< Take ownership of buffer - void* pass (); - void passToVariant (FVariant& var); ///< Pass ownership of buffer to Variant - sets Variant ownership - - void toLower (uint32 index); ///< Lower case the character. - void toLower (); ///< Lower case the string. - void toUpper (uint32 index); ///< Upper case the character. - void toUpper (); ///< Upper case the string. - - unsigned char* toPascalString (unsigned char* buf); ///< Pascal string conversion - const String& fromPascalString (const unsigned char* buf); ///< Pascal string conversion - - bool toWideString (uint32 sourceCodePage = kCP_Default); ///< Converts to wide string according to sourceCodePage - bool toMultiByte (uint32 destCodePage = kCP_Default); - - void fromUTF8 (const char8* utf8String); ///< Assigns from UTF8 string - bool normalize (UnicodeNormalization = kUnicodeNormC); ///< On PC only kUnicodeNormC is working - -#if SMTG_OS_MACOS - virtual bool fromCFStringRef (const void*, uint32 encoding = 0xFFFF); ///< CFString conversion -#endif - //------------------------------------------------------------------------- - - //----------------------------------------------------------------------------- -protected: - bool resize (uint32 newSize, bool wide, bool fill = false); - -private: - void tryFreeBuffer (); - bool checkToMultiByte (uint32 destCodePage = kCP_Default) const; // to remove debug code from inline - const_cast inside!!! -}; - -// String concatenation functions. -inline String operator+ (const ConstString& s1, const ConstString& s2) {return String (s1).append (s2);} -inline String operator+ (const ConstString& s1, const char8* s2) {return String (s1).append (s2);} -inline String operator+ (const ConstString& s1, const char16* s2) {return String (s1).append (s2);} -inline String operator+ (const char8* s1, const ConstString& s2) {return String (s1).append (s2);} -inline String operator+ (const char16* s1, const ConstString& s2) {return String (s1).append (s2);} -inline String operator+ (const ConstString& s1, const String& s2) {return String (s1).append (s2);} -inline String operator+ (const String& s1, const ConstString& s2) {return String (s1).append (s2);} -inline String operator+ (const String& s1, const String& s2) {return String (s1).append (s2);} -inline String operator+ (const String& s1, const char8* s2) {return String (s1).append (s2);} -inline String operator+ (const String& s1, const char16* s2) {return String (s1).append (s2);} -inline String operator+ (const char8* s1, const String& s2) {return String (s1).append (s2);} -inline String operator+ (const char16* s1, const String& s2) {return String (s1).append (s2);} - -//----------------------------------------------------------------------------- -// ConstString -//----------------------------------------------------------------------------- -inline const tchar* ConstString::text () const -{ -#ifdef UNICODE - return text16 (); -#else - return text8 (); -#endif -} - -//----------------------------------------------------------------------------- -inline const char8* ConstString::text8 () const -{ - return (!isWide && buffer8) ? buffer8: kEmptyString8; -} - -//----------------------------------------------------------------------------- -inline const char16* ConstString::text16 () const -{ - return (isWide && buffer16) ? buffer16 : kEmptyString16; -} - -//----------------------------------------------------------------------------- -inline char8 ConstString::getChar8 (uint32 index) const -{ - if (index < len && buffer8 && !isWide) - return buffer8[index]; - return 0; -} - -//----------------------------------------------------------------------------- -inline char16 ConstString::getChar16 (uint32 index) const -{ - if (index < len && buffer16 && isWide) - return buffer16[index]; - return 0; -} - -//----------------------------------------------------------------------------- -inline tchar ConstString::getChar (uint32 index) const -{ -#ifdef UNICODE - return getChar16 (index); -#else - return getChar8 (index); -#endif -} - -//----------------------------------------------------------------------------- -inline tchar ConstString::getCharAt (uint32 index) const -{ -#ifdef UNICODE - if (isWide) - return getChar16 (index); -#endif - - return static_cast (getChar8 (index)); -} - -//----------------------------------------------------------------------------- -inline int64 ConstString::getNumber () const -{ - int64 tmp = 0; - scanInt64 (tmp); - return tmp; -} - -//----------------------------------------------------------------------------- -inline bool ConstString::scanInt32_8 (const char8* text, int32& value, bool scanToEnd) -{ - int64 tmp; - if (scanInt64_8 (text, tmp, scanToEnd)) - { - value = (int32)tmp; - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -inline bool ConstString::scanInt32_16 (const char16* text, int32& value, bool scanToEnd) -{ - int64 tmp; - if (scanInt64_16 (text, tmp, scanToEnd)) - { - value = (int32)tmp; - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -inline bool ConstString::scanInt32 (const tchar* text, int32& value, bool scanToEnd) -{ - int64 tmp; - if (scanInt64 (text, tmp, scanToEnd)) - { - value = (int32)tmp; - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -inline bool ConstString::scanUInt32_8 (const char8* text, uint32& value, bool scanToEnd) -{ - uint64 tmp; - if (scanUInt64_8 (text, tmp, scanToEnd)) - { - value = (uint32)tmp; - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -inline bool ConstString::scanUInt32_16 (const char16* text, uint32& value, bool scanToEnd) -{ - uint64 tmp; - if (scanUInt64_16 (text, tmp, scanToEnd)) - { - value = (uint32)tmp; - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -inline bool ConstString::scanUInt32 (const tchar* text, uint32& value, bool scanToEnd) -{ - uint64 tmp; - if (scanUInt64 (text, tmp, scanToEnd)) - { - value = (uint32)tmp; - return true; - } - return false; -} - -//----------------------------------------------------------------------------- -inline const char8* String::text8 () const -{ - if (isWide && !isEmpty ()) - checkToMultiByte (); // this should be avoided, since it can lead to information loss - - return ConstString::text8 (); -} - -//----------------------------------------------------------------------------- -inline const char16* String::text16 () const -{ - if (!isWide && !isEmpty ()) - { - const_cast (*this).toWideString (); - } - return ConstString::text16 (); -} - -//----------------------------------------------------------------------------- -inline char8 String::getChar8 (uint32 index) const -{ - if (isWide && !isEmpty ()) - checkToMultiByte (); // this should be avoided, since it can lead to information loss - - return ConstString::getChar8 (index); -} - -//----------------------------------------------------------------------------- -inline char16 String::getChar16 (uint32 index) const -{ - if (!isWide && !isEmpty ()) - { - const_cast (*this).toWideString (); - } - return ConstString::getChar16 (index); -} - -//----------------------------------------------------------------------------- - - -inline bool operator< (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) < 0) ? true : false;} -inline bool operator<= (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) <= 0) ? true : false;} -inline bool operator> (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) > 0) ? true : false;} -inline bool operator>= (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) >= 0) ? true : false;} -inline bool operator== (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) == 0) ? true : false;} -inline bool operator!= (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) != 0) ? true : false;} - -inline bool operator< (const ConstString& s1, const char8* s2) {return (s1.compare (s2) < 0) ? true : false;} -inline bool operator<= (const ConstString& s1, const char8* s2) {return (s1.compare (s2) <= 0) ? true : false;} -inline bool operator> (const ConstString& s1, const char8* s2) {return (s1.compare (s2) > 0) ? true : false;} -inline bool operator>= (const ConstString& s1, const char8* s2) {return (s1.compare (s2) >= 0) ? true : false;} -inline bool operator== (const ConstString& s1, const char8* s2) {return (s1.compare (s2) == 0) ? true : false;} -inline bool operator!= (const ConstString& s1, const char8* s2) {return (s1.compare (s2) != 0) ? true : false;} -inline bool operator< (const char8* s1, const ConstString& s2) {return (s2.compare (s1) > 0) ? true : false;} -inline bool operator<= (const char8* s1, const ConstString& s2) {return (s2.compare (s1) >= 0) ? true : false;} -inline bool operator> (const char8* s1, const ConstString& s2) {return (s2.compare (s1) < 0) ? true : false;} -inline bool operator>= (const char8* s1, const ConstString& s2) {return (s2.compare (s1) <= 0) ? true : false;} -inline bool operator== (const char8* s1, const ConstString& s2) {return (s2.compare (s1) == 0) ? true : false;} -inline bool operator!= (const char8* s1, const ConstString& s2) {return (s2.compare (s1) != 0) ? true : false;} - -inline bool operator< (const ConstString& s1, const char16* s2) {return (s1.compare (s2) < 0) ? true : false;} -inline bool operator<= (const ConstString& s1, const char16* s2) {return (s1.compare (s2) <= 0) ? true : false;} -inline bool operator> (const ConstString& s1, const char16* s2) {return (s1.compare (s2) > 0) ? true : false;} -inline bool operator>= (const ConstString& s1, const char16* s2) {return (s1.compare (s2) >= 0) ? true : false;} -inline bool operator== (const ConstString& s1, const char16* s2) {return (s1.compare (s2) == 0) ? true : false;} -inline bool operator!= (const ConstString& s1, const char16* s2) {return (s1.compare (s2) != 0) ? true : false;} -inline bool operator< (const char16* s1, const ConstString& s2) {return (s2.compare (s1) > 0) ? true : false;} -inline bool operator<= (const char16* s1, const ConstString& s2) {return (s2.compare (s1) >= 0) ? true : false;} -inline bool operator> (const char16* s1, const ConstString& s2) {return (s2.compare (s1) < 0) ? true : false;} -inline bool operator>= (const char16* s1, const ConstString& s2) {return (s2.compare (s1) <= 0) ? true : false;} -inline bool operator== (const char16* s1, const ConstString& s2) {return (s2.compare (s1) == 0) ? true : false;} -inline bool operator!= (const char16* s1, const ConstString& s2) {return (s2.compare (s1) != 0) ? true : false;} - -// The following functions will only work with European Numbers! -// (e.g. Arabic, Tibetan, and Khmer digits are not supported) -extern int32 strnatcmp8 (const char8* s1, const char8* s2, bool caseSensitive = true); -extern int32 strnatcmp16 (const char16* s1, const char16* s2, bool caseSensitive = true); -inline int32 strnatcmp (const tchar* s1, const tchar* s2, bool caseSensitive = true) -{ -#ifdef UNICODE - return strnatcmp16 (s1, s2, caseSensitive); -#else - return strnatcmp8 (s1, s2, caseSensitive); -#endif -} - -//----------------------------------------------------------------------------- -/** StringObject implements IStringResult and IString methods. - It can therefore be exchanged with other Steinberg objects using one or both of these -interfaces. - -\see String, ConstString -*/ -//----------------------------------------------------------------------------- -class StringObject : public FObject, public String, public IStringResult, public IString -{ -public: -//----------------------------------------------------------------------------- - StringObject () {} - StringObject (const char16* str, int32 n = -1, bool isTerminated = true) : String (str, n, isTerminated) {} - StringObject (const char8* str, int32 n = -1, bool isTerminated = true) : String (str, n, isTerminated) {} - StringObject (const StringObject& str, int32 n = -1) : String (str, n) {} - StringObject (const String& str, int32 n = -1) : String (str, n) {} - StringObject (const FVariant& var) : String (var) {} - - using String::operator=; - - // IStringResult ---------------------------------------------------------- - virtual void PLUGIN_API setText (const char8* text) SMTG_OVERRIDE; - //------------------------------------------------------------------------- - - // IString----------------------------------------------------------------- - virtual void PLUGIN_API setText8 (const char8* text) SMTG_OVERRIDE; - virtual void PLUGIN_API setText16 (const char16* text) SMTG_OVERRIDE; - - virtual const char8* PLUGIN_API getText8 () SMTG_OVERRIDE; - virtual const char16* PLUGIN_API getText16 () SMTG_OVERRIDE; - - virtual void PLUGIN_API take (void* s, bool _isWide) SMTG_OVERRIDE; - virtual bool PLUGIN_API isWideString () const SMTG_OVERRIDE; - //------------------------------------------------------------------------- - - OBJ_METHODS (StringObject, FObject) - FUNKNOWN_METHODS2 (IStringResult, IString, FObject) -}; - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/fstring.h +// Created by : Steinberg, 2008 +// Description : String class +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/ftypes.h" +#include "pluginterfaces/base/fstrdefs.h" +#include "pluginterfaces/base/istringresult.h" +#include "pluginterfaces/base/ipersistent.h" + +#include "base/source/fobject.h" + +#include + +namespace Steinberg { + +class FVariant; +class String; + +#ifdef UNICODE +static const bool kWideStringDefault = true; +#else +static const bool kWideStringDefault = false; +#endif + +static const uint16 kBomUtf16 = 0xFEFF; ///< UTF16 Byte Order Mark +static const char8* const kBomUtf8 = "\xEF\xBB\xBF"; ///< UTF8 Byte Order Mark +static const int32 kBomUtf8Length = 3; + + +enum MBCodePage +{ + kCP_ANSI = 0, ///< Default ANSI codepage. + kCP_MAC_ROMAN = 2, ///< Default Mac codepage. + + kCP_ANSI_WEL = 1252, ///< West European Latin Encoding. + kCP_MAC_CEE = 10029, ///< Mac Central European Encoding. + kCP_Utf8 = 65001, ///< UTF8 Encoding. + kCP_ShiftJIS = 932, ///< Shifted Japan Industrial Standard Encoding. + kCP_US_ASCII = 20127, ///< US-ASCII (7-bit). + + kCP_Default = kCP_ANSI ///< Default ANSI codepage. +}; + +enum UnicodeNormalization +{ + kUnicodeNormC, ///< Unicode normalization Form C, canonical composition. + kUnicodeNormD, ///< Unicode normalization Form D, canonical decomposition. + kUnicodeNormKC, ///< Unicode normalization form KC, compatibility composition. + kUnicodeNormKD ///< Unicode normalization form KD, compatibility decomposition. +}; + +//------------------------------------------------------------------------ +// Helper functions to create hash codes from string data. +//------------------------------------------------------------------------ +extern uint32 hashString8 (const char8* s, uint32 m); +extern uint32 hashString16 (const char16* s, uint32 m); +inline uint32 hashString (const tchar* s, uint32 m) +{ +#ifdef UNICODE + return hashString16 (s, m); +#else + return hashString8 (s, m); +#endif +} + + +//----------------------------------------------------------------------------- +/** Invariant String. +@ingroup adt + +A base class which provides methods to work with its +member string. Neither of the operations allows modifying the member string and +that is why all operation are declared as const. + +There are operations for access, comparison, find, numbers and conversion. + +Almost all operations exist in three versions for char8, char16 and the +polymorphic type tchar. The type tchar can either be char8 or char16 depending +on whether UNICODE is activated or not.*/ +//----------------------------------------------------------------------------- +class ConstString +{ +public: +//----------------------------------------------------------------------------- + ConstString (const char8* str, int32 length = -1); ///< Assign from string of type char8 (length=-1: all) + ConstString (const char16* str, int32 length = -1); ///< Assign from string of type char16 (length=-1: all) + ConstString (const ConstString& str, int32 offset = 0, int32 length = -1); ///< Copy constructor (length=-1: all). + ConstString (const FVariant& var); ///< Assign a string from FVariant + ConstString (); + virtual ~ConstString () {} ///< Destructor. + + // access ----------------------------------------------------------------- + virtual int32 length () const {return static_cast (len);} ///< Return length of string + inline bool isEmpty () const {return buffer == 0 || len == 0;} ///< Return true if string is empty + + operator const char8* () const {return text8 ();} ///< Returns pointer to string of type char8 (no modification allowed) + operator const char16* () const {return text16 ();} ///< Returns pointer to string of type char16(no modification allowed) + inline tchar operator[] (short idx) const {return getChar (static_cast (idx));} ///< Returns character at 'idx' + inline tchar operator[] (long idx) const {return getChar (static_cast (idx));} + inline tchar operator[] (int idx) const {return getChar (static_cast (idx));} + inline tchar operator[] (unsigned short idx) const {return getChar (idx);} + inline tchar operator[] (unsigned long idx) const {return getChar (static_cast (idx));} + inline tchar operator[] (unsigned int idx) const {return getChar (idx);} + + inline virtual const char8* text8 () const; ///< Returns pointer to string of type char8 + inline virtual const char16* text16 () const; ///< Returns pointer to string of type char16 + inline virtual const tchar* text () const; ///< Returns pointer to string of type tchar + inline virtual const void* ptr () const {return buffer;} ///< Returns pointer to string of type void + + inline virtual char8 getChar8 (uint32 index) const; ///< Returns character of type char16 at 'index' + inline virtual char16 getChar16 (uint32 index) const; ///< Returns character of type char8 at 'index' + inline tchar getChar (uint32 index) const; ///< Returns character of type tchar at 'index' + inline tchar getCharAt (uint32 index) const; ///< Returns character of type tchar at 'index', no conversion! + + bool testChar8 (uint32 index, char8 c) const; ///< Returns true if character is equal at position 'index' + bool testChar16 (uint32 index, char16 c) const; + inline bool testChar (uint32 index, char8 c) const {return testChar8 (index, c);} + inline bool testChar (uint32 index, char16 c) const {return testChar16 (index, c);} + + bool extract (String& result, uint32 idx, int32 n = -1) const; ///< Get n characters long substring starting at index (n=-1: until end) + int32 copyTo8 (char8* str, uint32 idx = 0, int32 n = -1) const; + int32 copyTo16 (char16* str, uint32 idx = 0, int32 n = -1) const; + int32 copyTo (tchar* str, uint32 idx = 0, int32 n = -1) const; + void copyTo (IStringResult* result) const; ///< Copies whole member string + void copyTo (IString& string) const; ///< Copies whole member string + + inline uint32 hash (uint32 tsize) const + { + return isWide ? hashString16 (buffer16, tsize) : hashString8 (buffer8, tsize) ; + } + //------------------------------------------------------------------------- + + // compare ---------------------------------------------------------------- + enum CompareMode + { + kCaseSensitive, ///< Comparison is done with regard to character's case + kCaseInsensitive ///< Comparison is done without regard to character's case + }; + + int32 compareAt (uint32 index, const ConstString& str, int32 n = -1, CompareMode m = kCaseSensitive) const; ///< Compare n characters of str with n characters of this starting at index (return: see above) + int32 compare (const ConstString& str, int32 n, CompareMode m = kCaseSensitive) const; ///< Compare n characters of str with n characters of this (return: see above) + int32 compare (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Compare all characters of str with this (return: see above) + + int32 naturalCompare (const ConstString& str, CompareMode mode = kCaseSensitive) const; + + bool startsWith (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Check if this starts with str + bool endsWith (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Check if this ends with str + bool contains (const ConstString& str, CompareMode m = kCaseSensitive) const; ///< Check if this contains str + + // static methods + static bool isCharSpace (char8 character); ///< Returns true if character is a space + static bool isCharSpace (char16 character); ///< @copydoc isCharSpace(const char8) + static bool isCharAlpha (char8 character); ///< Returns true if character is an alphabetic character + static bool isCharAlpha (char16 character); ///< @copydoc isCharAlpha(const char8) + static bool isCharAlphaNum (char8 character); ///< Returns true if character is an alphanumeric character + static bool isCharAlphaNum (char16 character); ///< @copydoc isCharAlphaNum(const char8) + static bool isCharDigit (char8 character); ///< Returns true if character is a number + static bool isCharDigit (char16 character); ///< @copydoc isCharDigit(const char8) + static bool isCharAscii (char8 character); ///< Returns true if character is in ASCII range + static bool isCharAscii (char16 character); ///< Returns true if character is in ASCII range + static bool isCharUpper (char8 character); + static bool isCharUpper (char16 character); + static bool isCharLower (char8 character); + static bool isCharLower (char16 character); + //------------------------------------------------------------------------- + + /** @name Find first occurrence of n characters of str in this (n=-1: all) ending at endIndex (endIndex = -1: all)*/ + ///@{ + inline int32 findFirst (const ConstString& str, int32 n = -1, CompareMode m = kCaseSensitive, int32 endIndex = -1) const {return findNext (0, str, n, m, endIndex);} + inline int32 findFirst (char8 c, CompareMode m = kCaseSensitive, int32 endIndex = -1) const {return findNext (0, c, m, endIndex);} + inline int32 findFirst (char16 c, CompareMode m = kCaseSensitive, int32 endIndex = -1) const {return findNext (0, c, m, endIndex);} + ///@} + /** @name Find next occurrence of n characters of str starting at startIndex in this (n=-1: all) ending at endIndex (endIndex = -1: all)*/ + ///@{ + int32 findNext (int32 startIndex, const ConstString& str, int32 n = -1, CompareMode = kCaseSensitive, int32 endIndex = -1) const; + int32 findNext (int32 startIndex, char8 c, CompareMode = kCaseSensitive, int32 endIndex = -1) const; + int32 findNext (int32 startIndex, char16 c, CompareMode = kCaseSensitive, int32 endIndex = -1) const; + ///@} + /** @name Find previous occurrence of n characters of str starting at startIndex in this (n=-1: all) */ + ///@{ + int32 findPrev (int32 startIndex, const ConstString& str, int32 n = -1, CompareMode = kCaseSensitive) const; + int32 findPrev (int32 startIndex, char8 c, CompareMode = kCaseSensitive) const; + int32 findPrev (int32 startIndex, char16 c, CompareMode = kCaseSensitive) const; + ///@} + + inline int32 findLast (const ConstString& str, int32 n = -1, CompareMode m = kCaseSensitive) const {return findPrev (-1, str, n, m);} ///< Find last occurrence of n characters of str in this (n=-1: all) + inline int32 findLast (char8 c, CompareMode m = kCaseSensitive) const {return findPrev (-1, c, m);} + inline int32 findLast (char16 c, CompareMode m = kCaseSensitive) const {return findPrev (-1, c, m);} + + int32 countOccurences (char8 c, uint32 startIndex, CompareMode = kCaseSensitive) const; ///< Counts occurences of c within this starting at index + int32 countOccurences (char16 c, uint32 startIndex, CompareMode = kCaseSensitive) const; + int32 getFirstDifferent (const ConstString& str, CompareMode = kCaseSensitive) const; ///< Returns position of first different character + //------------------------------------------------------------------------- + + // numbers ---------------------------------------------------------------- + bool isDigit (uint32 index) const; ///< Returns true if character at position is a digit + bool scanFloat (double& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to double value starting at offset + bool scanInt64 (int64& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to int64 value starting at offset + bool scanUInt64 (uint64& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to uint64 value starting at offset + bool scanInt32 (int32& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to int32 value starting at offset + bool scanUInt32 (uint32& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to uint32 value starting at offset + bool scanHex (uint8& value, uint32 offset = 0, bool scanToEnd = true) const; ///< Converts string to hex/uint8 value starting at offset + + int32 getTrailingNumberIndex (uint32 width = 0) const; ///< Returns start index of trailing number + int64 getTrailingNumber (int64 fallback = 0) const; ///< Returns result of scanInt64 or the fallback + int64 getNumber () const; ///< Returns result of scanInt64 + + // static methods + static bool scanInt64_8 (const char8* text, int64& value, bool scanToEnd = true); ///< Converts string of type char8 to int64 value + static bool scanInt64_16 (const char16* text, int64& value, bool scanToEnd = true); ///< Converts string of type char16 to int64 value + static bool scanInt64 (const tchar* text, int64& value, bool scanToEnd = true); ///< Converts string of type tchar to int64 value + + static bool scanUInt64_8 (const char8* text, uint64& value, bool scanToEnd = true); ///< Converts string of type char8 to uint64 value + static bool scanUInt64_16 (const char16* text, uint64& value, bool scanToEnd = true); ///< Converts string of type char16 to uint64 value + static bool scanUInt64 (const tchar* text, uint64& value, bool scanToEnd = true); ///< Converts string of type tchar to uint64 value + + static bool scanInt32_8 (const char8* text, int32& value, bool scanToEnd = true); ///< Converts string of type char8 to int32 value + static bool scanInt32_16 (const char16* text, int32& value, bool scanToEnd = true); ///< Converts string of type char16 to int32 value + static bool scanInt32 (const tchar* text, int32& value, bool scanToEnd = true); ///< Converts string of type tchar to int32 value + + static bool scanUInt32_8 (const char8* text, uint32& value, bool scanToEnd = true); ///< Converts string of type char8 to int32 value + static bool scanUInt32_16 (const char16* text, uint32& value, bool scanToEnd = true); ///< Converts string of type char16 to int32 value + static bool scanUInt32 (const tchar* text, uint32& value, bool scanToEnd = true); ///< Converts string of type tchar to int32 value + + static bool scanHex_8 (const char8* text, uint8& value, bool scanToEnd = true); ///< Converts string of type char8 to hex/unit8 value + static bool scanHex_16 (const char16* text, uint8& value, bool scanToEnd = true); ///< Converts string of type char16 to hex/unit8 value + static bool scanHex (const tchar* text, uint8& value, bool scanToEnd = true); ///< Converts string of type tchar to hex/unit8 value + //------------------------------------------------------------------------- + + // conversion ------------------------------------------------------------- + void toVariant (FVariant& var) const; + + static char8 toLower (char8 c); ///< Converts to lower case + static char8 toUpper (char8 c); ///< Converts to upper case + static char16 toLower (char16 c); + static char16 toUpper (char16 c); + + static int32 multiByteToWideString (char16* dest, const char8* source, int32 wcharCount, uint32 sourceCodePage = kCP_Default); ///< If dest is zero, this returns the maximum number of bytes needed to convert source + static int32 wideStringToMultiByte (char8* dest, const char16* source, int32 char8Count, uint32 destCodePage = kCP_Default); ///< If dest is zero, this returns the maximum number of bytes needed to convert source + + bool isWideString () const {return isWide != 0;} ///< Returns true if string is wide + bool isAsciiString () const; ///< Checks if all characters in string are in ascii range + + bool isNormalized (UnicodeNormalization = kUnicodeNormC); ///< On PC only kUnicodeNormC is working + +#if SMTG_OS_MACOS + virtual void* toCFStringRef (uint32 encoding = 0xFFFF, bool mutableCFString = false) const; ///< CFString conversion +#endif +//------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +protected: + + union + { + void* buffer; + char8* buffer8; + char16* buffer16; + }; + uint32 len : 30; + uint32 isWide : 1; +}; + +//----------------------------------------------------------------------------- +/** String. +@ingroup adt + +Extends class ConstString by operations which allow modifications. + +\see ConstString */ +//----------------------------------------------------------------------------- +class String : public ConstString +{ +public: +//----------------------------------------------------------------------------- + String (); + String (const char8* str, MBCodePage codepage, int32 n = -1, bool isTerminated = true); ///< assign n characters of str and convert to wide string by using the specified codepage + String (const char8* str, int32 n = -1, bool isTerminated = true); ///< assign n characters of str (-1: all) + String (const char16* str, int32 n = -1, bool isTerminated = true); ///< assign n characters of str (-1: all) + String (const String& str, int32 n = -1); ///< assign n characters of str (-1: all) + String (const ConstString& str, int32 n = -1); ///< assign n characters of str (-1: all) + String (const FVariant& var); ///< assign from FVariant + String (IString* str); ///< assign from IString + ~String (); + +#if SMTG_CPP11_STDLIBSUPPORT + String (String&& str); + String& operator= (String&& str); +#endif + + // access------------------------------------------------------------------ + void updateLength (); ///< Call this when the string is truncated outside (not recommended though) + virtual const char8* text8 () const SMTG_OVERRIDE; + virtual const char16* text16 () const SMTG_OVERRIDE; + virtual char8 getChar8 (uint32 index) const SMTG_OVERRIDE; + virtual char16 getChar16 (uint32 index) const SMTG_OVERRIDE; + + bool setChar8 (uint32 index, char8 c); + bool setChar16 (uint32 index, char16 c); + inline bool setChar (uint32 index, char8 c) {return setChar8 (index, c);} + inline bool setChar (uint32 index, char16 c) {return setChar16 (index, c);} + //------------------------------------------------------------------------- + + // assignment-------------------------------------------------------------- + String& operator= (const char8* str) {return assign (str);} ///< Assign from a string of type char8 + String& operator= (const char16* str) {return assign (str);} + String& operator= (const ConstString& str) {return assign (str);} + String& operator= (const String& str) {return assign (str);} + String& operator= (char8 c) {return assign (c);} + String& operator= (char16 c) {return assign (c);} + + String& assign (const ConstString& str, int32 n = -1); ///< Assign n characters of str (-1: all) + String& assign (const char8* str, int32 n = -1, bool isTerminated = true); ///< Assign n characters of str (-1: all) + String& assign (const char16* str, int32 n = -1, bool isTerminated = true); ///< Assign n characters of str (-1: all) + String& assign (char8 c, int32 n = 1); + String& assign (char16 c, int32 n = 1); + //------------------------------------------------------------------------- + + // concat------------------------------------------------------------------ + String& append (const ConstString& str, int32 n = -1); ///< Append n characters of str to this (n=-1: all) + String& append (const char8* str, int32 n = -1); ///< Append n characters of str to this (n=-1: all) + String& append (const char16* str, int32 n = -1); ///< Append n characters of str to this (n=-1: all) + String& append (const char8 c, int32 n = 1); ///< Append char c n times + String& append (const char16 c, int32 n = 1); ///< Append char c n times + + String& insertAt (uint32 idx, const ConstString& str, int32 n = -1); ///< Insert n characters of str at position idx (n=-1: all) + String& insertAt (uint32 idx, const char8* str, int32 n = -1); ///< Insert n characters of str at position idx (n=-1: all) + String& insertAt (uint32 idx, const char16* str, int32 n = -1); ///< Insert n characters of str at position idx (n=-1: all) + String& insertAt (uint32 idx, char8 c) {char8 str[] = {c, 0}; return insertAt (idx, str, 1);} + String& insertAt (uint32 idx, char16 c) {char16 str[] = {c, 0}; return insertAt (idx, str, 1);} + + String& operator+= (const String& str) {return append (str);} + String& operator+= (const ConstString& str) {return append (str);} + String& operator+= (const char8* str) {return append (str);} + String& operator+= (const char16* str) {return append (str);} + String& operator+= (const char8 c) {return append (c);} + String& operator+= (const char16 c) {return append (c);} + //------------------------------------------------------------------------- + + // replace----------------------------------------------------------------- + String& replace (uint32 idx, int32 n1, const ConstString& str, int32 n2 = -1); ///< Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end) + String& replace (uint32 idx, int32 n1, const char8* str, int32 n2 = -1); ///< Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end) + String& replace (uint32 idx, int32 n1, const char16* str, int32 n2 = -1); ///< Replace n1 characters of this (starting at idx) with n2 characters of str (n1,n2=-1: until end) + + int32 replace (const char8* toReplace, const char8* toReplaceWith, bool all = false, CompareMode m = kCaseSensitive); ///< Replace find string with replace string - returns number of replacements + int32 replace (const char16* toReplace, const char16* toReplaceWith, bool all = false, CompareMode m = kCaseSensitive); ///< Replace find string with replace string - returns number of replacements + + bool replaceChars8 (const char8* toReplace, char8 toReplaceBy); ///< Returns true when any replacement was done + bool replaceChars16 (const char16* toReplace, char16 toReplaceBy); + inline bool replaceChars8 (char8 toReplace, char8 toReplaceBy) {char8 str[] = {toReplace, 0}; return replaceChars8 (str, toReplaceBy);} + inline bool replaceChars16 (char16 toReplace, char16 toReplaceBy) {char16 str[] = {toReplace, 0}; return replaceChars16 (str, toReplaceBy);} + inline bool replaceChars (char8 toReplace, char8 toReplaceBy) {return replaceChars8 (toReplace, toReplaceBy);} + inline bool replaceChars (char16 toReplace, char16 toReplaceBy) {return replaceChars16 (toReplace, toReplaceBy);} + inline bool replaceChars (const char8* toReplace, char8 toReplaceBy) {return replaceChars8 (toReplace, toReplaceBy);} + inline bool replaceChars (const char16* toReplace, char16 toReplaceBy) {return replaceChars16 (toReplace, toReplaceBy);} + //------------------------------------------------------------------------- + + // remove------------------------------------------------------------------ + String& remove (uint32 index = 0, int32 n = -1); ///< Remove n characters from string starting at index (n=-1: until end) + enum CharGroup {kSpace, kNotAlphaNum, kNotAlpha}; + bool trim (CharGroup mode = kSpace); ///< Trim lead/trail. + void removeChars (CharGroup mode = kSpace); ///< Removes all of group. + bool removeChars8 (const char8* which); ///< Remove all occurrences of each char in 'which' + bool removeChars16 (const char16* which); ///< Remove all occurrences of each char in 'which' + inline bool removeChars8 (const char8 which) {char8 str[] = {which, 0}; return removeChars8 (str); } + inline bool removeChars16 (const char16 which) {char16 str[] = {which, 0}; return removeChars16 (str); } + inline bool removeChars (const char8* which) {return removeChars8 (which);} + inline bool removeChars (const char16* which) {return removeChars16 (which);} + inline bool removeChars (const char8 which) {return removeChars8 (which);} + inline bool removeChars (const char16 which) {return removeChars16 (which);} + bool removeSubString (const ConstString& subString, bool allOccurences = true); + //------------------------------------------------------------------------- + + // print------------------------------------------------------------------- + String& printf (const char8* format, ...); ///< Print formatted data into string + String& printf (const char16* format, ...); ///< Print formatted data into string + String& vprintf (const char8* format, va_list args); + String& vprintf (const char16* format, va_list args); + //------------------------------------------------------------------------- + + // numbers----------------------------------------------------------------- + String& printInt64 (int64 value); + String& printFloat (double value); + /** Increment the trailing number if present else start with minNumber, width specifies the string width format (width 2 for number 3 is 03), + applyOnlyFormat set to true will only format the string to the given width without incrementing the founded trailing number */ + bool incrementTrailingNumber (uint32 width = 2, tchar separator = STR (' '), uint32 minNumber = 1, bool applyOnlyFormat = false); + //------------------------------------------------------------------------- + + // conversion-------------------------------------------------------------- + bool fromVariant (const FVariant& var); ///< Assigns string from FVariant + void toVariant (FVariant& var) const; + bool fromAttributes (IAttributes* a, IAttrID attrID); ///< Assigns string from FAttributes + bool toAttributes (IAttributes* a, IAttrID attrID); + + void swapContent (String& s); ///< Swaps ownership of the strings pointed to + void take (String& str); ///< Take ownership of the string of 'str' + void take (void* _buffer, bool wide); ///< Take ownership of buffer + void* pass (); + void passToVariant (FVariant& var); ///< Pass ownership of buffer to Variant - sets Variant ownership + + void toLower (uint32 index); ///< Lower case the character. + void toLower (); ///< Lower case the string. + void toUpper (uint32 index); ///< Upper case the character. + void toUpper (); ///< Upper case the string. + + unsigned char* toPascalString (unsigned char* buf); ///< Pascal string conversion + const String& fromPascalString (const unsigned char* buf); ///< Pascal string conversion + + bool toWideString (uint32 sourceCodePage = kCP_Default); ///< Converts to wide string according to sourceCodePage + bool toMultiByte (uint32 destCodePage = kCP_Default); + + void fromUTF8 (const char8* utf8String); ///< Assigns from UTF8 string + bool normalize (UnicodeNormalization = kUnicodeNormC); ///< On PC only kUnicodeNormC is working + +#if SMTG_OS_MACOS + virtual bool fromCFStringRef (const void*, uint32 encoding = 0xFFFF); ///< CFString conversion +#endif + //------------------------------------------------------------------------- + + //----------------------------------------------------------------------------- +protected: + bool resize (uint32 newSize, bool wide, bool fill = false); + +private: + void tryFreeBuffer (); + bool checkToMultiByte (uint32 destCodePage = kCP_Default) const; // to remove debug code from inline - const_cast inside!!! +}; + +// String concatenation functions. +inline String operator+ (const ConstString& s1, const ConstString& s2) {return String (s1).append (s2);} +inline String operator+ (const ConstString& s1, const char8* s2) {return String (s1).append (s2);} +inline String operator+ (const ConstString& s1, const char16* s2) {return String (s1).append (s2);} +inline String operator+ (const char8* s1, const ConstString& s2) {return String (s1).append (s2);} +inline String operator+ (const char16* s1, const ConstString& s2) {return String (s1).append (s2);} +inline String operator+ (const ConstString& s1, const String& s2) {return String (s1).append (s2);} +inline String operator+ (const String& s1, const ConstString& s2) {return String (s1).append (s2);} +inline String operator+ (const String& s1, const String& s2) {return String (s1).append (s2);} +inline String operator+ (const String& s1, const char8* s2) {return String (s1).append (s2);} +inline String operator+ (const String& s1, const char16* s2) {return String (s1).append (s2);} +inline String operator+ (const char8* s1, const String& s2) {return String (s1).append (s2);} +inline String operator+ (const char16* s1, const String& s2) {return String (s1).append (s2);} + +//----------------------------------------------------------------------------- +// ConstString +//----------------------------------------------------------------------------- +inline const tchar* ConstString::text () const +{ +#ifdef UNICODE + return text16 (); +#else + return text8 (); +#endif +} + +//----------------------------------------------------------------------------- +inline const char8* ConstString::text8 () const +{ + return (!isWide && buffer8) ? buffer8: kEmptyString8; +} + +//----------------------------------------------------------------------------- +inline const char16* ConstString::text16 () const +{ + return (isWide && buffer16) ? buffer16 : kEmptyString16; +} + +//----------------------------------------------------------------------------- +inline char8 ConstString::getChar8 (uint32 index) const +{ + if (index < len && buffer8 && !isWide) + return buffer8[index]; + return 0; +} + +//----------------------------------------------------------------------------- +inline char16 ConstString::getChar16 (uint32 index) const +{ + if (index < len && buffer16 && isWide) + return buffer16[index]; + return 0; +} + +//----------------------------------------------------------------------------- +inline tchar ConstString::getChar (uint32 index) const +{ +#ifdef UNICODE + return getChar16 (index); +#else + return getChar8 (index); +#endif +} + +//----------------------------------------------------------------------------- +inline tchar ConstString::getCharAt (uint32 index) const +{ +#ifdef UNICODE + if (isWide) + return getChar16 (index); +#endif + + return static_cast (getChar8 (index)); +} + +//----------------------------------------------------------------------------- +inline int64 ConstString::getNumber () const +{ + int64 tmp = 0; + scanInt64 (tmp); + return tmp; +} + +//----------------------------------------------------------------------------- +inline bool ConstString::scanInt32_8 (const char8* text, int32& value, bool scanToEnd) +{ + int64 tmp; + if (scanInt64_8 (text, tmp, scanToEnd)) + { + value = (int32)tmp; + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +inline bool ConstString::scanInt32_16 (const char16* text, int32& value, bool scanToEnd) +{ + int64 tmp; + if (scanInt64_16 (text, tmp, scanToEnd)) + { + value = (int32)tmp; + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +inline bool ConstString::scanInt32 (const tchar* text, int32& value, bool scanToEnd) +{ + int64 tmp; + if (scanInt64 (text, tmp, scanToEnd)) + { + value = (int32)tmp; + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +inline bool ConstString::scanUInt32_8 (const char8* text, uint32& value, bool scanToEnd) +{ + uint64 tmp; + if (scanUInt64_8 (text, tmp, scanToEnd)) + { + value = (uint32)tmp; + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +inline bool ConstString::scanUInt32_16 (const char16* text, uint32& value, bool scanToEnd) +{ + uint64 tmp; + if (scanUInt64_16 (text, tmp, scanToEnd)) + { + value = (uint32)tmp; + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +inline bool ConstString::scanUInt32 (const tchar* text, uint32& value, bool scanToEnd) +{ + uint64 tmp; + if (scanUInt64 (text, tmp, scanToEnd)) + { + value = (uint32)tmp; + return true; + } + return false; +} + +//----------------------------------------------------------------------------- +inline const char8* String::text8 () const +{ + if (isWide && !isEmpty ()) + checkToMultiByte (); // this should be avoided, since it can lead to information loss + + return ConstString::text8 (); +} + +//----------------------------------------------------------------------------- +inline const char16* String::text16 () const +{ + if (!isWide && !isEmpty ()) + { + const_cast (*this).toWideString (); + } + return ConstString::text16 (); +} + +//----------------------------------------------------------------------------- +inline char8 String::getChar8 (uint32 index) const +{ + if (isWide && !isEmpty ()) + checkToMultiByte (); // this should be avoided, since it can lead to information loss + + return ConstString::getChar8 (index); +} + +//----------------------------------------------------------------------------- +inline char16 String::getChar16 (uint32 index) const +{ + if (!isWide && !isEmpty ()) + { + const_cast (*this).toWideString (); + } + return ConstString::getChar16 (index); +} + +//----------------------------------------------------------------------------- + + +inline bool operator< (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) < 0) ? true : false;} +inline bool operator<= (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) <= 0) ? true : false;} +inline bool operator> (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) > 0) ? true : false;} +inline bool operator>= (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) >= 0) ? true : false;} +inline bool operator== (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) == 0) ? true : false;} +inline bool operator!= (const ConstString& s1, const ConstString& s2) {return (s1.compare (s2) != 0) ? true : false;} + +inline bool operator< (const ConstString& s1, const char8* s2) {return (s1.compare (s2) < 0) ? true : false;} +inline bool operator<= (const ConstString& s1, const char8* s2) {return (s1.compare (s2) <= 0) ? true : false;} +inline bool operator> (const ConstString& s1, const char8* s2) {return (s1.compare (s2) > 0) ? true : false;} +inline bool operator>= (const ConstString& s1, const char8* s2) {return (s1.compare (s2) >= 0) ? true : false;} +inline bool operator== (const ConstString& s1, const char8* s2) {return (s1.compare (s2) == 0) ? true : false;} +inline bool operator!= (const ConstString& s1, const char8* s2) {return (s1.compare (s2) != 0) ? true : false;} +inline bool operator< (const char8* s1, const ConstString& s2) {return (s2.compare (s1) > 0) ? true : false;} +inline bool operator<= (const char8* s1, const ConstString& s2) {return (s2.compare (s1) >= 0) ? true : false;} +inline bool operator> (const char8* s1, const ConstString& s2) {return (s2.compare (s1) < 0) ? true : false;} +inline bool operator>= (const char8* s1, const ConstString& s2) {return (s2.compare (s1) <= 0) ? true : false;} +inline bool operator== (const char8* s1, const ConstString& s2) {return (s2.compare (s1) == 0) ? true : false;} +inline bool operator!= (const char8* s1, const ConstString& s2) {return (s2.compare (s1) != 0) ? true : false;} + +inline bool operator< (const ConstString& s1, const char16* s2) {return (s1.compare (s2) < 0) ? true : false;} +inline bool operator<= (const ConstString& s1, const char16* s2) {return (s1.compare (s2) <= 0) ? true : false;} +inline bool operator> (const ConstString& s1, const char16* s2) {return (s1.compare (s2) > 0) ? true : false;} +inline bool operator>= (const ConstString& s1, const char16* s2) {return (s1.compare (s2) >= 0) ? true : false;} +inline bool operator== (const ConstString& s1, const char16* s2) {return (s1.compare (s2) == 0) ? true : false;} +inline bool operator!= (const ConstString& s1, const char16* s2) {return (s1.compare (s2) != 0) ? true : false;} +inline bool operator< (const char16* s1, const ConstString& s2) {return (s2.compare (s1) > 0) ? true : false;} +inline bool operator<= (const char16* s1, const ConstString& s2) {return (s2.compare (s1) >= 0) ? true : false;} +inline bool operator> (const char16* s1, const ConstString& s2) {return (s2.compare (s1) < 0) ? true : false;} +inline bool operator>= (const char16* s1, const ConstString& s2) {return (s2.compare (s1) <= 0) ? true : false;} +inline bool operator== (const char16* s1, const ConstString& s2) {return (s2.compare (s1) == 0) ? true : false;} +inline bool operator!= (const char16* s1, const ConstString& s2) {return (s2.compare (s1) != 0) ? true : false;} + +// The following functions will only work with European Numbers! +// (e.g. Arabic, Tibetan, and Khmer digits are not supported) +extern int32 strnatcmp8 (const char8* s1, const char8* s2, bool caseSensitive = true); +extern int32 strnatcmp16 (const char16* s1, const char16* s2, bool caseSensitive = true); +inline int32 strnatcmp (const tchar* s1, const tchar* s2, bool caseSensitive = true) +{ +#ifdef UNICODE + return strnatcmp16 (s1, s2, caseSensitive); +#else + return strnatcmp8 (s1, s2, caseSensitive); +#endif +} + +//----------------------------------------------------------------------------- +/** StringObject implements IStringResult and IString methods. + It can therefore be exchanged with other Steinberg objects using one or both of these +interfaces. + +\see String, ConstString +*/ +//----------------------------------------------------------------------------- +class StringObject : public FObject, public String, public IStringResult, public IString +{ +public: +//----------------------------------------------------------------------------- + StringObject () {} + StringObject (const char16* str, int32 n = -1, bool isTerminated = true) : String (str, n, isTerminated) {} + StringObject (const char8* str, int32 n = -1, bool isTerminated = true) : String (str, n, isTerminated) {} + StringObject (const StringObject& str, int32 n = -1) : String (str, n) {} + StringObject (const String& str, int32 n = -1) : String (str, n) {} + StringObject (const FVariant& var) : String (var) {} + + using String::operator=; + + // IStringResult ---------------------------------------------------------- + virtual void PLUGIN_API setText (const char8* text) SMTG_OVERRIDE; + //------------------------------------------------------------------------- + + // IString----------------------------------------------------------------- + virtual void PLUGIN_API setText8 (const char8* text) SMTG_OVERRIDE; + virtual void PLUGIN_API setText16 (const char16* text) SMTG_OVERRIDE; + + virtual const char8* PLUGIN_API getText8 () SMTG_OVERRIDE; + virtual const char16* PLUGIN_API getText16 () SMTG_OVERRIDE; + + virtual void PLUGIN_API take (void* s, bool _isWide) SMTG_OVERRIDE; + virtual bool PLUGIN_API isWideString () const SMTG_OVERRIDE; + //------------------------------------------------------------------------- + + OBJ_METHODS (StringObject, FObject) + FUNKNOWN_METHODS2 (IStringResult, IString, FObject) +}; + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp index 6e75c2c6..cdb928f2 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.cpp @@ -1,721 +1,721 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/updatehandler.cpp -// Created by : Steinberg, 2008 -// Description : -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#include "base/source/updatehandler.h" -#include "base/source/classfactoryhelpers.h" -#include "base/source/fstring.h" - -#if SMTG_CPP11_STDLIBSUPPORT -#include -#else -#include -#endif -#include -#include -#include - -#define NON_EXISTING_DEPENDENCY_CHECK 0 // not yet -#define CLASS_NAME_TRACKED DEVELOPMENT - -using Steinberg::Base::Thread::FGuard; - -namespace Steinberg { - -DEF_CLASS_IID (IUpdateManager) -bool UpdateHandler::lockUpdates = false; - -namespace Update { -const uint32 kHashSize = (1 << 8); // must be power of 2 (16 bytes * 256 == 4096) -const uint32 kMapSize = 1024 * 10; - -//------------------------------------------------------------------------ -inline uint32 hashPointer (void* p) -{ - return (uint32)((uint64 (p) >> 12) & (kHashSize - 1)); -} - -//------------------------------------------------------------------------ -inline IPtr getUnknownBase (FUnknown* unknown) -{ - FUnknown* result = nullptr; - if (unknown) - unknown->queryInterface (FUnknown::iid, (void**)&result); - - return owned (result); -} - -#if CLASS_NAME_TRACKED -//------------------------------------------------------------------------ -struct Dependency -{ - Dependency (FUnknown* o, IDependent* d) - : obj (o), dep (d), objClass (nullptr), depClass (nullptr) - { - } - - inline bool operator== (const Dependency& d) const { return obj == d.obj; } - inline bool operator!= (const Dependency& d) const { return obj != d.obj; } - inline bool operator< (const Dependency& d) const { return obj < d.obj; } - inline bool operator> (const Dependency& d) const { return obj > d.obj; } - FUnknown* obj; - IDependent* dep; - - FClassID objClass; - FClassID depClass; -}; -#endif - -//------------------------------------------------------------------------ -struct DeferedChange -{ - DeferedChange (FUnknown* o, int32 m = 0) : obj (o), msg (m) {} - ~DeferedChange () {} - DeferedChange (const DeferedChange& r) : obj (r.obj), msg (r.msg) {} - inline bool operator== (const DeferedChange& d) const { return obj == d.obj; } - inline bool operator!= (const DeferedChange& d) const { return obj != d.obj; } - FUnknown* obj; - int32 msg; -}; - -//------------------------------------------------------------------------ -struct UpdateData -{ - UpdateData (FUnknown* o, IDependent** d, uint32 c) - : obj (o), dependents (d), count (c) - { - } - FUnknown* obj; - IDependent** dependents; - uint32 count; - bool operator== (const UpdateData& d) const - { - return d.obj == obj && d.dependents == dependents; - } -}; - -//------------------------------------------------------------------------ -typedef std::deque DeferedChangeList; -typedef DeferedChangeList::const_iterator DeferedChangeListIterConst; -typedef DeferedChangeList::iterator DeferedChangeListIter; - -typedef std::deque UpdateDataList; -typedef UpdateDataList::const_iterator UpdateDataListIterConst; - -#if CLASS_NAME_TRACKED -typedef std::vector DependentList; -#else -typedef std::vector DependentList; -#endif -typedef DependentList::iterator DependentListIter; -typedef DependentList::const_iterator DependentListIterConst; - -#if SMTG_CPP11_STDLIBSUPPORT -typedef std::unordered_map DependentMap; -#else -typedef std::map DependentMap; -#endif -typedef DependentMap::iterator DependentMapIter; -typedef DependentMap::const_iterator DependentMapIterConst; - -struct Table -{ - DependentMap depMap[kHashSize]; - DeferedChangeList defered; - UpdateDataList updateData; -}; - -//------------------------------------------------------------------------ -void updateDone (FUnknown* unknown, int32 message) -{ - if (message != IDependent::kDestroyed) - { - FObject* obj = FObject::unknownToObject (unknown); - if (obj) - obj->updateDone (message); - } -} -} // namespace Update - -//------------------------------------------------------------------------ -static int32 countEntries (Update::DependentMap& map) -{ - int32 total = 0; - Update::DependentMapIterConst iterMap = map.begin (); - while (iterMap != map.end ()) - { - const Update::DependentList& list = iterMap->second; - Update::DependentListIterConst iterList = list.begin (); - while (iterList != list.end ()) - { - total++; - ++iterList; - } - ++iterMap; - } - return total; -} - -//------------------------------------------------------------------------ -UpdateHandler::UpdateHandler () -{ - table = NEW Update::Table; - if (FObject::getUpdateHandler () == nullptr) - FObject::setUpdateHandler (this); -} - -//------------------------------------------------------------------------ -UpdateHandler::~UpdateHandler () -{ - if (FObject::getUpdateHandler () == this) - FObject::setUpdateHandler (nullptr); - delete table; - table = nullptr; -} - -//------------------------------------------------------------------------ -tresult PLUGIN_API UpdateHandler::addDependent (FUnknown* u, IDependent* _dependent) -{ - IPtr unknown = Update::getUnknownBase (u); - if (!unknown || !_dependent) - return kResultFalse; - - FGuard guard (lock); - -#if CLASS_NAME_TRACKED - Update::Dependency dependent (unknown, _dependent); - - FObject* obj = FObject::unknownToObject (unknown); - if (obj) - dependent.objClass = obj->isA (); - obj = FObject::unknownToObject (_dependent); - if (obj) - dependent.depClass = obj->isA (); -#else - IDependent* dependent = _dependent; -#endif - - Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; - Update::DependentMapIter it = map.find (unknown); - if (it == map.end ()) - { - Update::DependentList list; - list.push_back (dependent); - map[unknown] = list; - } - else - { - (*it).second.push_back (dependent); - } - - return kResultTrue; -} - -//------------------------------------------------------------------------ -tresult PLUGIN_API UpdateHandler::removeDependent (FUnknown* u, IDependent* dependent) -{ - IPtr unknown = Update::getUnknownBase (u); - if (unknown == nullptr && dependent == nullptr) - return kResultFalse; - - FGuard guard (lock); - - Update::UpdateDataListIterConst iter = table->updateData.begin (); - while (iter != table->updateData.end ()) - { - if ((*iter).obj == unknown || unknown == nullptr) - { - for (uint32 count = 0; count < (*iter).count; count++) - { - if ((*iter).dependents[count] == dependent) - (*iter).dependents[count] = 0; - } - } - ++iter; - } - // Remove all objects for the given dependent - if (unknown == nullptr) - { - for (uint32 j = 0; j < Update::kHashSize; j++) - { - Update::DependentMap& map = table->depMap[j]; - Update::DependentMapIter iterMap = map.begin (); - while (iterMap != map.end ()) - { - Update::DependentList& list = (*iterMap).second; - Update::DependentListIter iterList = list.begin (); - while (iterList != list.end ()) - { -#if CLASS_NAME_TRACKED - if ((*iterList).dep == dependent) -#else - if ((*iterList) == dependent) -#endif - { - iterList = list.erase (iterList); - } - else - { - ++iterList; - } - } - ++iterMap; - } - } - } - else - { - bool mustFlush = true; - - Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; - Update::DependentMapIter iterList = map.find (unknown); - -#if NON_EXISTING_DEPENDENCY_CHECK - SMTG_ASSERT (iterList != map.end () && "ERROR: Trying to remove a non existing dependency!") -#endif - if (iterList != map.end ()) - { - if (dependent == nullptr) // Remove all dependents of object - { - map.erase (iterList); - } - else // Remove one dependent - { - int32 eraseCount = 0; - Update::DependentList& dependentlist = (*iterList).second; - Update::DependentListIter iterDependentlist = dependentlist.begin (); - while (iterDependentlist != dependentlist.end ()) - { -#if CLASS_NAME_TRACKED - if ((*iterDependentlist).dep == dependent) -#else - if ((*iterDependentlist) == dependent) -#endif - { - iterDependentlist = dependentlist.erase (iterDependentlist); - eraseCount++; - if (dependentlist.empty ()) - { - map.erase (iterList); - break; - } - } - else - { - ++iterDependentlist; - mustFlush = false; - } - } - } - } - if (mustFlush) - cancelUpdates (unknown); - } - - return kResultTrue; -} - -//------------------------------------------------------------------------ -tresult UpdateHandler::doTriggerUpdates (FUnknown* u, int32 message, bool suppressUpdateDone) -{ - if (lockUpdates) - return kResultFalse; - IPtr unknown = Update::getUnknownBase (u); - if (!unknown) - return kResultFalse; - - // to avoid crashes due to stack overflow, we reduce the amount of memory reserved for the - // dependents - IDependent* smallDependents[Update::kMapSize / 10]; // 8kB for x64 - IDependent** dependents = smallDependents; - int32 maxDependents = Update::kMapSize / 10; - int32 count = 0; - - { - FGuard guard (lock); // scope for lock - - Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; - Update::DependentMapIterConst iterList = map.find (unknown); - if (iterList != map.end ()) - { - const Update::DependentList& dependentlist = (*iterList).second; - Update::DependentListIterConst iterDependentlist = dependentlist.begin (); - while (iterDependentlist != dependentlist.end ()) - { -#if CLASS_NAME_TRACKED - dependents[count] = (*iterDependentlist).dep; -#else - dependents[count] = *iterDependentlist; -#endif - count++; - - if (count >= maxDependents) - { - if (dependents == smallDependents) - { - dependents = new IDependent*[Update::kMapSize]; - memcpy (dependents, smallDependents, count * sizeof (dependents[0])); - maxDependents = Update::kMapSize; - } - else - { - SMTG_WARNING ("Dependency overflow") - break; - } - } - ++iterDependentlist; - } - } - - // push update data on the stack - if (count > 0) - { - Update::UpdateData data (unknown, dependents, count); - table->updateData.push_back (data); - } - } // end scope - - int32 i = 0; - while (i < count) - { - if (dependents[i]) - dependents[i]->update (unknown, message); - i++; - } - - if (dependents != smallDependents) - delete[] dependents; - - // remove update data from the stack - if (count > 0) - { - FGuard guard (lock); - - table->updateData.pop_back (); - } - - // send update done message - if (suppressUpdateDone == false) - Update::updateDone (unknown, message); - - return count > 0 ? kResultTrue : kResultFalse; // Object was found and has been updated -} - -//------------------------------------------------------------------------ -tresult PLUGIN_API UpdateHandler::triggerUpdates (FUnknown* u, int32 message) -{ - return doTriggerUpdates (u, message, false); -} - -//------------------------------------------------------------------------ -tresult PLUGIN_API UpdateHandler::deferUpdates (FUnknown* u, int32 message) -{ - IPtr unknown = Update::getUnknownBase (u); - if (!unknown) - return kResultFalse; - - FGuard guard (lock); - - Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; - Update::DependentMapIterConst iterList = map.find (unknown); - - bool hasDependency = (iterList != map.end ()); - if (hasDependency == false) - { - Update::updateDone (unknown, message); - return kResultTrue; - } - - bool found = false; - Update::DeferedChangeListIterConst iter = table->defered.begin (); - while (iter != table->defered.end ()) - { - if ((*iter).obj == unknown && (*iter).msg == message) - { - found = true; - break; - } - ++iter; - } - - if (!found) - { - Update::DeferedChange change (unknown, message); - table->defered.push_back (change); - } - - return kResultTrue; -} - -//------------------------------------------------------------------------ -tresult PLUGIN_API UpdateHandler::triggerDeferedUpdates (FUnknown* unknown) -{ - Update::DeferedChangeList deferedAgain; - if (!unknown) - { - while (table->defered.empty () == false) - { - // Remove first from queue - lock.lock (); - - FUnknown* obj = table->defered.front ().obj; - int32 msg = table->defered.front ().msg; - table->defered.pop_front (); - - // check if this object is currently being updated. in this case, defer update again... - bool canSignal = true; - Update::UpdateDataListIterConst iter = table->updateData.begin (); - while (iter != table->updateData.end ()) - { - if ((*iter).obj == obj) - { - canSignal = false; - break; - } - ++iter; - } - lock.unlock (); - - if (canSignal) - { - triggerUpdates (obj, msg); - } - else - { - Update::DeferedChange change (obj, msg); - deferedAgain.push_back (change); - } - } - } - else - { - IPtr object = Update::getUnknownBase (unknown); - Update::DeferedChange tmp (object); - - while (true) - { - lock.lock (); - Update::DeferedChangeListIter it = - std::find (table->defered.begin (), table->defered.end (), tmp); - if (it == table->defered.end ()) - { - lock.unlock (); - return kResultTrue; - } - - if ((*it).obj != nullptr) - { - int32 msg = (*it).msg; - table->defered.erase (it); - - // check if this object is currently being updated. in this case, defer update - // again... - bool canSignal = true; - Update::UpdateDataListIterConst iter = table->updateData.begin (); - while (iter != table->updateData.end ()) - { - if ((*iter).obj == object) - { - canSignal = false; - break; - } - ++iter; - } - lock.unlock (); - - if (canSignal) - { - triggerUpdates (object, msg); - } - else - { - Update::DeferedChange change (object, msg); - deferedAgain.push_back (change); - } - } - } - } - - if (deferedAgain.empty () == false) - { - FGuard guard (lock); - - Update::DeferedChangeListIterConst iter = deferedAgain.begin (); - while (iter != deferedAgain.end ()) - { - table->defered.push_back (*iter); - ++iter; - } - } - - return kResultTrue; -} - -//------------------------------------------------------------------------ -tresult PLUGIN_API UpdateHandler::cancelUpdates (FUnknown* u) -{ - IPtr unknown = Update::getUnknownBase (u); - if (!unknown) - return kResultFalse; - - FGuard guard (lock); - - Update::DeferedChange change (unknown, 0); - while (1) - { - auto iter = std::find (table->defered.begin (), table->defered.end (), change); - if (iter != table->defered.end ()) - table->defered.erase (iter); - else - break; - } - - return kResultTrue; -} - -//------------------------------------------------------------------------ -size_t UpdateHandler::countDependencies (FUnknown* object) -{ - FGuard guard (lock); - uint32 res = 0; - - IPtr unknown = Update::getUnknownBase (object); - if (unknown) - { - Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; - Update::DependentMapIter iterList = map.find (unknown); - if (iterList != map.end ()) - return iterList->second.size (); - } - else - { - for (uint32 j = 0; j < Update::kHashSize; j++) - { - Update::DependentMap& map = table->depMap[j]; - res += countEntries (map); - } - } - return res; -} - -#if DEVELOPMENT -//------------------------------------------------------------------------ -bool UpdateHandler::checkDeferred (FUnknown* object) -{ - IPtr unknown = Update::getUnknownBase (object); - - FGuard guard (lock); - - Update::DeferedChange tmp (unknown); - Update::DeferedChangeListIterConst it = - std::find (table->defered.begin (), table->defered.end (), tmp); - if (it != table->defered.end ()) - return true; - - return false; -} - -//------------------------------------------------------------------------ -bool UpdateHandler::hasDependencies (FUnknown* u) -{ - IPtr unknown = Update::getUnknownBase (u); - if (!unknown) - return false; - - FGuard guard (lock); - - Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; - Update::DependentMapIterConst iterList = map.find (unknown); - bool hasDependency = (iterList != map.end ()); - - return hasDependency; -} - -//------------------------------------------------------------------------ -void UpdateHandler::printForObject (FObject* obj) const -{ - IPtr unknown = Update::getUnknownBase (obj); - if (!unknown) - return; - - FUnknownPtr dep (obj); - - bool header = false; - - Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; - Update::DependentMapIterConst iterList = map.begin (); - while (iterList != map.end ()) - { - const Update::DependentList& dependentlist = (*iterList).second; - Update::DependentListIterConst iterDependentlist = dependentlist.begin (); - while (iterDependentlist != dependentlist.end ()) - { -#if CLASS_NAME_TRACKED - if ((*iterList).first == unknown || (*iterDependentlist).dep == dep.getInterface ()) - { - if (!header) - { - FDebugPrint ("Dependencies for object %8" FORMAT_INT64A " %s\n", (uint64)obj, - obj->isA ()); - header = true; - } - FDebugPrint ("%s %8" FORMAT_INT64A "\n <- %s %8" FORMAT_INT64A "\n", - (*iterDependentlist).depClass, (uint64) (*iterDependentlist).dep, - (*iterDependentlist).objClass, (uint64) ((*iterList).first)); - } -#else - if ((*iterList).first == unknown || (*iterDependentlist) == dep.getInterface ()) - { - if (!header) - { - FDebugPrint ("Dependencies for object %8" FORMAT_INT64A " %s\n", (uint64)obj, - obj->isA ()); - header = true; - } - FDebugPrint ("%8" FORMAT_INT64A "\n <- %8" FORMAT_INT64A "\n", - (uint64) (*iterDependentlist), (uint64) ((*iterList).first)); - } -#endif - ++iterDependentlist; - } - - ++iterList; - } -} -#endif - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/updatehandler.cpp +// Created by : Steinberg, 2008 +// Description : +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#include "base/source/updatehandler.h" +#include "base/source/classfactoryhelpers.h" +#include "base/source/fstring.h" + +#if SMTG_CPP11_STDLIBSUPPORT +#include +#else +#include +#endif +#include +#include +#include + +#define NON_EXISTING_DEPENDENCY_CHECK 0 // not yet +#define CLASS_NAME_TRACKED DEVELOPMENT + +using Steinberg::Base::Thread::FGuard; + +namespace Steinberg { + +DEF_CLASS_IID (IUpdateManager) +bool UpdateHandler::lockUpdates = false; + +namespace Update { +const uint32 kHashSize = (1 << 8); // must be power of 2 (16 bytes * 256 == 4096) +const uint32 kMapSize = 1024 * 10; + +//------------------------------------------------------------------------ +inline uint32 hashPointer (void* p) +{ + return (uint32)((uint64 (p) >> 12) & (kHashSize - 1)); +} + +//------------------------------------------------------------------------ +inline IPtr getUnknownBase (FUnknown* unknown) +{ + FUnknown* result = nullptr; + if (unknown) + unknown->queryInterface (FUnknown::iid, (void**)&result); + + return owned (result); +} + +#if CLASS_NAME_TRACKED +//------------------------------------------------------------------------ +struct Dependency +{ + Dependency (FUnknown* o, IDependent* d) + : obj (o), dep (d), objClass (nullptr), depClass (nullptr) + { + } + + inline bool operator== (const Dependency& d) const { return obj == d.obj; } + inline bool operator!= (const Dependency& d) const { return obj != d.obj; } + inline bool operator< (const Dependency& d) const { return obj < d.obj; } + inline bool operator> (const Dependency& d) const { return obj > d.obj; } + FUnknown* obj; + IDependent* dep; + + FClassID objClass; + FClassID depClass; +}; +#endif + +//------------------------------------------------------------------------ +struct DeferedChange +{ + DeferedChange (FUnknown* o, int32 m = 0) : obj (o), msg (m) {} + ~DeferedChange () {} + DeferedChange (const DeferedChange& r) : obj (r.obj), msg (r.msg) {} + inline bool operator== (const DeferedChange& d) const { return obj == d.obj; } + inline bool operator!= (const DeferedChange& d) const { return obj != d.obj; } + FUnknown* obj; + int32 msg; +}; + +//------------------------------------------------------------------------ +struct UpdateData +{ + UpdateData (FUnknown* o, IDependent** d, uint32 c) + : obj (o), dependents (d), count (c) + { + } + FUnknown* obj; + IDependent** dependents; + uint32 count; + bool operator== (const UpdateData& d) const + { + return d.obj == obj && d.dependents == dependents; + } +}; + +//------------------------------------------------------------------------ +typedef std::deque DeferedChangeList; +typedef DeferedChangeList::const_iterator DeferedChangeListIterConst; +typedef DeferedChangeList::iterator DeferedChangeListIter; + +typedef std::deque UpdateDataList; +typedef UpdateDataList::const_iterator UpdateDataListIterConst; + +#if CLASS_NAME_TRACKED +typedef std::vector DependentList; +#else +typedef std::vector DependentList; +#endif +typedef DependentList::iterator DependentListIter; +typedef DependentList::const_iterator DependentListIterConst; + +#if SMTG_CPP11_STDLIBSUPPORT +typedef std::unordered_map DependentMap; +#else +typedef std::map DependentMap; +#endif +typedef DependentMap::iterator DependentMapIter; +typedef DependentMap::const_iterator DependentMapIterConst; + +struct Table +{ + DependentMap depMap[kHashSize]; + DeferedChangeList defered; + UpdateDataList updateData; +}; + +//------------------------------------------------------------------------ +void updateDone (FUnknown* unknown, int32 message) +{ + if (message != IDependent::kDestroyed) + { + FObject* obj = FObject::unknownToObject (unknown); + if (obj) + obj->updateDone (message); + } +} +} // namespace Update + +//------------------------------------------------------------------------ +static int32 countEntries (Update::DependentMap& map) +{ + int32 total = 0; + Update::DependentMapIterConst iterMap = map.begin (); + while (iterMap != map.end ()) + { + const Update::DependentList& list = iterMap->second; + Update::DependentListIterConst iterList = list.begin (); + while (iterList != list.end ()) + { + total++; + ++iterList; + } + ++iterMap; + } + return total; +} + +//------------------------------------------------------------------------ +UpdateHandler::UpdateHandler () +{ + table = NEW Update::Table; + if (FObject::getUpdateHandler () == nullptr) + FObject::setUpdateHandler (this); +} + +//------------------------------------------------------------------------ +UpdateHandler::~UpdateHandler () +{ + if (FObject::getUpdateHandler () == this) + FObject::setUpdateHandler (nullptr); + delete table; + table = nullptr; +} + +//------------------------------------------------------------------------ +tresult PLUGIN_API UpdateHandler::addDependent (FUnknown* u, IDependent* _dependent) +{ + IPtr unknown = Update::getUnknownBase (u); + if (!unknown || !_dependent) + return kResultFalse; + + FGuard guard (lock); + +#if CLASS_NAME_TRACKED + Update::Dependency dependent (unknown, _dependent); + + FObject* obj = FObject::unknownToObject (unknown); + if (obj) + dependent.objClass = obj->isA (); + obj = FObject::unknownToObject (_dependent); + if (obj) + dependent.depClass = obj->isA (); +#else + IDependent* dependent = _dependent; +#endif + + Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; + Update::DependentMapIter it = map.find (unknown); + if (it == map.end ()) + { + Update::DependentList list; + list.push_back (dependent); + map[unknown] = list; + } + else + { + (*it).second.push_back (dependent); + } + + return kResultTrue; +} + +//------------------------------------------------------------------------ +tresult PLUGIN_API UpdateHandler::removeDependent (FUnknown* u, IDependent* dependent) +{ + IPtr unknown = Update::getUnknownBase (u); + if (unknown == nullptr && dependent == nullptr) + return kResultFalse; + + FGuard guard (lock); + + Update::UpdateDataListIterConst iter = table->updateData.begin (); + while (iter != table->updateData.end ()) + { + if ((*iter).obj == unknown || unknown == nullptr) + { + for (uint32 count = 0; count < (*iter).count; count++) + { + if ((*iter).dependents[count] == dependent) + (*iter).dependents[count] = 0; + } + } + ++iter; + } + // Remove all objects for the given dependent + if (unknown == nullptr) + { + for (uint32 j = 0; j < Update::kHashSize; j++) + { + Update::DependentMap& map = table->depMap[j]; + Update::DependentMapIter iterMap = map.begin (); + while (iterMap != map.end ()) + { + Update::DependentList& list = (*iterMap).second; + Update::DependentListIter iterList = list.begin (); + while (iterList != list.end ()) + { +#if CLASS_NAME_TRACKED + if ((*iterList).dep == dependent) +#else + if ((*iterList) == dependent) +#endif + { + iterList = list.erase (iterList); + } + else + { + ++iterList; + } + } + ++iterMap; + } + } + } + else + { + bool mustFlush = true; + + Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; + Update::DependentMapIter iterList = map.find (unknown); + +#if NON_EXISTING_DEPENDENCY_CHECK + SMTG_ASSERT (iterList != map.end () && "ERROR: Trying to remove a non existing dependency!") +#endif + if (iterList != map.end ()) + { + if (dependent == nullptr) // Remove all dependents of object + { + map.erase (iterList); + } + else // Remove one dependent + { + int32 eraseCount = 0; + Update::DependentList& dependentlist = (*iterList).second; + Update::DependentListIter iterDependentlist = dependentlist.begin (); + while (iterDependentlist != dependentlist.end ()) + { +#if CLASS_NAME_TRACKED + if ((*iterDependentlist).dep == dependent) +#else + if ((*iterDependentlist) == dependent) +#endif + { + iterDependentlist = dependentlist.erase (iterDependentlist); + eraseCount++; + if (dependentlist.empty ()) + { + map.erase (iterList); + break; + } + } + else + { + ++iterDependentlist; + mustFlush = false; + } + } + } + } + if (mustFlush) + cancelUpdates (unknown); + } + + return kResultTrue; +} + +//------------------------------------------------------------------------ +tresult UpdateHandler::doTriggerUpdates (FUnknown* u, int32 message, bool suppressUpdateDone) +{ + if (lockUpdates) + return kResultFalse; + IPtr unknown = Update::getUnknownBase (u); + if (!unknown) + return kResultFalse; + + // to avoid crashes due to stack overflow, we reduce the amount of memory reserved for the + // dependents + IDependent* smallDependents[Update::kMapSize / 10]; // 8kB for x64 + IDependent** dependents = smallDependents; + int32 maxDependents = Update::kMapSize / 10; + int32 count = 0; + + { + FGuard guard (lock); // scope for lock + + Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; + Update::DependentMapIterConst iterList = map.find (unknown); + if (iterList != map.end ()) + { + const Update::DependentList& dependentlist = (*iterList).second; + Update::DependentListIterConst iterDependentlist = dependentlist.begin (); + while (iterDependentlist != dependentlist.end ()) + { +#if CLASS_NAME_TRACKED + dependents[count] = (*iterDependentlist).dep; +#else + dependents[count] = *iterDependentlist; +#endif + count++; + + if (count >= maxDependents) + { + if (dependents == smallDependents) + { + dependents = NEW IDependent*[Update::kMapSize]; + memcpy (dependents, smallDependents, count * sizeof (dependents[0])); + maxDependents = Update::kMapSize; + } + else + { + SMTG_WARNING ("Dependency overflow") + break; + } + } + ++iterDependentlist; + } + } + + // push update data on the stack + if (count > 0) + { + Update::UpdateData data (unknown, dependents, count); + table->updateData.push_back (data); + } + } // end scope + + int32 i = 0; + while (i < count) + { + if (dependents[i]) + dependents[i]->update (unknown, message); + i++; + } + + if (dependents != smallDependents) + delete[] dependents; + + // remove update data from the stack + if (count > 0) + { + FGuard guard (lock); + + table->updateData.pop_back (); + } + + // send update done message + if (suppressUpdateDone == false) + Update::updateDone (unknown, message); + + return count > 0 ? kResultTrue : kResultFalse; // Object was found and has been updated +} + +//------------------------------------------------------------------------ +tresult PLUGIN_API UpdateHandler::triggerUpdates (FUnknown* u, int32 message) +{ + return doTriggerUpdates (u, message, false); +} + +//------------------------------------------------------------------------ +tresult PLUGIN_API UpdateHandler::deferUpdates (FUnknown* u, int32 message) +{ + IPtr unknown = Update::getUnknownBase (u); + if (!unknown) + return kResultFalse; + + FGuard guard (lock); + + Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; + Update::DependentMapIterConst iterList = map.find (unknown); + + bool hasDependency = (iterList != map.end ()); + if (hasDependency == false) + { + Update::updateDone (unknown, message); + return kResultTrue; + } + + bool found = false; + Update::DeferedChangeListIterConst iter = table->defered.begin (); + while (iter != table->defered.end ()) + { + if ((*iter).obj == unknown && (*iter).msg == message) + { + found = true; + break; + } + ++iter; + } + + if (!found) + { + Update::DeferedChange change (unknown, message); + table->defered.push_back (change); + } + + return kResultTrue; +} + +//------------------------------------------------------------------------ +tresult PLUGIN_API UpdateHandler::triggerDeferedUpdates (FUnknown* unknown) +{ + Update::DeferedChangeList deferedAgain; + if (!unknown) + { + while (table->defered.empty () == false) + { + // Remove first from queue + lock.lock (); + + FUnknown* obj = table->defered.front ().obj; + int32 msg = table->defered.front ().msg; + table->defered.pop_front (); + + // check if this object is currently being updated. in this case, defer update again... + bool canSignal = true; + Update::UpdateDataListIterConst iter = table->updateData.begin (); + while (iter != table->updateData.end ()) + { + if ((*iter).obj == obj) + { + canSignal = false; + break; + } + ++iter; + } + lock.unlock (); + + if (canSignal) + { + triggerUpdates (obj, msg); + } + else + { + Update::DeferedChange change (obj, msg); + deferedAgain.push_back (change); + } + } + } + else + { + IPtr object = Update::getUnknownBase (unknown); + Update::DeferedChange tmp (object); + + while (true) + { + lock.lock (); + Update::DeferedChangeListIter it = + std::find (table->defered.begin (), table->defered.end (), tmp); + if (it == table->defered.end ()) + { + lock.unlock (); + return kResultTrue; + } + + if ((*it).obj != nullptr) + { + int32 msg = (*it).msg; + table->defered.erase (it); + + // check if this object is currently being updated. in this case, defer update + // again... + bool canSignal = true; + Update::UpdateDataListIterConst iter = table->updateData.begin (); + while (iter != table->updateData.end ()) + { + if ((*iter).obj == object) + { + canSignal = false; + break; + } + ++iter; + } + lock.unlock (); + + if (canSignal) + { + triggerUpdates (object, msg); + } + else + { + Update::DeferedChange change (object, msg); + deferedAgain.push_back (change); + } + } + } + } + + if (deferedAgain.empty () == false) + { + FGuard guard (lock); + + Update::DeferedChangeListIterConst iter = deferedAgain.begin (); + while (iter != deferedAgain.end ()) + { + table->defered.push_back (*iter); + ++iter; + } + } + + return kResultTrue; +} + +//------------------------------------------------------------------------ +tresult PLUGIN_API UpdateHandler::cancelUpdates (FUnknown* u) +{ + IPtr unknown = Update::getUnknownBase (u); + if (!unknown) + return kResultFalse; + + FGuard guard (lock); + + Update::DeferedChange change (unknown, 0); + while (1) + { + auto iter = std::find (table->defered.begin (), table->defered.end (), change); + if (iter != table->defered.end ()) + table->defered.erase (iter); + else + break; + } + + return kResultTrue; +} + +//------------------------------------------------------------------------ +size_t UpdateHandler::countDependencies (FUnknown* object) +{ + FGuard guard (lock); + uint32 res = 0; + + IPtr unknown = Update::getUnknownBase (object); + if (unknown) + { + Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; + Update::DependentMapIter iterList = map.find (unknown); + if (iterList != map.end ()) + return iterList->second.size (); + } + else + { + for (uint32 j = 0; j < Update::kHashSize; j++) + { + Update::DependentMap& map = table->depMap[j]; + res += countEntries (map); + } + } + return res; +} + +#if DEVELOPMENT +//------------------------------------------------------------------------ +bool UpdateHandler::checkDeferred (FUnknown* object) +{ + IPtr unknown = Update::getUnknownBase (object); + + FGuard guard (lock); + + Update::DeferedChange tmp (unknown); + Update::DeferedChangeListIterConst it = + std::find (table->defered.begin (), table->defered.end (), tmp); + if (it != table->defered.end ()) + return true; + + return false; +} + +//------------------------------------------------------------------------ +bool UpdateHandler::hasDependencies (FUnknown* u) +{ + IPtr unknown = Update::getUnknownBase (u); + if (!unknown) + return false; + + FGuard guard (lock); + + Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; + Update::DependentMapIterConst iterList = map.find (unknown); + bool hasDependency = (iterList != map.end ()); + + return hasDependency; +} + +//------------------------------------------------------------------------ +void UpdateHandler::printForObject (FObject* obj) const +{ + IPtr unknown = Update::getUnknownBase (obj); + if (!unknown) + return; + + FUnknownPtr dep (obj); + + bool header = false; + + Update::DependentMap& map = table->depMap[Update::hashPointer (unknown)]; + Update::DependentMapIterConst iterList = map.begin (); + while (iterList != map.end ()) + { + const Update::DependentList& dependentlist = (*iterList).second; + Update::DependentListIterConst iterDependentlist = dependentlist.begin (); + while (iterDependentlist != dependentlist.end ()) + { +#if CLASS_NAME_TRACKED + if ((*iterList).first == unknown || (*iterDependentlist).dep == dep.getInterface ()) + { + if (!header) + { + FDebugPrint ("Dependencies for object %8" FORMAT_INT64A " %s\n", (uint64)obj, + obj->isA ()); + header = true; + } + FDebugPrint ("%s %8" FORMAT_INT64A "\n <- %s %8" FORMAT_INT64A "\n", + (*iterDependentlist).depClass, (uint64) (*iterDependentlist).dep, + (*iterDependentlist).objClass, (uint64) ((*iterList).first)); + } +#else + if ((*iterList).first == unknown || (*iterDependentlist) == dep.getInterface ()) + { + if (!header) + { + FDebugPrint ("Dependencies for object %8" FORMAT_INT64A " %s\n", (uint64)obj, + obj->isA ()); + header = true; + } + FDebugPrint ("%8" FORMAT_INT64A "\n <- %8" FORMAT_INT64A "\n", + (uint64) (*iterDependentlist), (uint64) ((*iterList).first)); + } +#endif + ++iterDependentlist; + } + + ++iterList; + } +} +#endif + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h index 4dd41c39..4f966bee 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/source/updatehandler.h @@ -1,139 +1,139 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/source/updatehandler.h -// Created by : Steinberg, 2008 -// Description : -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#pragma once - -#include "base/source/fobject.h" -#include "base/thread/include/flock.h" -#include "pluginterfaces/base/iupdatehandler.h" - -namespace Steinberg { - -/// @cond ignore -namespace Update { struct Table; } -/// @endcond - -//------------------------------------------------------------------------ -/** Handle Send and Cancel pending message for a given object*/ -//------------------------------------------------------------------------ -class IUpdateManager : public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** cancel pending messages send by \param object or by any if object is 0 */ - virtual tresult PLUGIN_API cancelUpdates (FUnknown* object) = 0; - /** send pending messages send by \param object or by any if object is 0 */ - virtual tresult PLUGIN_API triggerDeferedUpdates (FUnknown* object = 0) = 0; - static const FUID iid; -}; - -DECLARE_CLASS_IID (IUpdateManager, 0x030B780C, 0xD6E6418D, 0x8CE00BC2, 0x09C834D4) - -//------------------------------------------------------------------------------ -/** -UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies -between objects to store and forward messages to dependent objects. - -This implementation is thread save, so objects can send message, add or remove -dependents from different threads. -Do do so it uses mutex, so be aware of locking. -*/ -//------------------------------------------------------------------------------ -class UpdateHandler : public FObject, public IUpdateHandler, public IUpdateManager -{ -public: -//------------------------------------------------------------------------------ - UpdateHandler (); - ~UpdateHandler (); - - using FObject::addDependent; - using FObject::removeDependent; - using FObject::deferUpdate; - - // IUpdateHandler - /** register \param dependent to get messages from \param object */ - virtual tresult PLUGIN_API addDependent (FUnknown* object, IDependent* dependent) SMTG_OVERRIDE; - /** unregister \param dependent to get no messages from \param object */ - virtual tresult PLUGIN_API removeDependent (FUnknown* object, - IDependent* dependent) SMTG_OVERRIDE; - /** send \param message to all dependents of \param object immediately */ - virtual tresult PLUGIN_API triggerUpdates (FUnknown* object, int32 message) SMTG_OVERRIDE; - /** send \param message to all dependents of \param object when idle */ - virtual tresult PLUGIN_API deferUpdates (FUnknown* object, int32 message) SMTG_OVERRIDE; - - // IUpdateManager - /** cancel pending messages send by \param object or by any if object is 0 */ - virtual tresult PLUGIN_API cancelUpdates (FUnknown* object) SMTG_OVERRIDE; - /** send pending messages send by \param object or by any if object is 0 */ - virtual tresult PLUGIN_API triggerDeferedUpdates (FUnknown* object = 0) SMTG_OVERRIDE; - - /// @cond ignore - // obsolete functions kept for compatibility - void checkUpdates (FObject* object = nullptr) { triggerDeferedUpdates (object->unknownCast ()); } - void flushUpdates (FObject* object) { cancelUpdates (object->unknownCast ()); } - void deferUpdate (FObject* object, int32 message) - { - deferUpdates (object->unknownCast (), message); - } - void signalChange (FObject* object, int32 message, bool suppressUpdateDone = false) - { - doTriggerUpdates (object->unknownCast (), message, suppressUpdateDone); - } -#if DEVELOPMENT - bool checkDeferred (FUnknown* object); - bool hasDependencies (FUnknown* object); - void printForObject (FObject* object) const; -#endif - /// @endcond - size_t countDependencies (FUnknown* object = nullptr); - - OBJ_METHODS (UpdateHandler, FObject) - FUNKNOWN_METHODS2 (IUpdateHandler, IUpdateManager, FObject) - SINGLETON (UpdateHandler) -//------------------------------------------------------------------------------ -private: - tresult doTriggerUpdates (FUnknown* object, int32 message, bool suppressUpdateDone); - - Steinberg::Base::Thread::FLock lock; - Update::Table* table = nullptr; - friend struct LockUpdateDependencies; - static bool lockUpdates; -}; - - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/source/updatehandler.h +// Created by : Steinberg, 2008 +// Description : +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#pragma once + +#include "base/source/fobject.h" +#include "base/thread/include/flock.h" +#include "pluginterfaces/base/iupdatehandler.h" + +namespace Steinberg { + +/// @cond ignore +namespace Update { struct Table; } +/// @endcond + +//------------------------------------------------------------------------ +/** Handle Send and Cancel pending message for a given object*/ +//------------------------------------------------------------------------ +class IUpdateManager : public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** cancel pending messages send by \param object or by any if object is 0 */ + virtual tresult PLUGIN_API cancelUpdates (FUnknown* object) = 0; + /** send pending messages send by \param object or by any if object is 0 */ + virtual tresult PLUGIN_API triggerDeferedUpdates (FUnknown* object = 0) = 0; + static const FUID iid; +}; + +DECLARE_CLASS_IID (IUpdateManager, 0x030B780C, 0xD6E6418D, 0x8CE00BC2, 0x09C834D4) + +//------------------------------------------------------------------------------ +/** +UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies +between objects to store and forward messages to dependent objects. + +This implementation is thread save, so objects can send message, add or remove +dependents from different threads. +Do do so it uses mutex, so be aware of locking. +*/ +//------------------------------------------------------------------------------ +class UpdateHandler : public FObject, public IUpdateHandler, public IUpdateManager +{ +public: +//------------------------------------------------------------------------------ + UpdateHandler (); + ~UpdateHandler (); + + using FObject::addDependent; + using FObject::removeDependent; + using FObject::deferUpdate; + + // IUpdateHandler + /** register \param dependent to get messages from \param object */ + virtual tresult PLUGIN_API addDependent (FUnknown* object, IDependent* dependent) SMTG_OVERRIDE; + /** unregister \param dependent to get no messages from \param object */ + virtual tresult PLUGIN_API removeDependent (FUnknown* object, + IDependent* dependent) SMTG_OVERRIDE; + /** send \param message to all dependents of \param object immediately */ + virtual tresult PLUGIN_API triggerUpdates (FUnknown* object, int32 message) SMTG_OVERRIDE; + /** send \param message to all dependents of \param object when idle */ + virtual tresult PLUGIN_API deferUpdates (FUnknown* object, int32 message) SMTG_OVERRIDE; + + // IUpdateManager + /** cancel pending messages send by \param object or by any if object is 0 */ + virtual tresult PLUGIN_API cancelUpdates (FUnknown* object) SMTG_OVERRIDE; + /** send pending messages send by \param object or by any if object is 0 */ + virtual tresult PLUGIN_API triggerDeferedUpdates (FUnknown* object = 0) SMTG_OVERRIDE; + + /// @cond ignore + // obsolete functions kept for compatibility + void checkUpdates (FObject* object = nullptr) { triggerDeferedUpdates (object->unknownCast ()); } + void flushUpdates (FObject* object) { cancelUpdates (object->unknownCast ()); } + void deferUpdate (FObject* object, int32 message) + { + deferUpdates (object->unknownCast (), message); + } + void signalChange (FObject* object, int32 message, bool suppressUpdateDone = false) + { + doTriggerUpdates (object->unknownCast (), message, suppressUpdateDone); + } +#if DEVELOPMENT + bool checkDeferred (FUnknown* object); + bool hasDependencies (FUnknown* object); + void printForObject (FObject* object) const; +#endif + /// @endcond + size_t countDependencies (FUnknown* object = nullptr); + + OBJ_METHODS (UpdateHandler, FObject) + FUNKNOWN_METHODS2 (IUpdateHandler, IUpdateManager, FObject) + SINGLETON (UpdateHandler) +//------------------------------------------------------------------------------ +private: + tresult doTriggerUpdates (FUnknown* object, int32 message, bool suppressUpdateDone); + + Steinberg::Base::Thread::FLock lock; + Update::Table* table = nullptr; + friend struct LockUpdateDependencies; + static bool lockUpdates; +}; + + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h b/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h index 3a508dd7..75545634 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/include/flock.h @@ -1,183 +1,183 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/thread/include/flock.h -// Created by : Steinberg, 1995 -// Description : locks -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------- -/** @file base/thread/include/flock.h - Locks. */ -/** @defgroup baseLocks Locks */ -//---------------------------------------------------------------------------------- -#pragma once - -#include "base/source/fobject.h" -#include "pluginterfaces/base/ftypes.h" - -#if SMTG_PTHREADS -#include - -#elif SMTG_OS_WINDOWS -struct CRITSECT // CRITICAL_SECTION -{ - void* DebugInfo; // PRTL_CRITICAL_SECTION_DEBUG DebugInfo; - Steinberg::int32 LockCount; // LONG LockCount; - Steinberg::int32 RecursionCount; // LONG RecursionCount; - void* OwningThread; // HANDLE OwningThread - void* LockSemaphore; // HANDLE LockSemaphore - Steinberg::int32 SpinCount; // ULONG_PTR SpinCount -}; -#endif - -namespace Steinberg { -namespace Base { -namespace Thread { - -//------------------------------------------------------------------------ -/** Lock interface declaration. -@ingroup baseLocks */ -//------------------------------------------------------------------------ -struct ILock -{ -//------------------------------------------------------------------------ - virtual ~ILock () {} - - /** Enables lock. */ - virtual void lock () = 0; - - /** Disables lock. */ - virtual void unlock () = 0; - - /** Tries to disable lock. */ - virtual bool trylock () = 0; -//------------------------------------------------------------------------ -}; - -//------------------------------------------------------------------------ -/** FLock declaration. -@ingroup baseLocks */ -//------------------------------------------------------------------------ -class FLock : public ILock -{ -public: -//------------------------------------------------------------------------ - - /** Lock constructor. - * @param name lock name - */ - FLock (const char8* name = "FLock"); - - /** Lock destructor. */ - ~FLock (); - - //-- ILock ----------------------------------------------------------- - virtual void lock () SMTG_OVERRIDE; - virtual void unlock () SMTG_OVERRIDE; - virtual bool trylock () SMTG_OVERRIDE; - -//------------------------------------------------------------------------ -protected: -#if SMTG_PTHREADS - pthread_mutex_t mutex; ///< Mutex object - -#elif SMTG_OS_WINDOWS - CRITSECT section; ///< Critical section object -#endif -}; - -//------------------------------------------------------------------------ -/** FLockObj declaration. Reference counted lock -@ingroup baseLocks */ -//------------------------------------------------------------------------ -class FLockObject : public FObject, public FLock -{ -public: - OBJ_METHODS (FLockObject, FObject) -}; - -//------------------------------------------------------------------------ -/** FGuard - automatic object for locks. -@ingroup baseLocks */ -//------------------------------------------------------------------------ -class FGuard -{ -public: -//------------------------------------------------------------------------ - - /** FGuard constructor. - * @param _lock guard this lock - */ - FGuard (ILock& _lock) : lock (_lock) { lock.lock (); } - - /** FGuard destructor. */ - ~FGuard () { lock.unlock (); } - -//------------------------------------------------------------------------ -private: - ILock& lock; ///< guarded lock -}; - -//------------------------------------------------------------------------ -/** Conditional Guard - Locks only if valid lock is passed. -@ingroup baseLocks */ -//------------------------------------------------------------------------ -class FConditionalGuard -{ -public: -//------------------------------------------------------------------------ - - /** FConditionGuard constructor. - * @param _lock guard this lock - */ - FConditionalGuard (FLock* _lock) : lock (_lock) - { - if (lock) - lock->lock (); - } - - /** FConditionGuard destructor. */ - ~FConditionalGuard () - { - if (lock) - lock->unlock (); - } - -//------------------------------------------------------------------------ -private: - FLock* lock; ///< guarded lock -}; - -} // Thread -} // Base -} // Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/thread/include/flock.h +// Created by : Steinberg, 1995 +// Description : locks +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------- +/** @file base/thread/include/flock.h + Locks. */ +/** @defgroup baseLocks Locks */ +//---------------------------------------------------------------------------------- +#pragma once + +#include "base/source/fobject.h" +#include "pluginterfaces/base/ftypes.h" + +#if SMTG_PTHREADS +#include + +#elif SMTG_OS_WINDOWS +struct CRITSECT // CRITICAL_SECTION +{ + void* DebugInfo; // PRTL_CRITICAL_SECTION_DEBUG DebugInfo; + Steinberg::int32 LockCount; // LONG LockCount; + Steinberg::int32 RecursionCount; // LONG RecursionCount; + void* OwningThread; // HANDLE OwningThread + void* LockSemaphore; // HANDLE LockSemaphore + Steinberg::int32 SpinCount; // ULONG_PTR SpinCount +}; +#endif + +namespace Steinberg { +namespace Base { +namespace Thread { + +//------------------------------------------------------------------------ +/** Lock interface declaration. +@ingroup baseLocks */ +//------------------------------------------------------------------------ +struct ILock +{ +//------------------------------------------------------------------------ + virtual ~ILock () {} + + /** Enables lock. */ + virtual void lock () = 0; + + /** Disables lock. */ + virtual void unlock () = 0; + + /** Tries to disable lock. */ + virtual bool trylock () = 0; +//------------------------------------------------------------------------ +}; + +//------------------------------------------------------------------------ +/** FLock declaration. +@ingroup baseLocks */ +//------------------------------------------------------------------------ +class FLock : public ILock +{ +public: +//------------------------------------------------------------------------ + + /** Lock constructor. + * @param name lock name + */ + FLock (const char8* name = "FLock"); + + /** Lock destructor. */ + ~FLock (); + + //-- ILock ----------------------------------------------------------- + virtual void lock () SMTG_OVERRIDE; + virtual void unlock () SMTG_OVERRIDE; + virtual bool trylock () SMTG_OVERRIDE; + +//------------------------------------------------------------------------ +protected: +#if SMTG_PTHREADS + pthread_mutex_t mutex; ///< Mutex object + +#elif SMTG_OS_WINDOWS + CRITSECT section; ///< Critical section object +#endif +}; + +//------------------------------------------------------------------------ +/** FLockObj declaration. Reference counted lock +@ingroup baseLocks */ +//------------------------------------------------------------------------ +class FLockObject : public FObject, public FLock +{ +public: + OBJ_METHODS (FLockObject, FObject) +}; + +//------------------------------------------------------------------------ +/** FGuard - automatic object for locks. +@ingroup baseLocks */ +//------------------------------------------------------------------------ +class FGuard +{ +public: +//------------------------------------------------------------------------ + + /** FGuard constructor. + * @param _lock guard this lock + */ + FGuard (ILock& _lock) : lock (_lock) { lock.lock (); } + + /** FGuard destructor. */ + ~FGuard () { lock.unlock (); } + +//------------------------------------------------------------------------ +private: + ILock& lock; ///< guarded lock +}; + +//------------------------------------------------------------------------ +/** Conditional Guard - Locks only if valid lock is passed. +@ingroup baseLocks */ +//------------------------------------------------------------------------ +class FConditionalGuard +{ +public: +//------------------------------------------------------------------------ + + /** FConditionGuard constructor. + * @param _lock guard this lock + */ + FConditionalGuard (FLock* _lock) : lock (_lock) + { + if (lock) + lock->lock (); + } + + /** FConditionGuard destructor. */ + ~FConditionalGuard () + { + if (lock) + lock->unlock (); + } + +//------------------------------------------------------------------------ +private: + FLock* lock; ///< guarded lock +}; + +} // Thread +} // Base +} // Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp index 0df5a737..c1af97fe 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/base/thread/source/flock.cpp @@ -1,145 +1,146 @@ -//------------------------------------------------------------------------ -// Project : SDK Base -// Version : 1.0 -// -// Category : Helpers -// Filename : base/thread/source/flock.cpp -// Created by : Steinberg, 1995 -// Description : Locks -// -//----------------------------------------------------------------------------- -// LICENSE -// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved -//----------------------------------------------------------------------------- -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Steinberg Media Technologies nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -// OF THE POSSIBILITY OF SUCH DAMAGE. -//----------------------------------------------------------------------------- - -#define DEBUG_LOCK 0 - -#include "base/thread/include/flock.h" -#include "base/source/fdebug.h" - -//------------------------------------------------------------------------ -#if SMTG_OS_WINDOWS -//------------------------------------------------------------------------ -#ifndef WINVER -#define WINVER 0x0500 -#endif -#ifndef _WIN32_WINNT -#define _WIN32_WINNT WINVER -#endif - -#include -#include -#define INIT_CS(cs) \ - InitializeCriticalSection ((LPCRITICAL_SECTION)&cs); - -#endif - -namespace Steinberg { -namespace Base { -namespace Thread { - - -//------------------------------------------------------------------------ -// FLock implementation -//------------------------------------------------------------------------ -FLock::FLock (const char8* /*name*/) -{ -#if SMTG_PTHREADS - pthread_mutexattr_t mutexAttr; - pthread_mutexattr_init (&mutexAttr); - pthread_mutexattr_settype (&mutexAttr, PTHREAD_MUTEX_RECURSIVE); - if (pthread_mutex_init (&mutex, &mutexAttr) != 0) - {SMTG_WARNING("mutex_init failed")} - pthread_mutexattr_destroy (&mutexAttr); - -#elif SMTG_OS_WINDOWS - INIT_CS (section) -#else -#warning implement FLock! -#endif -} - -//------------------------------------------------------------------------ -FLock::~FLock () -{ -#if SMTG_PTHREADS - pthread_mutex_destroy (&mutex); - -#elif SMTG_OS_WINDOWS - DeleteCriticalSection ((LPCRITICAL_SECTION)§ion); - -#endif -} - -//------------------------------------------------------------------------ -void FLock::lock () -{ -#if DEBUG_LOCK - FDebugPrint ("FLock::lock () %x\n", this); -#endif - -#if SMTG_PTHREADS - pthread_mutex_lock (&mutex); - -#elif SMTG_OS_WINDOWS - EnterCriticalSection ((LPCRITICAL_SECTION)§ion); - -#endif -} - -//------------------------------------------------------------------------ -void FLock::unlock () -{ -#if DEBUG_LOCK - FDebugPrint ("FLock::unlock () %x\n", this); -#endif - -#if SMTG_PTHREADS - pthread_mutex_unlock (&mutex); - -#elif SMTG_OS_WINDOWS - LeaveCriticalSection ((LPCRITICAL_SECTION)§ion); - -#endif -} - -//------------------------------------------------------------------------ -bool FLock::trylock () -{ -#if SMTG_PTHREADS - return pthread_mutex_trylock (&mutex) == 0; - -#elif SMTG_OS_WINDOWS - return TryEnterCriticalSection ((LPCRITICAL_SECTION)§ion) != 0 ? true : false; - -#else - return false; -#endif -} - -} // Thread -} // Base -} // Steinberg +//------------------------------------------------------------------------ +// Project : SDK Base +// Version : 1.0 +// +// Category : Helpers +// Filename : base/thread/source/flock.cpp +// Created by : Steinberg, 1995 +// Description : Locks +// +//----------------------------------------------------------------------------- +// LICENSE +// (c) 2018, Steinberg Media Technologies GmbH, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#define DEBUG_LOCK 0 + +#include "base/thread/include/flock.h" +#include "base/source/fdebug.h" + +//------------------------------------------------------------------------ +#if SMTG_OS_WINDOWS +//------------------------------------------------------------------------ +#ifndef WINVER +#define WINVER 0x0500 +#endif +#ifndef _WIN32_WINNT +#define _WIN32_WINNT WINVER +#endif + +#include +#include +#define INIT_CS(cs) \ + InitializeCriticalSection ((LPCRITICAL_SECTION)&cs); + +#endif + +namespace Steinberg { +namespace Base { +namespace Thread { + + +//------------------------------------------------------------------------ +// FLock implementation +//------------------------------------------------------------------------ +FLock::FLock (const char8* /*name*/) +{ +#if SMTG_PTHREADS + pthread_mutexattr_t mutexAttr; + pthread_mutexattr_init (&mutexAttr); + pthread_mutexattr_settype (&mutexAttr, PTHREAD_MUTEX_RECURSIVE); + if (pthread_mutex_init (&mutex, &mutexAttr) != 0) + {SMTG_WARNING("mutex_init failed")} + pthread_mutexattr_destroy (&mutexAttr); + +#elif SMTG_OS_WINDOWS + INIT_CS (section) +#else +#warning implement FLock! +#endif +} + +//------------------------------------------------------------------------ +FLock::~FLock () +{ +#if SMTG_PTHREADS + pthread_mutex_destroy (&mutex); + +#elif SMTG_OS_WINDOWS + DeleteCriticalSection ((LPCRITICAL_SECTION)§ion); + +#endif +} + +//------------------------------------------------------------------------ +void FLock::lock () +{ +#if DEBUG_LOCK + FDebugPrint ("FLock::lock () %x\n", this); +#endif + +#if SMTG_PTHREADS + pthread_mutex_lock (&mutex); + +#elif SMTG_OS_WINDOWS + EnterCriticalSection ((LPCRITICAL_SECTION)§ion); + +#endif +} + +//------------------------------------------------------------------------ +void FLock::unlock () +{ +#if DEBUG_LOCK + FDebugPrint ("FLock::unlock () %x\n", this); +#endif + +#if SMTG_PTHREADS + pthread_mutex_unlock (&mutex); + +#elif SMTG_OS_WINDOWS + LeaveCriticalSection ((LPCRITICAL_SECTION)§ion); + +#endif +} + +//------------------------------------------------------------------------ +bool FLock::trylock () +{ +#if SMTG_PTHREADS + return pthread_mutex_trylock (&mutex) == 0; + +#elif SMTG_OS_WINDOWS + return TryEnterCriticalSection ((LPCRITICAL_SECTION)§ion) != 0 ? true : false; + +#else + return false; +#endif +} + +} // Thread +} // Base +} // Steinberg + diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp index c8cc596d..4891cefa 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.cpp @@ -1,106 +1,106 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/conststringtable.cpp -// Created by : Steinberg, 09/2007 -// Description : constant unicode string table -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#include "conststringtable.h" -#include -#include - -namespace Steinberg { - -static std::map* stringMap; -static std::map* charMap; - -static char16* generateUTF16 (const char8* str); - -//---------------------------------------------------------------------------- -ConstStringTable* ConstStringTable::instance () -{ - static ConstStringTable stringTable; - return &stringTable; -} - -//---------------------------------------------------------------------------- -const char16* ConstStringTable::getString (const char8* str) const -{ - std::map::iterator iter = stringMap->find (str); - if (iter != stringMap->end ()) - return iter->second; - char16* uStr = generateUTF16 (str); - stringMap->insert (std::make_pair (str, uStr)); - return uStr; -} - -//---------------------------------------------------------------------------- -const char16 ConstStringTable::getString (const char8 str) const -{ - std::map::iterator iter = charMap->find (str); - if (iter != charMap->end ()) - return iter->second; - char16 uStr = 0; -#if BYTEORDER == kBigEndian - char8* puStr = (char8*)&uStr; - puStr[1] = str; -#else - uStr = str; -#endif - charMap->insert (std::make_pair (str, uStr)); - return uStr; -} - -//---------------------------------------------------------------------------- -ConstStringTable::ConstStringTable () -{ - stringMap = new std::map; - charMap = new std::map; -} - -//---------------------------------------------------------------------------- -ConstStringTable::~ConstStringTable () -{ - // free out allocated strings - { - std::map::iterator iter = stringMap->begin (); - while (iter != stringMap->end ()) - { - delete[] iter->second; - iter++; - } - } // delete iterator on map before deleting the map - - delete stringMap; - delete charMap; -} - -//---------------------------------------------------------------------------- -char16* generateUTF16 (const char8* str) -{ - int32 len = (int32)strlen (str); - char16* result = new char16[len + 1]; - for (int32 i = 0; i < len; i++) - { -#if BYTEORDER == kBigEndian - char8* pChr = (char8*)&result[i]; - pChr[0] = 0; - pChr[1] = str[i]; -#else - result[i] = str[i]; -#endif - } - result[len] = 0; - return result; -} -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/conststringtable.cpp +// Created by : Steinberg, 09/2007 +// Description : constant unicode string table +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#include "conststringtable.h" +#include +#include + +namespace Steinberg { + +static std::map* stringMap; +static std::map* charMap; + +static char16* generateUTF16 (const char8* str); + +//---------------------------------------------------------------------------- +ConstStringTable* ConstStringTable::instance () +{ + static ConstStringTable stringTable; + return &stringTable; +} + +//---------------------------------------------------------------------------- +const char16* ConstStringTable::getString (const char8* str) const +{ + std::map::iterator iter = stringMap->find (str); + if (iter != stringMap->end ()) + return iter->second; + char16* uStr = generateUTF16 (str); + stringMap->insert (std::make_pair (str, uStr)); + return uStr; +} + +//---------------------------------------------------------------------------- +const char16 ConstStringTable::getString (const char8 str) const +{ + std::map::iterator iter = charMap->find (str); + if (iter != charMap->end ()) + return iter->second; + char16 uStr = 0; +#if BYTEORDER == kBigEndian + char8* puStr = (char8*)&uStr; + puStr[1] = str; +#else + uStr = str; +#endif + charMap->insert (std::make_pair (str, uStr)); + return uStr; +} + +//---------------------------------------------------------------------------- +ConstStringTable::ConstStringTable () +{ + stringMap = new std::map; + charMap = new std::map; +} + +//---------------------------------------------------------------------------- +ConstStringTable::~ConstStringTable () +{ + // free out allocated strings + { + std::map::iterator iter = stringMap->begin (); + while (iter != stringMap->end ()) + { + delete[] iter->second; + iter++; + } + } // delete iterator on map before deleting the map + + delete stringMap; + delete charMap; +} + +//---------------------------------------------------------------------------- +char16* generateUTF16 (const char8* str) +{ + int32 len = (int32)strlen (str); + char16* result = new char16[len + 1]; + for (int32 i = 0; i < len; i++) + { +#if BYTEORDER == kBigEndian + char8* pChr = (char8*)&result[i]; + pChr[0] = 0; + pChr[1] = str[i]; +#else + result[i] = str[i]; +#endif + } + result[len] = 0; + return result; +} +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h index 530c901c..177d3271 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/conststringtable.h @@ -1,44 +1,45 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/conststringtable.h -// Created by : Steinberg, 09/2007 -// Description : constant unicode string table -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "ftypes.h" - -namespace Steinberg { - -//------------------------------------------------------------------------ -/** Constant unicode string table. -Used for conversion from ASCII string literals to char16. -*/ -//------------------------------------------------------------------------ -class ConstStringTable -{ -public: - static ConstStringTable* instance (); - - /** Returns a char16 string of a ASCII string literal*/ - const char16* getString (const char8* str) const; - /** Returns a char16 character of a ASCII character */ - const char16 getString (const char8 str) const; - -protected: - ConstStringTable (); - ~ConstStringTable (); -}; - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/conststringtable.h +// Created by : Steinberg, 09/2007 +// Description : constant unicode string table +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "ftypes.h" + +namespace Steinberg { + +//------------------------------------------------------------------------ +/** Constant unicode string table. +Used for conversion from ASCII string literals to char16. +*/ +//------------------------------------------------------------------------ +class ConstStringTable +{ +public: + static ConstStringTable* instance (); + + /** Returns a char16 string of a ASCII string literal*/ + const char16* getString (const char8* str) const; + /** Returns a char16 character of a ASCII character */ + const char16 getString (const char8 str) const; + +protected: + ConstStringTable (); + ~ConstStringTable (); +}; + +//------------------------------------------------------------------------ +} // namespace Steinberg + diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp index 4d9a3771..9cb63138 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/coreiids.cpp @@ -1,36 +1,36 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interface IID definitions -// Filename : pluginterfaces/base/coreiids.cpp -// Created by : Steinberg, 01/2004 -// Description : Basic Interface -// -//------------------------------------------------------------------------ -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//------------------------------------------------------------------------ - -#include "pluginterfaces/base/funknown.h" -#include "pluginterfaces/base/iupdatehandler.h" -#include "pluginterfaces/base/icloneable.h" -#include "pluginterfaces/base/ibstream.h" - -//------------------------------------------------------------------------ -namespace Steinberg { - - -DEF_CLASS_IID (FUnknown) - -DEF_CLASS_IID (ICloneable) - -DEF_CLASS_IID (IDependent) -DEF_CLASS_IID (IUpdateHandler) - -DEF_CLASS_IID (IBStream) -DEF_CLASS_IID (ISizeableStream) - -//------------------------------------------------------------------------ -} // Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interface IID definitions +// Filename : pluginterfaces/base/coreiids.cpp +// Created by : Steinberg, 01/2004 +// Description : Basic Interface +// +//------------------------------------------------------------------------ +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//------------------------------------------------------------------------ + +#include "pluginterfaces/base/funknown.h" +#include "pluginterfaces/base/iupdatehandler.h" +#include "pluginterfaces/base/icloneable.h" +#include "pluginterfaces/base/ibstream.h" + +//------------------------------------------------------------------------ +namespace Steinberg { + + +DEF_CLASS_IID (FUnknown) + +DEF_CLASS_IID (ICloneable) + +DEF_CLASS_IID (IDependent) +DEF_CLASS_IID (IUpdateHandler) + +DEF_CLASS_IID (IBStream) +DEF_CLASS_IID (ISizeableStream) + +//------------------------------------------------------------------------ +} // Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h index 1123a060..93e16ace 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpop.h @@ -1,31 +1,27 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/falignpop.h -// Created by : Steinberg, 01/2004 -// Description : Restore alignment settings -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -//--------------------------------------------------------------------------------------------------- -#if SMTG_OS_MACOS - #if TARGET_API_MAC_CARBON - #if SMTG_PLATFORM_64 - #pragma pack(pop) - #else - #pragma options align=reset - #endif - #endif -#elif defined __BORLANDC__ - #pragma -a- -#elif SMTG_OS_WINDOWS - #pragma pack(pop) -#endif -//--------------------------------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/falignpop.h +// Created by : Steinberg, 01/2004 +// Description : Restore alignment settings +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------------- +#if SMTG_OS_MACOS + #if !SMTG_PLATFORM_64 + #pragma pack(pop) + #endif +#elif defined __BORLANDC__ + #pragma -a- +#elif SMTG_OS_WINDOWS + #pragma pack(pop) +#endif +//--------------------------------------------------------------------------------------------------- diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h index 6003c3db..4c6ce931 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/falignpush.h @@ -1,36 +1,34 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/falignpush.h -// Created by : Steinberg, 01/2004 -// Description : Set alignment settings -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------- -#if SMTG_OS_MACOS - #if TARGET_API_MAC_CARBON - #if SMTG_PLATFORM_64 - #pragma pack(push, 16) - #else - #pragma options align=mac68k - #endif - #endif -#elif defined __BORLANDC__ - #pragma -a8 -#elif SMTG_OS_WINDOWS - #pragma pack(push) - #if SMTG_PLATFORM_64 - #pragma pack(16) - #else - #pragma pack(8) - #endif -#endif -//---------------------------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/falignpush.h +// Created by : Steinberg, 01/2004 +// Description : Set alignment settings +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------- +#if SMTG_OS_MACOS + #if SMTG_PLATFORM_64 + // no need in packing here + #else + #pragma pack(push, 1) + #endif +#elif defined __BORLANDC__ + #pragma -a8 +#elif SMTG_OS_WINDOWS + #pragma pack(push) + #if SMTG_PLATFORM_64 + #pragma pack(16) + #else + #pragma pack(8) + #endif +#endif +//---------------------------------------------------------------------------------------------- diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h index 51f5c390..6b2b57d9 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h @@ -1,208 +1,208 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/fplatform.h -// Created by : Steinberg, 01/2004 -// Description : Detect platform and set define -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#define kLittleEndian 0 -#define kBigEndian 1 - -#undef PLUGIN_API - -#if !defined (__INTEL_CXX11_MODE__) -#define SMTG_INTEL_CXX11_MODE 0 -#else -#define SMTG_INTEL_CXX11_MODE __INTEL_CXX11_MODE__ -#endif - -#if !defined (__INTEL_COMPILER) -#define SMTG_INTEL_COMPILER 0 -#else -#define SMTG_INTEL_COMPILER __INTEL_COMPILER -#endif - -//----------------------------------------------------------------------------- -// WIN32 AND WIN64 -#if defined (_WIN32) - #define SMTG_OS_LINUX 0 - #define SMTG_OS_MACOS 0 - #define SMTG_OS_WINDOWS 1 - #define SMTG_OS_IOS 0 - #define SMTG_OS_OSX 0 - - #define BYTEORDER kLittleEndian - - #define COM_COMPATIBLE 1 - #define PLUGIN_API __stdcall - #define SMTG_PTHREADS 0 - - #ifndef _CRT_SECURE_NO_WARNINGS - #define _CRT_SECURE_NO_WARNINGS - #endif - - #pragma warning (disable : 4244) // Conversion from 'type1' to 'type2', possible loss of data. - #pragma warning (disable : 4250) // Inheritance via dominance is allowed - #pragma warning (disable : 4996) // deprecated functions - - #pragma warning (3 : 4189) // local variable is initialized but not referenced - #pragma warning (3 : 4238) // nonstandard extension used : class rvalue used as lvalue - - #if defined (_WIN64) // WIN64 only - #define SMTG_PLATFORM_64 1 - #else - #define SMTG_PLATFORM_64 0 - #endif - - #ifndef WIN32 - #define WIN32 1 - #endif - - #ifdef __cplusplus - #define SMTG_CPP11 __cplusplus >= 201103L || _MSC_VER > 1600 || SMTG_INTEL_CXX11_MODE - #define SMTG_CPP11_STDLIBSUPPORT SMTG_CPP11 - #define SMTG_HAS_NOEXCEPT _MSC_VER >= 1900 || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER >= 1300) - #endif -//----------------------------------------------------------------------------- -// LINUX -#elif __gnu_linux__ - #define SMTG_OS_LINUX 1 - #define SMTG_OS_MACOS 0 - #define SMTG_OS_WINDOWS 0 - #define SMTG_OS_IOS 0 - #define SMTG_OS_OSX 0 - - #include - #if __BYTE_ORDER == __LITTLE_ENDIAN - #define BYTEORDER kLittleEndian - #else - #define BYTEORDER kBigEndian - #endif - - #define COM_COMPATIBLE 0 - #define PLUGIN_API - #define SMTG_PTHREADS 1 - - #if __LP64__ - #define SMTG_PLATFORM_64 1 - #else - #define SMTG_PLATFORM_64 0 - #endif - #ifdef __cplusplus - #include - #define SMTG_CPP11 (__cplusplus >= 201103L) - #ifndef SMTG_CPP11 - #error unsupported compiler - #endif - #define SMTG_CPP11_STDLIBSUPPORT 1 - #define SMTG_HAS_NOEXCEPT 1 - #endif -//----------------------------------------------------------------------------- -// Mac and iOS -#elif __APPLE__ - #include - #define SMTG_OS_LINUX 0 - #define SMTG_OS_MACOS 1 - #define SMTG_OS_WINDOWS 0 - #define SMTG_OS_IOS TARGET_OS_IPHONE - #define SMTG_OS_OSX TARGET_OS_MAC && !TARGET_OS_IPHONE - - #if !SMTG_OS_IOS - #ifndef __CF_USE_FRAMEWORK_INCLUDES__ - #define __CF_USE_FRAMEWORK_INCLUDES__ - #endif - #ifndef TARGET_API_MAC_CARBON - #define TARGET_API_MAC_CARBON 1 - #endif - #endif - #if __LP64__ - #define SMTG_PLATFORM_64 1 - #else - #define SMTG_PLATFORM_64 0 - #endif - #if defined (__BIG_ENDIAN__) - #define BYTEORDER kBigEndian - #else - #define BYTEORDER kLittleEndian - #endif - - #define COM_COMPATIBLE 0 - #define PLUGIN_API - #define SMTG_PTHREADS 1 - - #if !defined(__PLIST__) && !defined(SMTG_DISABLE_DEFAULT_DIAGNOSTICS) - #ifdef __clang__ - #pragma GCC diagnostic ignored "-Wswitch-enum" - #pragma GCC diagnostic ignored "-Wparentheses" - #pragma GCC diagnostic ignored "-Wuninitialized" - #if __clang_major__ >= 3 - #pragma GCC diagnostic ignored "-Wtautological-compare" - #pragma GCC diagnostic ignored "-Wunused-value" - #if __clang_major__ >= 4 || __clang_minor__ >= 1 - #pragma GCC diagnostic ignored "-Wswitch" - #pragma GCC diagnostic ignored "-Wcomment" - #endif - #if __clang_major__ >= 5 - #pragma GCC diagnostic ignored "-Wunsequenced" - #if __clang_minor__ >= 1 - #pragma GCC diagnostic ignored "-Wunused-const-variable" - #endif - #endif - #endif - #endif - #endif - #ifdef __cplusplus - #include - #define SMTG_CPP11 (__cplusplus >= 201103L || SMTG_INTEL_CXX11_MODE) - #if defined (_LIBCPP_VERSION) && SMTG_CPP11 - #define SMTG_CPP11_STDLIBSUPPORT 1 - #define SMTG_HAS_NOEXCEPT 1 - #else - #define SMTG_CPP11_STDLIBSUPPORT 0 - #define SMTG_HAS_NOEXCEPT 0 - #endif - #endif -#else - #pragma error unknown platform - -#endif - -#if !SMTG_RENAME_ASSERT -#undef WINDOWS -#undef MAC -#undef PTHREADS -#undef PLATFORM_64 - -#if SMTG_OS_WINDOWS -#define WINDOWS SMTG_OS_WINDOWS -#endif -#if SMTG_OS_MACOS -#define MAC SMTG_OS_MACOS -#endif -#define PLATFORM_64 SMTG_PLATFORM_64 -#define PTHREADS SMTG_PTHREADS -#endif -//----------------------------------------------------------------------------- - -//----------------------------------------------------------------------------- -#if SMTG_CPP11 -#define SMTG_OVERRIDE override -#else -#define SMTG_OVERRIDE -#endif -#if SMTG_HAS_NOEXCEPT -#define SMTG_NOEXCEPT noexcept -#else -#define SMTG_NOEXCEPT -#endif +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/fplatform.h +// Created by : Steinberg, 01/2004 +// Description : Detect platform and set define +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#define kLittleEndian 0 +#define kBigEndian 1 + +#undef PLUGIN_API + +#if !defined (__INTEL_CXX11_MODE__) +#define SMTG_INTEL_CXX11_MODE 0 +#else +#define SMTG_INTEL_CXX11_MODE __INTEL_CXX11_MODE__ +#endif + +#if !defined (__INTEL_COMPILER) +#define SMTG_INTEL_COMPILER 0 +#else +#define SMTG_INTEL_COMPILER __INTEL_COMPILER +#endif + +//----------------------------------------------------------------------------- +// WIN32 AND WIN64 +#if defined (_WIN32) + #define SMTG_OS_LINUX 0 + #define SMTG_OS_MACOS 0 + #define SMTG_OS_WINDOWS 1 + #define SMTG_OS_IOS 0 + #define SMTG_OS_OSX 0 + + #define BYTEORDER kLittleEndian + + #define COM_COMPATIBLE 1 + #define PLUGIN_API __stdcall + #define SMTG_PTHREADS 0 + + #ifndef _CRT_SECURE_NO_WARNINGS + #define _CRT_SECURE_NO_WARNINGS + #endif + + #pragma warning (disable : 4244) // Conversion from 'type1' to 'type2', possible loss of data. + #pragma warning (disable : 4250) // Inheritance via dominance is allowed + #pragma warning (disable : 4996) // deprecated functions + + #pragma warning (3 : 4189) // local variable is initialized but not referenced + #pragma warning (3 : 4238) // nonstandard extension used : class rvalue used as lvalue + + #if defined (_WIN64) // WIN64 only + #define SMTG_PLATFORM_64 1 + #else + #define SMTG_PLATFORM_64 0 + #endif + + #ifndef WIN32 + #define WIN32 1 + #endif + + #ifdef __cplusplus + #define SMTG_CPP11 __cplusplus >= 201103L || _MSC_VER > 1600 || SMTG_INTEL_CXX11_MODE + #define SMTG_CPP11_STDLIBSUPPORT SMTG_CPP11 + #define SMTG_HAS_NOEXCEPT _MSC_VER >= 1900 || (SMTG_INTEL_CXX11_MODE && SMTG_INTEL_COMPILER >= 1300) + #endif +//----------------------------------------------------------------------------- +// LINUX +#elif __gnu_linux__ + #define SMTG_OS_LINUX 1 + #define SMTG_OS_MACOS 0 + #define SMTG_OS_WINDOWS 0 + #define SMTG_OS_IOS 0 + #define SMTG_OS_OSX 0 + + #include + #if __BYTE_ORDER == __LITTLE_ENDIAN + #define BYTEORDER kLittleEndian + #else + #define BYTEORDER kBigEndian + #endif + + #define COM_COMPATIBLE 0 + #define PLUGIN_API + #define SMTG_PTHREADS 1 + + #if __LP64__ + #define SMTG_PLATFORM_64 1 + #else + #define SMTG_PLATFORM_64 0 + #endif + #ifdef __cplusplus + #include + #define SMTG_CPP11 (__cplusplus >= 201103L) + #ifndef SMTG_CPP11 + #error unsupported compiler + #endif + #define SMTG_CPP11_STDLIBSUPPORT 1 + #define SMTG_HAS_NOEXCEPT 1 + #endif +//----------------------------------------------------------------------------- +// Mac and iOS +#elif __APPLE__ + #include + #define SMTG_OS_LINUX 0 + #define SMTG_OS_MACOS 1 + #define SMTG_OS_WINDOWS 0 + #define SMTG_OS_IOS TARGET_OS_IPHONE + #define SMTG_OS_OSX TARGET_OS_MAC && !TARGET_OS_IPHONE + + #if !SMTG_OS_IOS + #ifndef __CF_USE_FRAMEWORK_INCLUDES__ + #define __CF_USE_FRAMEWORK_INCLUDES__ + #endif + #ifndef TARGET_API_MAC_CARBON + #define TARGET_API_MAC_CARBON 1 + #endif + #endif + #if __LP64__ + #define SMTG_PLATFORM_64 1 + #else + #define SMTG_PLATFORM_64 0 + #endif + #if defined (__BIG_ENDIAN__) + #define BYTEORDER kBigEndian + #else + #define BYTEORDER kLittleEndian + #endif + + #define COM_COMPATIBLE 0 + #define PLUGIN_API + #define SMTG_PTHREADS 1 + + #if !defined(__PLIST__) && !defined(SMTG_DISABLE_DEFAULT_DIAGNOSTICS) + #ifdef __clang__ + #pragma GCC diagnostic ignored "-Wswitch-enum" + #pragma GCC diagnostic ignored "-Wparentheses" + #pragma GCC diagnostic ignored "-Wuninitialized" + #if __clang_major__ >= 3 + #pragma GCC diagnostic ignored "-Wtautological-compare" + #pragma GCC diagnostic ignored "-Wunused-value" + #if __clang_major__ >= 4 || __clang_minor__ >= 1 + #pragma GCC diagnostic ignored "-Wswitch" + #pragma GCC diagnostic ignored "-Wcomment" + #endif + #if __clang_major__ >= 5 + #pragma GCC diagnostic ignored "-Wunsequenced" + #if __clang_minor__ >= 1 + #pragma GCC diagnostic ignored "-Wunused-const-variable" + #endif + #endif + #endif + #endif + #endif + #ifdef __cplusplus + #include + #define SMTG_CPP11 (__cplusplus >= 201103L || SMTG_INTEL_CXX11_MODE) + #if defined (_LIBCPP_VERSION) && SMTG_CPP11 + #define SMTG_CPP11_STDLIBSUPPORT 1 + #define SMTG_HAS_NOEXCEPT 1 + #else + #define SMTG_CPP11_STDLIBSUPPORT 0 + #define SMTG_HAS_NOEXCEPT 0 + #endif + #endif +#else + #pragma error unknown platform + +#endif + +#if !SMTG_RENAME_ASSERT +#undef WINDOWS +#undef MAC +#undef PTHREADS +#undef PLATFORM_64 + +#if SMTG_OS_WINDOWS +#define WINDOWS SMTG_OS_WINDOWS +#endif +#if SMTG_OS_MACOS +#define MAC SMTG_OS_MACOS +#endif +#define PLATFORM_64 SMTG_PLATFORM_64 +#define PTHREADS SMTG_PTHREADS +#endif +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +#if SMTG_CPP11 +#define SMTG_OVERRIDE override +#else +#define SMTG_OVERRIDE +#endif +#if SMTG_HAS_NOEXCEPT +#define SMTG_NOEXCEPT noexcept +#else +#define SMTG_NOEXCEPT +#endif diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h index 4be03a8c..2a5882a0 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fstrdefs.h @@ -1,291 +1,291 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/fstrdefs.h -// Created by : Steinberg, 01/2004 -// Description : Definitions for handling strings (Unicode / ASCII / Platforms) -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "ftypes.h" - -//---------------------------------------------------------------------------- -// string methods defines unicode / ASCII -//---------------------------------------------------------------------------- - -// 16 bit string operations -#if SMTG_CPP11 // if c++11 unicode string literals - #define SMTG_CPP11_CAT_PRIVATE_DONT_USE(a,b) a ## b - #if SMTG_OS_WINDOWS - #define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(L,x) - #else - #define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(u,x) - #endif -#else - #include "conststringtable.h" - #define STR16(x) Steinberg::ConstStringTable::instance ()->getString (x) -#endif - -#ifdef UNICODE - #define STR(x) STR16(x) - #define tStrBufferSize(buffer) (sizeof(buffer)/sizeof(Steinberg::tchar)) - -#else - #define STR(x) x - #define tStrBufferSize(buffer) (sizeof(buffer)) -#endif - -#define str8BufferSize(buffer) (sizeof(buffer)/sizeof(Steinberg::char8)) -#define str16BufferSize(buffer) (sizeof(buffer)/sizeof(Steinberg::char16)) - -#if SMTG_OS_WINDOWS -#define FORMAT_INT64A "I64d" -#define FORMAT_UINT64A "I64u" - -#elif SMTG_OS_MACOS || SMTG_OS_LINUX -#define FORMAT_INT64A "lld" -#define FORMAT_UINT64A "llu" -#define stricmp strcasecmp -#define strnicmp strncasecmp -#endif - -#ifdef UNICODE -#define FORMAT_INT64W STR(FORMAT_INT64A) -#define FORMAT_UINT64W STR(FORMAT_UINT64A) - -#define FORMAT_INT64 FORMAT_INT64W -#define FORMAT_UINT64 FORMAT_UINT64W -#else -#define FORMAT_INT64 FORMAT_INT64A -#define FORMAT_UINT64 FORMAT_UINT64A -#endif - - -//---------------------------------------------------------------------------- -// newline -//---------------------------------------------------------------------------- -#if SMTG_OS_WINDOWS -#define ENDLINE_A "\r\n" -#define ENDLINE_W STR ("\r\n") -#elif SMTG_OS_MACOS -#define ENDLINE_A "\r" -#define ENDLINE_W STR ("\r") -#elif SMTG_OS_LINUX -#define ENDLINE_A "\n" -#define ENDLINE_W STR ("\n") -#endif - -#ifdef UNICODE -#define ENDLINE ENDLINE_W -#else -#define ENDLINE ENDLINE_A -#endif - -#if SMTG_OS_WINDOWS && !defined(__GNUC__) && defined(_MSC_VER) && (_MSC_VER < 1900) -#define stricmp _stricmp -#define strnicmp _strnicmp -#define snprintf _snprintf -#endif - -namespace Steinberg { - -//---------------------------------------------------------------------------- -static const tchar kEmptyString[] = { 0 }; -static const char8 kEmptyString8[] = { 0 }; -static const char16 kEmptyString16[] = { 0 }; - -#ifdef UNICODE -static const tchar kInfiniteSymbol[] = { 0x221E, 0 }; -#else -static const tchar* const kInfiniteSymbol = STR ("oo"); -#endif - -//---------------------------------------------------------------------------- -template -inline int32 _tstrlen (const T* wcs) -{ - const T* eos = wcs; - - while (*eos++) - ; - - return (int32) (eos - wcs - 1); -} - -inline int32 tstrlen (const tchar* str) {return _tstrlen (str);} -inline int32 strlen8 (const char8* str) {return _tstrlen (str);} -inline int32 strlen16 (const char16* str) {return _tstrlen (str);} - -//---------------------------------------------------------------------------- -template -inline int32 _tstrcmp (const T* src, const T* dst) -{ - while (*src == *dst && *dst) - { - src++; - dst++; - } - - if (*src == 0 && *dst == 0) - return 0; - else if (*src == 0) - return -1; - else if (*dst == 0) - return 1; - else - return (int32) (*src - *dst); -} - -inline int32 tstrcmp (const tchar* src, const tchar* dst) {return _tstrcmp (src, dst);} -inline int32 strcmp8 (const char8* src, const char8* dst) {return _tstrcmp (src, dst);} -inline int32 strcmp16 (const char16* src, const char16* dst) {return _tstrcmp (src, dst);} - -template -inline int32 strcmpT (const T* first, const T* last); - -template <> -inline int32 strcmpT (const char8* first, const char8* last) { return _tstrcmp (first, last); } - -template <> -inline int32 strcmpT (const char16* first, const char16* last) { return _tstrcmp (first, last); } - -//---------------------------------------------------------------------------- -template -inline int32 _tstrncmp (const T* first, const T* last, uint32 count) -{ - if (count == 0) - return 0; - - while (--count && *first && *first == *last) - { - first++; - last++; - } - - if (*first == 0 && *last == 0) - return 0; - else if (*first == 0) - return -1; - else if (*last == 0) - return 1; - else - return (int32) (*first - *last); -} - -inline int32 tstrncmp (const tchar* first, const tchar* last, uint32 count) {return _tstrncmp (first, last, count);} -inline int32 strncmp8 (const char8* first, const char8* last, uint32 count) {return _tstrncmp (first, last, count);} -inline int32 strncmp16 (const char16* first, const char16* last, uint32 count) {return _tstrncmp (first, last, count);} - -template -inline int32 strncmpT (const T* first, const T* last, uint32 count); - -template <> -inline int32 strncmpT (const char8* first, const char8* last, uint32 count) { return _tstrncmp (first, last, count); } - -template <> -inline int32 strncmpT (const char16* first, const char16* last, uint32 count) {return _tstrncmp (first, last, count); } - -//---------------------------------------------------------------------------- -template -inline T* _tstrcpy (T* dst, const T* src) -{ - T* cp = dst; - while ((*cp++ = *src++) != 0) // copy string - ; - return dst; -} -inline tchar* tstrcpy (tchar* dst, const tchar* src) {return _tstrcpy (dst, src);} -inline char8* strcpy8 (char8* dst, const char8* src) {return _tstrcpy (dst, src);} -inline char16* strcpy16 (char16* dst, const char16* src) {return _tstrcpy (dst, src);} - -//---------------------------------------------------------------------------- -template -inline T* _tstrncpy (T* dest, const T* source, uint32 count) -{ - T* start = dest; - while (count && (*dest++ = *source++) != 0) // copy string - count--; - - if (count) // pad out with zeros - { - while (--count) - *dest++ = 0; - } - return start; -} - -inline tchar* tstrncpy (tchar* dest, const tchar* source, uint32 count) {return _tstrncpy (dest, source, count);} -inline char8* strncpy8 (char8* dest, const char8* source, uint32 count) {return _tstrncpy (dest, source, count);} -inline char16* strncpy16 (char16* dest, const char16* source, uint32 count) {return _tstrncpy (dest, source, count);} - -//---------------------------------------------------------------------------- -template -inline T* _tstrcat (T* dst, const T* src) -{ - T* cp = dst; - - while (*cp) - cp++; // find end of dst - - while ((*cp++ = *src++) != 0) // Copy src to end of dst - ; - - return dst; -} - -inline tchar* tstrcat (tchar* dst, const tchar* src) {return _tstrcat (dst, src); } -inline char8* strcat8 (char8* dst, const char8* src) {return _tstrcat (dst, src); } -inline char16* strcat16 (char16* dst, const char16* src) {return _tstrcat (dst, src); } - -//---------------------------------------------------------------------------- -inline void str8ToStr16 (char16* dst, const char8* src, int32 n = -1) -{ - int32 i = 0; - for (;;) - { - if (i == n) - { - dst[i] = 0; - return; - } - -#if BYTEORDER == kBigEndian - char8* pChr = (char8*)&dst[i]; - pChr[0] = 0; - pChr[1] = src[i]; -#else - dst[i] = static_cast (src[i]); -#endif - - if (src[i] == 0) - break; - - i++; - } - - while (n > i) - { - dst[i] = 0; - i++; - } -} - -//------------------------------------------------------------------------ -inline bool FIDStringsEqual (FIDString id1, FIDString id2) -{ - return (id1 && id2) ? (strcmp8 (id1, id2) == 0) : false; -} - -static const uint32 kPrintfBufferSize = 4096; - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/fstrdefs.h +// Created by : Steinberg, 01/2004 +// Description : Definitions for handling strings (Unicode / ASCII / Platforms) +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "ftypes.h" + +//---------------------------------------------------------------------------- +// string methods defines unicode / ASCII +//---------------------------------------------------------------------------- + +// 16 bit string operations +#if SMTG_CPP11 // if c++11 unicode string literals + #define SMTG_CPP11_CAT_PRIVATE_DONT_USE(a,b) a ## b + #if SMTG_OS_WINDOWS + #define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(L,x) + #else + #define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(u,x) + #endif +#else + #include "conststringtable.h" + #define STR16(x) Steinberg::ConstStringTable::instance ()->getString (x) +#endif + +#ifdef UNICODE + #define STR(x) STR16(x) + #define tStrBufferSize(buffer) (sizeof(buffer)/sizeof(Steinberg::tchar)) + +#else + #define STR(x) x + #define tStrBufferSize(buffer) (sizeof(buffer)) +#endif + +#define str8BufferSize(buffer) (sizeof(buffer)/sizeof(Steinberg::char8)) +#define str16BufferSize(buffer) (sizeof(buffer)/sizeof(Steinberg::char16)) + +#if SMTG_OS_WINDOWS +#define FORMAT_INT64A "I64d" +#define FORMAT_UINT64A "I64u" + +#elif SMTG_OS_MACOS || SMTG_OS_LINUX +#define FORMAT_INT64A "lld" +#define FORMAT_UINT64A "llu" +#define stricmp strcasecmp +#define strnicmp strncasecmp +#endif + +#ifdef UNICODE +#define FORMAT_INT64W STR(FORMAT_INT64A) +#define FORMAT_UINT64W STR(FORMAT_UINT64A) + +#define FORMAT_INT64 FORMAT_INT64W +#define FORMAT_UINT64 FORMAT_UINT64W +#else +#define FORMAT_INT64 FORMAT_INT64A +#define FORMAT_UINT64 FORMAT_UINT64A +#endif + + +//---------------------------------------------------------------------------- +// newline +//---------------------------------------------------------------------------- +#if SMTG_OS_WINDOWS +#define ENDLINE_A "\r\n" +#define ENDLINE_W STR ("\r\n") +#elif SMTG_OS_MACOS +#define ENDLINE_A "\r" +#define ENDLINE_W STR ("\r") +#elif SMTG_OS_LINUX +#define ENDLINE_A "\n" +#define ENDLINE_W STR ("\n") +#endif + +#ifdef UNICODE +#define ENDLINE ENDLINE_W +#else +#define ENDLINE ENDLINE_A +#endif + +#if SMTG_OS_WINDOWS && !defined(__GNUC__) && defined(_MSC_VER) && (_MSC_VER < 1900) +#define stricmp _stricmp +#define strnicmp _strnicmp +#define snprintf _snprintf +#endif + +namespace Steinberg { + +//---------------------------------------------------------------------------- +static const tchar kEmptyString[] = { 0 }; +static const char8 kEmptyString8[] = { 0 }; +static const char16 kEmptyString16[] = { 0 }; + +#ifdef UNICODE +static const tchar kInfiniteSymbol[] = { 0x221E, 0 }; +#else +static const tchar* const kInfiniteSymbol = STR ("oo"); +#endif + +//---------------------------------------------------------------------------- +template +inline int32 _tstrlen (const T* wcs) +{ + const T* eos = wcs; + + while (*eos++) + ; + + return (int32) (eos - wcs - 1); +} + +inline int32 tstrlen (const tchar* str) {return _tstrlen (str);} +inline int32 strlen8 (const char8* str) {return _tstrlen (str);} +inline int32 strlen16 (const char16* str) {return _tstrlen (str);} + +//---------------------------------------------------------------------------- +template +inline int32 _tstrcmp (const T* src, const T* dst) +{ + while (*src == *dst && *dst) + { + src++; + dst++; + } + + if (*src == 0 && *dst == 0) + return 0; + else if (*src == 0) + return -1; + else if (*dst == 0) + return 1; + else + return (int32) (*src - *dst); +} + +inline int32 tstrcmp (const tchar* src, const tchar* dst) {return _tstrcmp (src, dst);} +inline int32 strcmp8 (const char8* src, const char8* dst) {return _tstrcmp (src, dst);} +inline int32 strcmp16 (const char16* src, const char16* dst) {return _tstrcmp (src, dst);} + +template +inline int32 strcmpT (const T* first, const T* last); + +template <> +inline int32 strcmpT (const char8* first, const char8* last) { return _tstrcmp (first, last); } + +template <> +inline int32 strcmpT (const char16* first, const char16* last) { return _tstrcmp (first, last); } + +//---------------------------------------------------------------------------- +template +inline int32 _tstrncmp (const T* first, const T* last, uint32 count) +{ + if (count == 0) + return 0; + + while (--count && *first && *first == *last) + { + first++; + last++; + } + + if (*first == 0 && *last == 0) + return 0; + else if (*first == 0) + return -1; + else if (*last == 0) + return 1; + else + return (int32) (*first - *last); +} + +inline int32 tstrncmp (const tchar* first, const tchar* last, uint32 count) {return _tstrncmp (first, last, count);} +inline int32 strncmp8 (const char8* first, const char8* last, uint32 count) {return _tstrncmp (first, last, count);} +inline int32 strncmp16 (const char16* first, const char16* last, uint32 count) {return _tstrncmp (first, last, count);} + +template +inline int32 strncmpT (const T* first, const T* last, uint32 count); + +template <> +inline int32 strncmpT (const char8* first, const char8* last, uint32 count) { return _tstrncmp (first, last, count); } + +template <> +inline int32 strncmpT (const char16* first, const char16* last, uint32 count) {return _tstrncmp (first, last, count); } + +//---------------------------------------------------------------------------- +template +inline T* _tstrcpy (T* dst, const T* src) +{ + T* cp = dst; + while ((*cp++ = *src++) != 0) // copy string + ; + return dst; +} +inline tchar* tstrcpy (tchar* dst, const tchar* src) {return _tstrcpy (dst, src);} +inline char8* strcpy8 (char8* dst, const char8* src) {return _tstrcpy (dst, src);} +inline char16* strcpy16 (char16* dst, const char16* src) {return _tstrcpy (dst, src);} + +//---------------------------------------------------------------------------- +template +inline T* _tstrncpy (T* dest, const T* source, uint32 count) +{ + T* start = dest; + while (count && (*dest++ = *source++) != 0) // copy string + count--; + + if (count) // pad out with zeros + { + while (--count) + *dest++ = 0; + } + return start; +} + +inline tchar* tstrncpy (tchar* dest, const tchar* source, uint32 count) {return _tstrncpy (dest, source, count);} +inline char8* strncpy8 (char8* dest, const char8* source, uint32 count) {return _tstrncpy (dest, source, count);} +inline char16* strncpy16 (char16* dest, const char16* source, uint32 count) {return _tstrncpy (dest, source, count);} + +//---------------------------------------------------------------------------- +template +inline T* _tstrcat (T* dst, const T* src) +{ + T* cp = dst; + + while (*cp) + cp++; // find end of dst + + while ((*cp++ = *src++) != 0) // Copy src to end of dst + ; + + return dst; +} + +inline tchar* tstrcat (tchar* dst, const tchar* src) {return _tstrcat (dst, src); } +inline char8* strcat8 (char8* dst, const char8* src) {return _tstrcat (dst, src); } +inline char16* strcat16 (char16* dst, const char16* src) {return _tstrcat (dst, src); } + +//---------------------------------------------------------------------------- +inline void str8ToStr16 (char16* dst, const char8* src, int32 n = -1) +{ + int32 i = 0; + for (;;) + { + if (i == n) + { + dst[i] = 0; + return; + } + +#if BYTEORDER == kBigEndian + char8* pChr = (char8*)&dst[i]; + pChr[0] = 0; + pChr[1] = src[i]; +#else + dst[i] = static_cast (src[i]); +#endif + + if (src[i] == 0) + break; + + i++; + } + + while (n > i) + { + dst[i] = 0; + i++; + } +} + +//------------------------------------------------------------------------ +inline bool FIDStringsEqual (FIDString id1, FIDString id2) +{ + return (id1 && id2) ? (strcmp8 (id1, id2) == 0) : false; +} + +static const uint32 kPrintfBufferSize = 4096; + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h index fca4c695..feda6b0b 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ftypes.h @@ -1,192 +1,192 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/ftypes.h -// Created by : Steinberg, 01/2004 -// Description : Basic data types -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "fplatform.h" - -//#define UNICODE_OFF // disable / enable unicode - -#ifdef UNICODE_OFF - #ifdef UNICODE - #undef UNICODE - #endif -#else - #define UNICODE 1 -#endif - -#ifdef UNICODE -#define _UNICODE 1 -#endif - -namespace Steinberg -{ -//----------------------------------------------------------------- -// Integral Types - typedef char int8; - typedef unsigned char uint8; - typedef unsigned char uchar; - - typedef short int16; - typedef unsigned short uint16; - -#if SMTG_OS_WINDOWS && !defined(__GNUC__) - typedef long int32; - typedef unsigned long uint32; -#else - typedef int int32; - typedef unsigned int uint32; -#endif - - static const int32 kMaxLong = 0x7fffffff; - static const int32 kMinLong = (-0x7fffffff - 1); - static const int32 kMaxInt32 = kMaxLong; - static const int32 kMinInt32 = kMinLong; - static const uint32 kMaxInt32u = 0xffffffff; - -#if SMTG_OS_WINDOWS && !defined(__GNUC__) - typedef __int64 int64; - typedef unsigned __int64 uint64; - static const int64 kMaxInt64 = 9223372036854775807i64; - static const int64 kMinInt64 = (-9223372036854775807i64 - 1); -#else - typedef long long int64; - typedef unsigned long long uint64; - static const int64 kMaxInt64 = 0x7fffffffffffffffLL; - static const int64 kMinInt64 = (-0x7fffffffffffffffLL-1); -#endif - static const uint64 kMaxInt64u = uint64 (0xffffffff) | (uint64 (0xffffffff) << 32); - -//----------------------------------------------------------------- -// other Semantic Types - typedef int64 TSize; // byte (or other) sizes - typedef int32 tresult; // result code -//----------------------------------------------------------------- - static const float kMaxFloat = 3.40282346638528860E38; - static const double kMaxDouble = 1.7976931348623158E308; - -#if SMTG_PLATFORM_64 - typedef uint64 TPtrInt; -#else - typedef uint32 TPtrInt; -#endif - -//------------------------------------------------------------------ -// Boolean - typedef uint8 TBool; - -//------------------------------------------------------------------ -// Char / Strings - typedef char char8; -#ifdef _NATIVE_WCHAR_T_DEFINED - typedef __wchar_t char16; -#elif SMTG_CPP11 - typedef char16_t char16; -#else - typedef int16 char16; -#endif - -#ifdef UNICODE - typedef char16 tchar; -#else - typedef char8 tchar; -#endif - - typedef const char8* CStringA; - typedef const char16* CStringW; - typedef const tchar* CString; - inline bool strEmpty (const tchar* str) { return (!str || *str == 0); } - inline bool str8Empty (const char8* str) { return (!str || *str == 0); } - inline bool str16Empty (const char16* str) { return (!str || *str == 0); } - - typedef const char8* FIDString; // identifier as string (used for attributes, messages) - - const FIDString kPlatformStringWin = "WIN"; - const FIDString kPlatformStringMac = "MAC"; - const FIDString kPlatformStringIOS = "IOS"; - const FIDString kPlatformStringLinux = "Linux"; -#if SMTG_OS_WINDOWS - const FIDString kPlatformString = kPlatformStringWin; -#elif SMTG_OS_IOS - const FIDString kPlatformString = kPlatformStringIOS; -#elif SMTG_OS_MACOS - const FIDString kPlatformString = kPlatformStringMac; -#elif SMTG_OS_LINUX - const FIDString kPlatformString = kPlatformStringLinux; -#endif - -//------------------------------------------------------------------------ -/** Coordinates */ - typedef int32 UCoord; - static const UCoord kMaxCoord = ((UCoord)0x7FFFFFFF); - static const UCoord kMinCoord = ((UCoord)-0x7FFFFFFF); -} // namespace Steinberg - - -//---------------------------------------------------------------------------- -/** Byte-order Conversion Macros */ -//---------------------------------------------------------------------------- -#define SWAP_32(l) { \ - unsigned char* p = (unsigned char*)& (l); \ - unsigned char t; \ - t = p[0]; p[0] = p[3]; p[3] = t; t = p[1]; p[1] = p[2]; p[2] = t; } - -#define SWAP_16(w) { \ - unsigned char* p = (unsigned char*)& (w); \ - unsigned char t; \ - t = p[0]; p[0] = p[1]; p[1] = t; } - -#define SWAP_64(i) { \ - unsigned char* p = (unsigned char*)& (i); \ - unsigned char t; \ - t = p[0]; p[0] = p[7]; p[7] = t; t = p[1]; p[1] = p[6]; p[6] = t; \ - t = p[2]; p[2] = p[5]; p[5] = t; t = p[3]; p[3] = p[4]; p[4] = t;} - -namespace Steinberg -{ - static inline void FSwap (int8&) {} - static inline void FSwap (uint8&) {} - static inline void FSwap (int16& i16) { SWAP_16 (i16) } - static inline void FSwap (uint16& i16) { SWAP_16 (i16) } - static inline void FSwap (int32& i32) { SWAP_32 (i32) } - static inline void FSwap (uint32& i32) { SWAP_32 (i32) } - static inline void FSwap (int64& i64) { SWAP_64 (i64) } - static inline void FSwap (uint64& i64) { SWAP_64 (i64) } -} - -// always inline macros (only when RELEASE is 1) -//---------------------------------------------------------------------------- -#if RELEASE - #if SMTG_OS_MACOS || SMTG_OS_LINUX - #define SMTG_ALWAYS_INLINE __inline__ __attribute__((__always_inline__)) - #define SMTG_NEVER_INLINE __attribute__((noinline)) - #elif SMTG_OS_WINDOWS - #define SMTG_ALWAYS_INLINE __forceinline - #define SMTG_NEVER_INLINE __declspec(noinline) - #endif -#endif - -#ifndef SMTG_ALWAYS_INLINE - #define SMTG_ALWAYS_INLINE inline -#endif -#ifndef SMTG_NEVER_INLINE - #define SMTG_NEVER_INLINE -#endif - -#ifndef SMTG_CPP11_STDLIBSUPPORT -// Enable this for old compilers -// #define nullptr NULL -#endif +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/ftypes.h +// Created by : Steinberg, 01/2004 +// Description : Basic data types +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "fplatform.h" + +//#define UNICODE_OFF // disable / enable unicode + +#ifdef UNICODE_OFF + #ifdef UNICODE + #undef UNICODE + #endif +#else + #define UNICODE 1 +#endif + +#ifdef UNICODE +#define _UNICODE 1 +#endif + +namespace Steinberg +{ +//----------------------------------------------------------------- +// Integral Types + typedef char int8; + typedef unsigned char uint8; + typedef unsigned char uchar; + + typedef short int16; + typedef unsigned short uint16; + +#if SMTG_OS_WINDOWS && !defined(__GNUC__) + typedef long int32; + typedef unsigned long uint32; +#else + typedef int int32; + typedef unsigned int uint32; +#endif + + static const int32 kMaxLong = 0x7fffffff; + static const int32 kMinLong = (-0x7fffffff - 1); + static const int32 kMaxInt32 = kMaxLong; + static const int32 kMinInt32 = kMinLong; + static const uint32 kMaxInt32u = 0xffffffff; + +#if SMTG_OS_WINDOWS && !defined(__GNUC__) + typedef __int64 int64; + typedef unsigned __int64 uint64; + static const int64 kMaxInt64 = 9223372036854775807i64; + static const int64 kMinInt64 = (-9223372036854775807i64 - 1); +#else + typedef long long int64; + typedef unsigned long long uint64; + static const int64 kMaxInt64 = 0x7fffffffffffffffLL; + static const int64 kMinInt64 = (-0x7fffffffffffffffLL-1); +#endif + static const uint64 kMaxInt64u = uint64 (0xffffffff) | (uint64 (0xffffffff) << 32); + +//----------------------------------------------------------------- +// other Semantic Types + typedef int64 TSize; // byte (or other) sizes + typedef int32 tresult; // result code +//----------------------------------------------------------------- + static const float kMaxFloat = 3.40282346638528860E38; + static const double kMaxDouble = 1.7976931348623158E308; + +#if SMTG_PLATFORM_64 + typedef uint64 TPtrInt; +#else + typedef uint32 TPtrInt; +#endif + +//------------------------------------------------------------------ +// Boolean + typedef uint8 TBool; + +//------------------------------------------------------------------ +// Char / Strings + typedef char char8; +#ifdef _NATIVE_WCHAR_T_DEFINED + typedef __wchar_t char16; +#elif SMTG_CPP11 + typedef char16_t char16; +#else + typedef int16 char16; +#endif + +#ifdef UNICODE + typedef char16 tchar; +#else + typedef char8 tchar; +#endif + + typedef const char8* CStringA; + typedef const char16* CStringW; + typedef const tchar* CString; + inline bool strEmpty (const tchar* str) { return (!str || *str == 0); } + inline bool str8Empty (const char8* str) { return (!str || *str == 0); } + inline bool str16Empty (const char16* str) { return (!str || *str == 0); } + + typedef const char8* FIDString; // identifier as string (used for attributes, messages) + + const FIDString kPlatformStringWin = "WIN"; + const FIDString kPlatformStringMac = "MAC"; + const FIDString kPlatformStringIOS = "IOS"; + const FIDString kPlatformStringLinux = "Linux"; +#if SMTG_OS_WINDOWS + const FIDString kPlatformString = kPlatformStringWin; +#elif SMTG_OS_IOS + const FIDString kPlatformString = kPlatformStringIOS; +#elif SMTG_OS_MACOS + const FIDString kPlatformString = kPlatformStringMac; +#elif SMTG_OS_LINUX + const FIDString kPlatformString = kPlatformStringLinux; +#endif + +//------------------------------------------------------------------------ +/** Coordinates */ + typedef int32 UCoord; + static const UCoord kMaxCoord = ((UCoord)0x7FFFFFFF); + static const UCoord kMinCoord = ((UCoord)-0x7FFFFFFF); +} // namespace Steinberg + + +//---------------------------------------------------------------------------- +/** Byte-order Conversion Macros */ +//---------------------------------------------------------------------------- +#define SWAP_32(l) { \ + unsigned char* p = (unsigned char*)& (l); \ + unsigned char t; \ + t = p[0]; p[0] = p[3]; p[3] = t; t = p[1]; p[1] = p[2]; p[2] = t; } + +#define SWAP_16(w) { \ + unsigned char* p = (unsigned char*)& (w); \ + unsigned char t; \ + t = p[0]; p[0] = p[1]; p[1] = t; } + +#define SWAP_64(i) { \ + unsigned char* p = (unsigned char*)& (i); \ + unsigned char t; \ + t = p[0]; p[0] = p[7]; p[7] = t; t = p[1]; p[1] = p[6]; p[6] = t; \ + t = p[2]; p[2] = p[5]; p[5] = t; t = p[3]; p[3] = p[4]; p[4] = t;} + +namespace Steinberg +{ + static inline void FSwap (int8&) {} + static inline void FSwap (uint8&) {} + static inline void FSwap (int16& i16) { SWAP_16 (i16) } + static inline void FSwap (uint16& i16) { SWAP_16 (i16) } + static inline void FSwap (int32& i32) { SWAP_32 (i32) } + static inline void FSwap (uint32& i32) { SWAP_32 (i32) } + static inline void FSwap (int64& i64) { SWAP_64 (i64) } + static inline void FSwap (uint64& i64) { SWAP_64 (i64) } +} + +// always inline macros (only when RELEASE is 1) +//---------------------------------------------------------------------------- +#if RELEASE + #if SMTG_OS_MACOS || SMTG_OS_LINUX + #define SMTG_ALWAYS_INLINE __inline__ __attribute__((__always_inline__)) + #define SMTG_NEVER_INLINE __attribute__((noinline)) + #elif SMTG_OS_WINDOWS + #define SMTG_ALWAYS_INLINE __forceinline + #define SMTG_NEVER_INLINE __declspec(noinline) + #endif +#endif + +#ifndef SMTG_ALWAYS_INLINE + #define SMTG_ALWAYS_INLINE inline +#endif +#ifndef SMTG_NEVER_INLINE + #define SMTG_NEVER_INLINE +#endif + +#ifndef SMTG_CPP11_STDLIBSUPPORT +// Enable this for old compilers +// #define nullptr NULL +#endif diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp index 63b73164..0419bbc4 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp @@ -1,453 +1,457 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/funknown.cpp -// Created by : Steinberg, 01/2004 -// Description : Basic Interface -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#include "funknown.h" - -#include "fstrdefs.h" - -#include - -#if SMTG_OS_WINDOWS -#include -#endif - -#if SMTG_OS_MACOS -#include -#include - -#if defined (__GNUC__) && (__GNUC__ >= 4) && !__LP64__ -// on 32 bit Mac OS X we can safely ignore the format warnings as sizeof(int) == sizeof(long) -#pragma GCC diagnostic ignored "-Wformat" -#endif - -#endif - -#if SMTG_OS_LINUX -#include -#endif - -namespace Steinberg { - -//------------------------------------------------------------------------ -#if COM_COMPATIBLE -#if SMTG_OS_WINDOWS -#define GuidStruct GUID -#else -struct GuidStruct -{ - uint32 Data1; - uint16 Data2; - uint16 Data3; - uint8 Data4[8]; -}; -#endif -#endif - -static void toString8 (char8* string, const char* data, int32 i1, int32 i2); -static void fromString8 (const char8* string, char* data, int32 i1, int32 i2); -static uint32 makeLong (uint8 b1, uint8 b2, uint8 b3, uint8 b4); - -//------------------------------------------------------------------------ -// FUnknownPrivate -//------------------------------------------------------------------------ -namespace FUnknownPrivate { -//------------------------------------------------------------------------ -int32 PLUGIN_API atomicAdd (int32& var, int32 d) -{ -#if SMTG_OS_WINDOWS - return InterlockedExchangeAdd (&var, d) + d; -#elif SMTG_OS_MACOS - return OSAtomicAdd32Barrier (d, (int32_t*)&var); -#elif SMTG_OS_LINUX - __gnu_cxx::__atomic_add (&var, d); - return var; -#else -#warning implement me! - var += d; - return var; -#endif -} -} // FUnknownPrivate - -//------------------------------------------------------------------------ -// FUID implementation -//------------------------------------------------------------------------ - -FUID::FUID () -{ - memset (data, 0, sizeof (TUID)); -} - -//------------------------------------------------------------------------ -FUID::FUID (uint32 l1, uint32 l2, uint32 l3, uint32 l4) -{ - from4Int (l1, l2, l3, l4); -} - -//------------------------------------------------------------------------ -FUID::FUID (const FUID& f) -{ - memcpy (data, f.data, sizeof (TUID)); -} - -//------------------------------------------------------------------------ -#if SMTG_CPP11_STDLIBSUPPORT -FUID::FUID (FUID&& other) { - memcpy (data, other.data, sizeof (TUID)); -} - -FUID& FUID::operator= (FUID&& other) -{ - memcpy (data, other.data, sizeof (TUID)); - return *this; -} -#endif - -//------------------------------------------------------------------------ -bool FUID::generate () -{ -#if SMTG_OS_WINDOWS - GUID guid; - HRESULT hr = CoCreateGuid (&guid); - switch (hr) - { - case RPC_S_OK: - memcpy (data, (char*)&guid, sizeof (TUID)); - return true; - - case RPC_S_UUID_LOCAL_ONLY: - default: - return false; - } - -#elif SMTG_OS_MACOS - CFUUIDRef uuid = CFUUIDCreate (kCFAllocatorDefault); - if (uuid) - { - CFUUIDBytes bytes = CFUUIDGetUUIDBytes (uuid); - memcpy (data, (char*)&bytes, sizeof (TUID)); - CFRelease (uuid); - return true; - } - return false; - -#else -#warning implement me! - return false; -#endif -} - -//------------------------------------------------------------------------ -bool FUID::isValid () const -{ - TUID nulluid = {0}; - - return memcmp (data, nulluid, sizeof (TUID)) != 0; -} - -//------------------------------------------------------------------------ -FUID& FUID::operator = (const FUID& f) -{ - memcpy (data, f.data, sizeof (TUID)); - return *this; -} - -//------------------------------------------------------------------------ -void FUID::from4Int (uint32 l1, uint32 l2, uint32 l3, uint32 l4) -{ -#if COM_COMPATIBLE - data [0] = (char)((l1 & 0x000000FF) ); - data [1] = (char)((l1 & 0x0000FF00) >> 8); - data [2] = (char)((l1 & 0x00FF0000) >> 16); - data [3] = (char)((l1 & 0xFF000000) >> 24); - data [4] = (char)((l2 & 0x00FF0000) >> 16); - data [5] = (char)((l2 & 0xFF000000) >> 24); - data [6] = (char)((l2 & 0x000000FF) ); - data [7] = (char)((l2 & 0x0000FF00) >> 8); - data [8] = (char)((l3 & 0xFF000000) >> 24); - data [9] = (char)((l3 & 0x00FF0000) >> 16); - data [10] = (char)((l3 & 0x0000FF00) >> 8); - data [11] = (char)((l3 & 0x000000FF) ); - data [12] = (char)((l4 & 0xFF000000) >> 24); - data [13] = (char)((l4 & 0x00FF0000) >> 16); - data [14] = (char)((l4 & 0x0000FF00) >> 8); - data [15] = (char)((l4 & 0x000000FF) ); -#else - data [0] = (char)((l1 & 0xFF000000) >> 24); - data [1] = (char)((l1 & 0x00FF0000) >> 16); - data [2] = (char)((l1 & 0x0000FF00) >> 8); - data [3] = (char)((l1 & 0x000000FF) ); - data [4] = (char)((l2 & 0xFF000000) >> 24); - data [5] = (char)((l2 & 0x00FF0000) >> 16); - data [6] = (char)((l2 & 0x0000FF00) >> 8); - data [7] = (char)((l2 & 0x000000FF) ); - data [8] = (char)((l3 & 0xFF000000) >> 24); - data [9] = (char)((l3 & 0x00FF0000) >> 16); - data [10] = (char)((l3 & 0x0000FF00) >> 8); - data [11] = (char)((l3 & 0x000000FF) ); - data [12] = (char)((l4 & 0xFF000000) >> 24); - data [13] = (char)((l4 & 0x00FF0000) >> 16); - data [14] = (char)((l4 & 0x0000FF00) >> 8); - data [15] = (char)((l4 & 0x000000FF) ); -#endif -} - -//------------------------------------------------------------------------ -void FUID::to4Int (uint32& d1, uint32& d2, uint32& d3, uint32& d4) const -{ - d1 = getLong1 (); - d2 = getLong2 (); - d3 = getLong3 (); - d4 = getLong4 (); -} - -//------------------------------------------------------------------------ -uint32 FUID::getLong1 () const -{ -#if COM_COMPATIBLE - return makeLong (data[3], data[2], data [1], data [0]); -#else - return makeLong (data[0], data[1], data [2], data [3]); -#endif -} - -//------------------------------------------------------------------------ -uint32 FUID::getLong2 () const -{ -#if COM_COMPATIBLE - return makeLong (data[5], data[4], data [7], data [6]); -#else - return makeLong (data[4], data[5], data [6], data [7]); -#endif -} - -//------------------------------------------------------------------------ -uint32 FUID::getLong3 () const -{ -#if COM_COMPATIBLE - return makeLong (data[8], data[9], data [10], data [11]); -#else - return makeLong (data[8], data[9], data [10], data [11]); -#endif -} - -//------------------------------------------------------------------------ -uint32 FUID::getLong4 () const -{ -#if COM_COMPATIBLE - return makeLong (data[12], data[13], data [14], data [15]); -#else - return makeLong (data[12], data[13], data [14], data [15]); -#endif -} - -//------------------------------------------------------------------------ -void FUID::toString (char8* string) const -{ - if (!string) - return; - - #if COM_COMPATIBLE - GuidStruct* g = (GuidStruct*)data; - - char8 s[17]; - Steinberg::toString8 (s, data, 8, 16); - - sprintf (string, "%08X%04X%04X%s", g->Data1, g->Data2, g->Data3, s); - #else - Steinberg::toString8 (string, data, 0, 16); - #endif -} - -//------------------------------------------------------------------------ -bool FUID::fromString (const char8* string) -{ - if (!string || !*string) - return false; - if (strlen (string) != 32) - return false; - - #if COM_COMPATIBLE - GuidStruct g; - char s[33]; - - strcpy (s, string); - s[8] = 0; - sscanf (s, "%x", &g.Data1); - strcpy (s, string + 8); - s[4] = 0; - sscanf (s, "%hx", &g.Data2); - strcpy (s, string + 12); - s[4] = 0; - sscanf (s, "%hx", &g.Data3); - - memcpy (data, &g, 8); - Steinberg::fromString8 (string + 16, data, 8, 16); - #else - Steinberg::fromString8 (string, data, 0, 16); - #endif - - return true; -} - -//------------------------------------------------------------------------ -bool FUID::fromRegistryString (const char8* string) -{ - if (!string || !*string) - return false; - if (strlen (string) != 38) - return false; - - // e.g. {c200e360-38c5-11ce-ae62-08002b2b79ef} - - #if COM_COMPATIBLE - GuidStruct g; - char8 s[10]; - - strncpy (s, string + 1, 8); - s[8] = 0; - sscanf (s, "%x", &g.Data1); - strncpy (s, string + 10, 4); - s[4] = 0; - sscanf (s, "%hx", &g.Data2); - strncpy (s, string + 15, 4); - s[4] = 0; - sscanf (s, "%hx", &g.Data3); - memcpy (data, &g, 8); - - Steinberg::fromString8 (string + 20, data, 8, 10); - Steinberg::fromString8 (string + 25, data, 10, 16); - #else - Steinberg::fromString8 (string + 1, data, 0, 4); - Steinberg::fromString8 (string + 10, data, 4, 6); - Steinberg::fromString8 (string + 15, data, 6, 8); - Steinberg::fromString8 (string + 20, data, 8, 10); - Steinberg::fromString8 (string + 25, data, 10, 16); - #endif - - return true; -} - -//------------------------------------------------------------------------ -void FUID::toRegistryString (char8* string) const -{ - // e.g. {c200e360-38c5-11ce-ae62-08002b2b79ef} - - #if COM_COMPATIBLE - GuidStruct* g = (GuidStruct*)data; - - char8 s1[5]; - Steinberg::toString8 (s1, data, 8, 10); - - char8 s2[13]; - Steinberg::toString8 (s2, data, 10, 16); - - sprintf (string, "{%08X-%04X-%04X-%s-%s}", g->Data1, g->Data2, g->Data3, s1, s2); - #else - char8 s1[9]; - Steinberg::toString8 (s1, data, 0, 4); - char8 s2[5]; - Steinberg::toString8 (s2, data, 4, 6); - char8 s3[5]; - Steinberg::toString8 (s3, data, 6, 8); - char8 s4[5]; - Steinberg::toString8 (s4, data, 8, 10); - char8 s5[13]; - Steinberg::toString8 (s5, data, 10, 16); - - sprintf (string, "{%s-%s-%s-%s-%s}", s1, s2, s3, s4, s5); - #endif -} - -//------------------------------------------------------------------------ -void FUID::print (char8* string, int32 style) const -{ - if (!string) // no string: debug output - { - char8 str [128]; - print (str, style); - -#if SMTG_OS_WINDOWS - OutputDebugStringA (str); - OutputDebugStringA ("\n"); -#else - fprintf (stdout, "%s\n", str); -#endif - return; - } - - uint32 l1, l2, l3, l4; - to4Int (l1, l2, l3, l4); - - switch (style) - { - case kINLINE_UID: - sprintf (string, "INLINE_UID (0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, l2, l3, l4); - break; - - case kDECLARE_UID: - sprintf (string, "DECLARE_UID (0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, l2, l3, l4); - break; - - case kFUID: - sprintf (string, "FUID (0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, l2, l3, l4); - break; - - case kCLASS_UID: - default: - sprintf (string, "DECLARE_CLASS_IID (Interface, 0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, l2, l3, l4); - break; - } -} - -//------------------------------------------------------------------------ -// helpers -//------------------------------------------------------------------------ -static uint32 makeLong (uint8 b1, uint8 b2, uint8 b3, uint8 b4) -{ - return (uint32(b1) << 24) | (uint32(b2) << 16) | (uint32(b3) << 8) | uint32(b4); -} - -//------------------------------------------------------------------------ -static void toString8 (char8* string, const char* data, int32 i1, int32 i2) -{ - *string = 0; - for (int32 i = i1; i < i2; i++) - { - char8 s[3]; - sprintf (s, "%02X", (uint8)data[i]); - strcat (string, s); - } -} - -//------------------------------------------------------------------------ -static void fromString8 (const char8* string, char* data, int32 i1, int32 i2) -{ - for (int32 i = i1; i < i2; i++) - { - char8 s[3]; - s[0] = *string++; - s[1] = *string++; - s[2] = 0; - - int32 d = 0; - sscanf (s, "%2x", &d); - data[i] = (char)d; - } -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/funknown.cpp +// Created by : Steinberg, 01/2004 +// Description : Basic Interface +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#include "funknown.h" + +#include "fstrdefs.h" + +#include + +#if SMTG_OS_WINDOWS +#include +#endif + +#if SMTG_OS_MACOS +#include +#include + +#if defined(__GNUC__) && (__GNUC__ >= 4) && !__LP64__ +// on 32 bit Mac OS X we can safely ignore the format warnings as sizeof(int) == sizeof(long) +#pragma GCC diagnostic ignored "-Wformat" +#endif + +#endif + +#if SMTG_OS_LINUX +#include +#endif + +namespace Steinberg { + +//------------------------------------------------------------------------ +#if COM_COMPATIBLE +#if SMTG_OS_WINDOWS +#define GuidStruct GUID +#else +struct GuidStruct +{ + uint32 Data1; + uint16 Data2; + uint16 Data3; + uint8 Data4[8]; +}; +#endif +#endif + +static void toString8 (char8* string, const char* data, int32 i1, int32 i2); +static void fromString8 (const char8* string, char* data, int32 i1, int32 i2); +static uint32 makeLong (uint8 b1, uint8 b2, uint8 b3, uint8 b4); + +//------------------------------------------------------------------------ +// FUnknownPrivate +//------------------------------------------------------------------------ +namespace FUnknownPrivate { +//------------------------------------------------------------------------ +int32 PLUGIN_API atomicAdd (int32& var, int32 d) +{ +#if SMTG_OS_WINDOWS + return InterlockedExchangeAdd (&var, d) + d; +#elif SMTG_OS_MACOS + return OSAtomicAdd32Barrier (d, (int32_t*)&var); +#elif SMTG_OS_LINUX + __gnu_cxx::__atomic_add (&var, d); + return var; +#else +#warning implement me! + var += d; + return var; +#endif +} +} // FUnknownPrivate + +//------------------------------------------------------------------------ +// FUID implementation +//------------------------------------------------------------------------ + +FUID::FUID () +{ + memset (data, 0, sizeof (TUID)); +} + +//------------------------------------------------------------------------ +FUID::FUID (uint32 l1, uint32 l2, uint32 l3, uint32 l4) +{ + from4Int (l1, l2, l3, l4); +} + +//------------------------------------------------------------------------ +FUID::FUID (const FUID& f) +{ + memcpy (data, f.data, sizeof (TUID)); +} + +//------------------------------------------------------------------------ +#if SMTG_CPP11_STDLIBSUPPORT +FUID::FUID (FUID&& other) +{ + memcpy (data, other.data, sizeof (TUID)); +} + +FUID& FUID::operator= (FUID&& other) +{ + memcpy (data, other.data, sizeof (TUID)); + return *this; +} +#endif + +//------------------------------------------------------------------------ +bool FUID::generate () +{ +#if SMTG_OS_WINDOWS +#if defined(_M_ARM64) || defined(_M_ARM) + //#warning implement me! + return false; +#else + GUID guid; + HRESULT hr = CoCreateGuid (&guid); + switch (hr) + { + case RPC_S_OK: memcpy (data, (char*)&guid, sizeof (TUID)); return true; + + case RPC_S_UUID_LOCAL_ONLY: + default: return false; + } +#endif + +#elif SMTG_OS_MACOS + CFUUIDRef uuid = CFUUIDCreate (kCFAllocatorDefault); + if (uuid) + { + CFUUIDBytes bytes = CFUUIDGetUUIDBytes (uuid); + memcpy (data, (char*)&bytes, sizeof (TUID)); + CFRelease (uuid); + return true; + } + return false; + +#else +#warning implement me! + return false; +#endif +} + +//------------------------------------------------------------------------ +bool FUID::isValid () const +{ + TUID nulluid = {0}; + + return memcmp (data, nulluid, sizeof (TUID)) != 0; +} + +//------------------------------------------------------------------------ +FUID& FUID::operator= (const FUID& f) +{ + memcpy (data, f.data, sizeof (TUID)); + return *this; +} + +//------------------------------------------------------------------------ +void FUID::from4Int (uint32 l1, uint32 l2, uint32 l3, uint32 l4) +{ +#if COM_COMPATIBLE + data [0] = (char)((l1 & 0x000000FF) ); + data [1] = (char)((l1 & 0x0000FF00) >> 8); + data [2] = (char)((l1 & 0x00FF0000) >> 16); + data [3] = (char)((l1 & 0xFF000000) >> 24); + data [4] = (char)((l2 & 0x00FF0000) >> 16); + data [5] = (char)((l2 & 0xFF000000) >> 24); + data [6] = (char)((l2 & 0x000000FF) ); + data [7] = (char)((l2 & 0x0000FF00) >> 8); + data [8] = (char)((l3 & 0xFF000000) >> 24); + data [9] = (char)((l3 & 0x00FF0000) >> 16); + data [10] = (char)((l3 & 0x0000FF00) >> 8); + data [11] = (char)((l3 & 0x000000FF) ); + data [12] = (char)((l4 & 0xFF000000) >> 24); + data [13] = (char)((l4 & 0x00FF0000) >> 16); + data [14] = (char)((l4 & 0x0000FF00) >> 8); + data [15] = (char)((l4 & 0x000000FF) ); +#else + data [0] = (char)((l1 & 0xFF000000) >> 24); + data [1] = (char)((l1 & 0x00FF0000) >> 16); + data [2] = (char)((l1 & 0x0000FF00) >> 8); + data [3] = (char)((l1 & 0x000000FF) ); + data [4] = (char)((l2 & 0xFF000000) >> 24); + data [5] = (char)((l2 & 0x00FF0000) >> 16); + data [6] = (char)((l2 & 0x0000FF00) >> 8); + data [7] = (char)((l2 & 0x000000FF) ); + data [8] = (char)((l3 & 0xFF000000) >> 24); + data [9] = (char)((l3 & 0x00FF0000) >> 16); + data [10] = (char)((l3 & 0x0000FF00) >> 8); + data [11] = (char)((l3 & 0x000000FF) ); + data [12] = (char)((l4 & 0xFF000000) >> 24); + data [13] = (char)((l4 & 0x00FF0000) >> 16); + data [14] = (char)((l4 & 0x0000FF00) >> 8); + data [15] = (char)((l4 & 0x000000FF) ); +#endif +} + +//------------------------------------------------------------------------ +void FUID::to4Int (uint32& d1, uint32& d2, uint32& d3, uint32& d4) const +{ + d1 = getLong1 (); + d2 = getLong2 (); + d3 = getLong3 (); + d4 = getLong4 (); +} + +//------------------------------------------------------------------------ +uint32 FUID::getLong1 () const +{ +#if COM_COMPATIBLE + return makeLong (data[3], data[2], data[1], data[0]); +#else + return makeLong (data[0], data[1], data[2], data[3]); +#endif +} + +//------------------------------------------------------------------------ +uint32 FUID::getLong2 () const +{ +#if COM_COMPATIBLE + return makeLong (data[5], data[4], data[7], data[6]); +#else + return makeLong (data[4], data[5], data[6], data[7]); +#endif +} + +//------------------------------------------------------------------------ +uint32 FUID::getLong3 () const +{ +#if COM_COMPATIBLE + return makeLong (data[8], data[9], data[10], data[11]); +#else + return makeLong (data[8], data[9], data[10], data[11]); +#endif +} + +//------------------------------------------------------------------------ +uint32 FUID::getLong4 () const +{ +#if COM_COMPATIBLE + return makeLong (data[12], data[13], data[14], data[15]); +#else + return makeLong (data[12], data[13], data[14], data[15]); +#endif +} + +//------------------------------------------------------------------------ +void FUID::toString (char8* string) const +{ + if (!string) + return; + +#if COM_COMPATIBLE + GuidStruct* g = (GuidStruct*)data; + + char8 s[17]; + Steinberg::toString8 (s, data, 8, 16); + + sprintf (string, "%08X%04X%04X%s", g->Data1, g->Data2, g->Data3, s); +#else + Steinberg::toString8 (string, data, 0, 16); +#endif +} + +//------------------------------------------------------------------------ +bool FUID::fromString (const char8* string) +{ + if (!string || !*string) + return false; + if (strlen (string) != 32) + return false; + +#if COM_COMPATIBLE + GuidStruct g; + char s[33]; + + strcpy (s, string); + s[8] = 0; + sscanf (s, "%x", &g.Data1); + strcpy (s, string + 8); + s[4] = 0; + sscanf (s, "%hx", &g.Data2); + strcpy (s, string + 12); + s[4] = 0; + sscanf (s, "%hx", &g.Data3); + + memcpy (data, &g, 8); + Steinberg::fromString8 (string + 16, data, 8, 16); +#else + Steinberg::fromString8 (string, data, 0, 16); +#endif + + return true; +} + +//------------------------------------------------------------------------ +bool FUID::fromRegistryString (const char8* string) +{ + if (!string || !*string) + return false; + if (strlen (string) != 38) + return false; + +// e.g. {c200e360-38c5-11ce-ae62-08002b2b79ef} + +#if COM_COMPATIBLE + GuidStruct g; + char8 s[10]; + + strncpy (s, string + 1, 8); + s[8] = 0; + sscanf (s, "%x", &g.Data1); + strncpy (s, string + 10, 4); + s[4] = 0; + sscanf (s, "%hx", &g.Data2); + strncpy (s, string + 15, 4); + s[4] = 0; + sscanf (s, "%hx", &g.Data3); + memcpy (data, &g, 8); + + Steinberg::fromString8 (string + 20, data, 8, 10); + Steinberg::fromString8 (string + 25, data, 10, 16); +#else + Steinberg::fromString8 (string + 1, data, 0, 4); + Steinberg::fromString8 (string + 10, data, 4, 6); + Steinberg::fromString8 (string + 15, data, 6, 8); + Steinberg::fromString8 (string + 20, data, 8, 10); + Steinberg::fromString8 (string + 25, data, 10, 16); +#endif + + return true; +} + +//------------------------------------------------------------------------ +void FUID::toRegistryString (char8* string) const +{ +// e.g. {c200e360-38c5-11ce-ae62-08002b2b79ef} + +#if COM_COMPATIBLE + GuidStruct* g = (GuidStruct*)data; + + char8 s1[5]; + Steinberg::toString8 (s1, data, 8, 10); + + char8 s2[13]; + Steinberg::toString8 (s2, data, 10, 16); + + sprintf (string, "{%08X-%04X-%04X-%s-%s}", g->Data1, g->Data2, g->Data3, s1, s2); +#else + char8 s1[9]; + Steinberg::toString8 (s1, data, 0, 4); + char8 s2[5]; + Steinberg::toString8 (s2, data, 4, 6); + char8 s3[5]; + Steinberg::toString8 (s3, data, 6, 8); + char8 s4[5]; + Steinberg::toString8 (s4, data, 8, 10); + char8 s5[13]; + Steinberg::toString8 (s5, data, 10, 16); + + sprintf (string, "{%s-%s-%s-%s-%s}", s1, s2, s3, s4, s5); +#endif +} + +//------------------------------------------------------------------------ +void FUID::print (char8* string, int32 style) const +{ + if (!string) // no string: debug output + { + char8 str[128]; + print (str, style); + +#if SMTG_OS_WINDOWS + OutputDebugStringA (str); + OutputDebugStringA ("\n"); +#else + fprintf (stdout, "%s\n", str); +#endif + return; + } + + uint32 l1, l2, l3, l4; + to4Int (l1, l2, l3, l4); + + switch (style) + { + case kINLINE_UID: + sprintf (string, "INLINE_UID (0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, l2, l3, l4); + break; + + case kDECLARE_UID: + sprintf (string, "DECLARE_UID (0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, l2, l3, l4); + break; + + case kFUID: + sprintf (string, "FUID (0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, l2, l3, l4); + break; + + case kCLASS_UID: + default: + sprintf (string, "DECLARE_CLASS_IID (Interface, 0x%08X, 0x%08X, 0x%08X, 0x%08X)", l1, + l2, l3, l4); + break; + } +} + +//------------------------------------------------------------------------ +// helpers +//------------------------------------------------------------------------ +static uint32 makeLong (uint8 b1, uint8 b2, uint8 b3, uint8 b4) +{ + return (uint32 (b1) << 24) | (uint32 (b2) << 16) | (uint32 (b3) << 8) | uint32 (b4); +} + +//------------------------------------------------------------------------ +static void toString8 (char8* string, const char* data, int32 i1, int32 i2) +{ + *string = 0; + for (int32 i = i1; i < i2; i++) + { + char8 s[3]; + sprintf (s, "%02X", (uint8)data[i]); + strcat (string, s); + } +} + +//------------------------------------------------------------------------ +static void fromString8 (const char8* string, char* data, int32 i1, int32 i2) +{ + for (int32 i = i1; i < i2; i++) + { + char8 s[3]; + s[0] = *string++; + s[1] = *string++; + s[2] = 0; + + int32 d = 0; + sscanf (s, "%2x", &d); + data[i] = (char)d; + } +} + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h index 21ff5981..0bcd018b 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.h @@ -1,466 +1,475 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/funknown.h -// Created by : Steinberg, 01/2004 -// Description : Basic Interface -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/fplatform.h" -#include "pluginterfaces/base/ftypes.h" -#include "pluginterfaces/base/smartpointer.h" -#include - -//------------------------------------------------------------------------ -/*! \defgroup pluginBase Basic Interfaces -*/ -//------------------------------------------------------------------------ - -//------------------------------------------------------------------------ -// Unique Identifier macros -//------------------------------------------------------------------------ - -#if COM_COMPATIBLE -#define INLINE_UID(l1, l2, l3, l4) \ -{ \ - (::Steinberg::int8)((l1 & 0x000000FF) ), (::Steinberg::int8)((l1 & 0x0000FF00) >> 8), \ - (::Steinberg::int8)((l1 & 0x00FF0000) >> 16), (::Steinberg::int8)((l1 & 0xFF000000) >> 24), \ - (::Steinberg::int8)((l2 & 0x00FF0000) >> 16), (::Steinberg::int8)((l2 & 0xFF000000) >> 24), \ - (::Steinberg::int8)((l2 & 0x000000FF) ), (::Steinberg::int8)((l2 & 0x0000FF00) >> 8), \ - (::Steinberg::int8)((l3 & 0xFF000000) >> 24), (::Steinberg::int8)((l3 & 0x00FF0000) >> 16), \ - (::Steinberg::int8)((l3 & 0x0000FF00) >> 8), (::Steinberg::int8)((l3 & 0x000000FF) ), \ - (::Steinberg::int8)((l4 & 0xFF000000) >> 24), (::Steinberg::int8)((l4 & 0x00FF0000) >> 16), \ - (::Steinberg::int8)((l4 & 0x0000FF00) >> 8), (::Steinberg::int8)((l4 & 0x000000FF) ) \ -} -#else -#define INLINE_UID(l1, l2, l3, l4) \ -{ \ - (::Steinberg::int8)((l1 & 0xFF000000) >> 24), (::Steinberg::int8)((l1 & 0x00FF0000) >> 16), \ - (::Steinberg::int8)((l1 & 0x0000FF00) >> 8), (::Steinberg::int8)((l1 & 0x000000FF) ), \ - (::Steinberg::int8)((l2 & 0xFF000000) >> 24), (::Steinberg::int8)((l2 & 0x00FF0000) >> 16), \ - (::Steinberg::int8)((l2 & 0x0000FF00) >> 8), (::Steinberg::int8)((l2 & 0x000000FF) ), \ - (::Steinberg::int8)((l3 & 0xFF000000) >> 24), (::Steinberg::int8)((l3 & 0x00FF0000) >> 16), \ - (::Steinberg::int8)((l3 & 0x0000FF00) >> 8), (::Steinberg::int8)((l3 & 0x000000FF) ), \ - (::Steinberg::int8)((l4 & 0xFF000000) >> 24), (::Steinberg::int8)((l4 & 0x00FF0000) >> 16), \ - (::Steinberg::int8)((l4 & 0x0000FF00) >> 8), (::Steinberg::int8)((l4 & 0x000000FF) ) \ -} -#endif - -//------------------------------------------------------------------------ -#define DECLARE_UID(name, l1, l2, l3, l4) \ - ::Steinberg::TUID name = INLINE_UID (l1, l2, l3, l4); - -//------------------------------------------------------------------------ -#define EXTERN_UID(name) \ - extern const ::Steinberg::TUID name; - - -#ifdef INIT_CLASS_IID -#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4) static const ::Steinberg::TUID ClassName##_iid = INLINE_UID (l1, l2, l3, l4); \ -const ::Steinberg::FUID ClassName::iid (ClassName##_iid); -#else -#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4) static const ::Steinberg::TUID ClassName##_iid = INLINE_UID (l1, l2, l3, l4); -#endif -#define DEF_CLASS_IID(ClassName) const ::Steinberg::FUID ClassName::iid (ClassName##_iid); - -#define INLINE_UID_OF(ClassName) ClassName##_iid - -#define INLINE_UID_FROM_FUID(x) INLINE_UID(x.getLong1 (), x.getLong2 (), x.getLong3 (), x.getLong4 ()) - -//------------------------------------------------------------------------ -// FUnknown implementation macros -//------------------------------------------------------------------------ - -#define DECLARE_FUNKNOWN_METHODS \ -public: \ - virtual ::Steinberg::tresult PLUGIN_API queryInterface (const ::Steinberg::TUID _iid, void** obj) SMTG_OVERRIDE; \ - virtual ::Steinberg::uint32 PLUGIN_API addRef () SMTG_OVERRIDE; \ - virtual ::Steinberg::uint32 PLUGIN_API release () SMTG_OVERRIDE; \ -protected : \ - ::Steinberg::int32 __funknownRefCount; \ -public: - -//------------------------------------------------------------------------ - -#define DELEGATE_REFCOUNT(ClassName) \ -public: \ - virtual ::Steinberg::uint32 PLUGIN_API addRef () SMTG_OVERRIDE { return ClassName::addRef (); } \ - virtual ::Steinberg::uint32 PLUGIN_API release () SMTG_OVERRIDE { return ClassName::release (); } - -//------------------------------------------------------------------------ -#define IMPLEMENT_REFCOUNT(ClassName) \ -::Steinberg::uint32 PLUGIN_API ClassName::addRef () \ -{ \ - return ::Steinberg::FUnknownPrivate::atomicAdd (__funknownRefCount, 1); \ -} \ -::Steinberg::uint32 PLUGIN_API ClassName::release () \ -{ \ - if (::Steinberg::FUnknownPrivate::atomicAdd (__funknownRefCount, -1) == 0) \ - { \ - delete this; \ - return 0; \ - } \ - return __funknownRefCount; \ -} - -//------------------------------------------------------------------------ -#define FUNKNOWN_CTOR { __funknownRefCount = 1; } -#define FUNKNOWN_DTOR - -//------------------------------------------------------------------------ -#define QUERY_INTERFACE(iid, obj, InterfaceIID, InterfaceName) \ -if (::Steinberg::FUnknownPrivate::iidEqual (iid, InterfaceIID)) \ -{ \ - addRef (); \ - *obj = static_cast< InterfaceName* >(this); \ - return ::Steinberg::kResultOk; \ -} - -//------------------------------------------------------------------------ -#define IMPLEMENT_QUERYINTERFACE(ClassName, InterfaceName, ClassIID) \ -::Steinberg::tresult PLUGIN_API ClassName::queryInterface (const ::Steinberg::TUID _iid, void** obj) \ -{ \ - QUERY_INTERFACE (_iid, obj, ::Steinberg::FUnknown::iid, InterfaceName) \ - QUERY_INTERFACE (_iid, obj, ClassIID, InterfaceName) \ - *obj = nullptr; \ - return ::Steinberg::kNoInterface; \ -} - -//------------------------------------------------------------------------ -#define IMPLEMENT_FUNKNOWN_METHODS(ClassName,InterfaceName,ClassIID) \ - IMPLEMENT_REFCOUNT (ClassName) \ - IMPLEMENT_QUERYINTERFACE (ClassName, InterfaceName, ClassIID) - -//------------------------------------------------------------------------ -// Result Codes -//------------------------------------------------------------------------ - -namespace Steinberg { - -//------------------------------------------------------------------------ -#if COM_COMPATIBLE -#if SMTG_OS_WINDOWS -enum -{ - kNoInterface = static_cast(0x80004002L), // E_NOINTERFACE - kResultOk = static_cast(0x00000000L), // S_OK - kResultTrue = kResultOk, - kResultFalse = static_cast(0x00000001L), // S_FALSE - kInvalidArgument = static_cast(0x80070057L), // E_INVALIDARG - kNotImplemented = static_cast(0x80004001L), // E_NOTIMPL - kInternalError = static_cast(0x80004005L), // E_FAIL - kNotInitialized = static_cast(0x8000FFFFL), // E_UNEXPECTED - kOutOfMemory = static_cast(0x8007000EL) // E_OUTOFMEMORY -}; -#else -enum -{ - kNoInterface = static_cast(0x80000004L), // E_NOINTERFACE - kResultOk = static_cast(0x00000000L), // S_OK - kResultTrue = kResultOk, - kResultFalse = static_cast(0x00000001L), // S_FALSE - kInvalidArgument = static_cast(0x80000003L), // E_INVALIDARG - kNotImplemented = static_cast(0x80000001L), // E_NOTIMPL - kInternalError = static_cast(0x80000008L), // E_FAIL - kNotInitialized = static_cast(0x8000FFFFL), // E_UNEXPECTED - kOutOfMemory = static_cast(0x80000002L) // E_OUTOFMEMORY -}; -#endif -#else -enum -{ - kNoInterface = -1, - kResultOk, - kResultTrue = kResultOk, - kResultFalse, - kInvalidArgument, - kNotImplemented, - kInternalError, - kNotInitialized, - kOutOfMemory -}; -#endif - -//------------------------------------------------------------------------ -typedef int64 LARGE_INT; // obsolete - -//------------------------------------------------------------------------ -// FUID class declaration -//------------------------------------------------------------------------ -typedef int8 TUID[16]; ///< plain UID type - -//------------------------------------------------------------------------ -/* FUnknown private */ -namespace FUnknownPrivate { -SMTG_ALWAYS_INLINE bool iidEqual (const void* iid1, const void* iid2) -{ - const uint64* p1 = reinterpret_cast (iid1); - const uint64* p2 = reinterpret_cast (iid2); - return p1[0] == p2[0] && p1[1] == p2[1]; -} - -int32 PLUGIN_API atomicAdd (int32& value, int32 amount); -} - -//------------------------------------------------------------------------ -/** Handling 16 Byte Globally Unique Identifiers. -\ingroup pluginBase - -Each interface declares its identifier as static member inside the interface -namespace (e.g. FUnknown::iid). -*/ -//------------------------------------------------------------------------ -class FUID -{ -public: -//------------------------------------------------------------------------ - FUID (); - FUID (uint32 l1, uint32 l2, uint32 l3, uint32 l4); - FUID (const FUID&); - virtual ~FUID () {} - -#if SMTG_CPP11_STDLIBSUPPORT - FUID (FUID&& other); - FUID& operator= (FUID&& other); -#endif - - /** Generates a new Unique Identifier (UID). - Will return true for success. If the return value is false, either no - UID is generated or the UID is not guaranteed to be unique worldwide. */ - bool generate (); - - /** Checks if the UID data is valid. - The default constructor initializes the memory with zeros. */ - bool isValid () const; - - FUID& operator = (const FUID& f); - bool operator == (const FUID& f) const { return ::Steinberg::FUnknownPrivate::iidEqual (data, f.data); } - bool operator < (const FUID& f) const { return memcmp (data, f.data, sizeof (TUID)) < 0; } - bool operator != (const FUID& f) const { return !::Steinberg::FUnknownPrivate::iidEqual (data, f.data); } - - - uint32 getLong1 () const; - uint32 getLong2 () const; - uint32 getLong3 () const; - uint32 getLong4 () const; - - void from4Int (uint32 d1, uint32 d2, uint32 d3, uint32 d4); - void to4Int (uint32& d1, uint32& d2, uint32& d3, uint32& d4) const; - - typedef char8 String [64]; - - /** Converts UID to a string. - The string will be 32 characters long, representing the hexadecimal values - of each data byte (e.g. "9127BE30160E4BB69966670AA6087880"). - - Typical use-case is: - \code - char8[33] strUID = {0}; - FUID uid; - if (uid.generate ()) - uid.toString (strUID); - \endcode - */ - void toString (char8* string) const; - - /** Sets the UID data from a string. - The string has to be 32 characters long, where each character-pair is - the ASCII-encoded hexadecimal value of the corresponding data byte. */ - bool fromString (const char8* string); - - /** Converts UID to a string in Microsoft® OLE format. - (e.g. "{c200e360-38c5-11ce-ae62-08002b2b79ef}") */ - void toRegistryString (char8* string) const; - - /** Sets the UID data from a string in Microsoft® OLE format. */ - bool fromRegistryString (const char8* string); - - enum UIDPrintStyle - { - kINLINE_UID, ///< "INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000)" - kDECLARE_UID, ///< "DECLARE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000)" - kFUID, ///< "FUID (0x00000000, 0x00000000, 0x00000000, 0x00000000)" - kCLASS_UID ///< "DECLARE_CLASS_IID (Interface, 0x00000000, 0x00000000, 0x00000000, 0x00000000)" - }; - /** Prints the UID to a string (or debug output if string is NULL). - \param string is the output string if not NULL. - \param style can be chosen from the FUID::UIDPrintStyle enumeration. */ - void print (char8* string = 0, int32 style = kINLINE_UID) const; - - template - inline explicit FUID (const int8 (&uid)[N]) - { -#if SMTG_CPP11_STDLIBSUPPORT - static_assert (N == sizeof (TUID), "only TUID allowed"); -#endif - memcpy (data, uid, sizeof (TUID)); - } - inline void toTUID (TUID result) const { memcpy (result, data, sizeof (TUID)); } - inline operator const TUID& () const { return data; } - inline const TUID& toTUID () const { return data; } - - static FUID fromTUID (const TUID uid) - { - FUID res; - if (uid) - memcpy (res.data, uid, sizeof (TUID)); - return res; - } - -//------------------------------------------------------------------------ -protected: - TUID data; -}; - -#if SMTG_CPP11_STDLIBSUPPORT -template -inline bool operator== (const FUID& f1, T f2) -{ - static_assert ( - std::is_same::type, FUID>::value, - "Do not compare a FUID with a TUID directly. Either convert the TUID to a FUID and compare them or use FUnknownPrivate::iidEqual"); - return f1.operator== (f2); -} -#endif - -//------------------------------------------------------------------------ -// FUnknown -//------------------------------------------------------------------------ -/** The basic interface of all interfaces. -\ingroup pluginBase - -- The FUnknown::queryInterface method is used to retrieve pointers to other - interfaces of the object. -- FUnknown::addRef and FUnknown::release manage the lifetime of the object. - If no more references exist, the object is destroyed in memory. - -Interfaces are identified by 16 byte Globally Unique Identifiers. -The SDK provides a class called FUID for this purpose. - -\ref howtoClass */ -//------------------------------------------------------------------------ -class FUnknown -{ -public: -//------------------------------------------------------------------------ - /** Query for a pointer to the specified interface. - Returns kResultOk on success or kNoInterface if the object does not implement the interface. - The object has to call addRef when returning an interface. - \param _iid : (in) 16 Byte interface identifier (-> FUID) - \param obj : (out) On return, *obj points to the requested interface */ - virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0; - - /** Adds a reference and return the new reference count. - \par Remarks: - The initial reference count after creating an object is 1. */ - virtual uint32 PLUGIN_API addRef () = 0; - - /** Releases a reference and return the new reference count. - If the reference count reaches zero, the object will be destroyed in memory. */ - virtual uint32 PLUGIN_API release () = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -//------------------------------------------------------------------------ -}; - -DECLARE_CLASS_IID (FUnknown, 0x00000000, 0x00000000, 0xC0000000, 0x00000046) - -//------------------------------------------------------------------------ -// FUnknownPtr -//------------------------------------------------------------------------ -/** FUnknownPtr - automatic interface conversion and smart pointer in one. - This template class can be used for interface conversion like this: - \code - IPtr path = owned (FHostCreate (IPath, hostClasses)); - FUnknownPtr path2 (path); // does a query interface for IPath2 - if (path2) - ... - \endcode -*/ -//------------------------------------------------------------------------ -template -class FUnknownPtr : public IPtr -{ -public: -//------------------------------------------------------------------------ - inline FUnknownPtr (FUnknown* unknown); // query interface - inline FUnknownPtr (const FUnknownPtr& p) : IPtr (p) {} - inline FUnknownPtr () {} - - inline FUnknownPtr& operator=(const FUnknownPtr& p) {IPtr::operator=(p); return *this;} - inline I* operator=(FUnknown* unknown); - inline I* getInterface () { return this->ptr; } -}; - -//------------------------------------------------------------------------ -template -inline FUnknownPtr::FUnknownPtr (FUnknown* unknown) -{ - if (unknown && unknown->queryInterface (I::iid, (void**)&this->ptr) != kResultOk) - this->ptr = 0; -} - -//------------------------------------------------------------------------ -template -inline I* FUnknownPtr::operator=(FUnknown* unknown) -{ - I* newPtr = 0; - if (unknown && unknown->queryInterface (I::iid, (void**)&newPtr) == kResultOk) - { - OPtr rel (newPtr); - return IPtr::operator=(newPtr); - } - - return IPtr::operator=(0); -} - - -//------------------------------------------------------------------------ -// FReleaser (obsolete) -//------------------------------------------------------------------------ -/** Release an interface using automatic object (obsolete). -This class is obsolete and is only kept for compatibility. -The replacement for FReleaser is OPtr. - -Usage example with FReleaser: - \code - void someFunction () - { - IPath* path = pathCreateMethod (); - FReleaser releaser (path); - .... do something with path... - .... path not used anymore, releaser will destroy it when leaving function scope - } - \endcode -Usage example with OPtr: - \code - void someFunction () - { - OPtr path = pathCreateMethod (); - .... do something with path... - .... path not used anymore, OPtr will destroy it when leaving function scope - } - \endcode -*/ -//------------------------------------------------------------------------ -struct FReleaser -{ - FReleaser (FUnknown* u): u (u) {} - ~FReleaser () { if (u) u->release (); } - - FUnknown* u; -}; - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/funknown.h +// Created by : Steinberg, 01/2004 +// Description : Basic Interface +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/fplatform.h" +#include "pluginterfaces/base/ftypes.h" +#include "pluginterfaces/base/smartpointer.h" +#include + +//------------------------------------------------------------------------ +/*! \defgroup pluginBase Basic Interfaces +*/ +//------------------------------------------------------------------------ + +//------------------------------------------------------------------------ +// Unique Identifier macros +//------------------------------------------------------------------------ + +#if COM_COMPATIBLE +#define INLINE_UID(l1, l2, l3, l4) \ +{ \ + (::Steinberg::int8)((l1 & 0x000000FF) ), (::Steinberg::int8)((l1 & 0x0000FF00) >> 8), \ + (::Steinberg::int8)((l1 & 0x00FF0000) >> 16), (::Steinberg::int8)((l1 & 0xFF000000) >> 24), \ + (::Steinberg::int8)((l2 & 0x00FF0000) >> 16), (::Steinberg::int8)((l2 & 0xFF000000) >> 24), \ + (::Steinberg::int8)((l2 & 0x000000FF) ), (::Steinberg::int8)((l2 & 0x0000FF00) >> 8), \ + (::Steinberg::int8)((l3 & 0xFF000000) >> 24), (::Steinberg::int8)((l3 & 0x00FF0000) >> 16), \ + (::Steinberg::int8)((l3 & 0x0000FF00) >> 8), (::Steinberg::int8)((l3 & 0x000000FF) ), \ + (::Steinberg::int8)((l4 & 0xFF000000) >> 24), (::Steinberg::int8)((l4 & 0x00FF0000) >> 16), \ + (::Steinberg::int8)((l4 & 0x0000FF00) >> 8), (::Steinberg::int8)((l4 & 0x000000FF) ) \ +} +#else +#define INLINE_UID(l1, l2, l3, l4) \ +{ \ + (::Steinberg::int8)((l1 & 0xFF000000) >> 24), (::Steinberg::int8)((l1 & 0x00FF0000) >> 16), \ + (::Steinberg::int8)((l1 & 0x0000FF00) >> 8), (::Steinberg::int8)((l1 & 0x000000FF) ), \ + (::Steinberg::int8)((l2 & 0xFF000000) >> 24), (::Steinberg::int8)((l2 & 0x00FF0000) >> 16), \ + (::Steinberg::int8)((l2 & 0x0000FF00) >> 8), (::Steinberg::int8)((l2 & 0x000000FF) ), \ + (::Steinberg::int8)((l3 & 0xFF000000) >> 24), (::Steinberg::int8)((l3 & 0x00FF0000) >> 16), \ + (::Steinberg::int8)((l3 & 0x0000FF00) >> 8), (::Steinberg::int8)((l3 & 0x000000FF) ), \ + (::Steinberg::int8)((l4 & 0xFF000000) >> 24), (::Steinberg::int8)((l4 & 0x00FF0000) >> 16), \ + (::Steinberg::int8)((l4 & 0x0000FF00) >> 8), (::Steinberg::int8)((l4 & 0x000000FF) ) \ +} +#endif + +//------------------------------------------------------------------------ +#define DECLARE_UID(name, l1, l2, l3, l4) ::Steinberg::TUID name = INLINE_UID (l1, l2, l3, l4); + +//------------------------------------------------------------------------ +#define EXTERN_UID(name) extern const ::Steinberg::TUID name; + +#ifdef INIT_CLASS_IID +#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4) \ + static const ::Steinberg::TUID ClassName##_iid = INLINE_UID (l1, l2, l3, l4); \ + \ +const ::Steinberg::FUID ClassName::iid (ClassName##_iid); +#else +#define DECLARE_CLASS_IID(ClassName, l1, l2, l3, l4) \ + static const ::Steinberg::TUID ClassName##_iid = INLINE_UID (l1, l2, l3, l4); +#endif + +#define DEF_CLASS_IID(ClassName) const ::Steinberg::FUID ClassName::iid (ClassName##_iid); + +#define INLINE_UID_OF(ClassName) ClassName##_iid + +#define INLINE_UID_FROM_FUID(x) \ + INLINE_UID (x.getLong1 (), x.getLong2 (), x.getLong3 (), x.getLong4 ()) + +//------------------------------------------------------------------------ +// FUnknown implementation macros +//------------------------------------------------------------------------ + +#define DECLARE_FUNKNOWN_METHODS \ +public: \ + virtual ::Steinberg::tresult PLUGIN_API queryInterface (const ::Steinberg::TUID _iid, void** obj) SMTG_OVERRIDE; \ + virtual ::Steinberg::uint32 PLUGIN_API addRef () SMTG_OVERRIDE; \ + virtual ::Steinberg::uint32 PLUGIN_API release () SMTG_OVERRIDE; \ +protected : \ + ::Steinberg::int32 __funknownRefCount; \ +public: + +//------------------------------------------------------------------------ + +#define DELEGATE_REFCOUNT(ClassName) \ +public: \ + virtual ::Steinberg::uint32 PLUGIN_API addRef () SMTG_OVERRIDE { return ClassName::addRef (); } \ + virtual ::Steinberg::uint32 PLUGIN_API release () SMTG_OVERRIDE { return ClassName::release (); } + +//------------------------------------------------------------------------ +#define IMPLEMENT_REFCOUNT(ClassName) \ +::Steinberg::uint32 PLUGIN_API ClassName::addRef () \ +{ \ + return ::Steinberg::FUnknownPrivate::atomicAdd (__funknownRefCount, 1); \ +} \ +::Steinberg::uint32 PLUGIN_API ClassName::release () \ +{ \ + if (::Steinberg::FUnknownPrivate::atomicAdd (__funknownRefCount, -1) == 0) \ + { \ + delete this; \ + return 0; \ + } \ + return __funknownRefCount; \ +} + +//------------------------------------------------------------------------ +#define FUNKNOWN_CTOR { __funknownRefCount = 1; } +#define FUNKNOWN_DTOR + +//------------------------------------------------------------------------ +#define QUERY_INTERFACE(iid, obj, InterfaceIID, InterfaceName) \ +if (::Steinberg::FUnknownPrivate::iidEqual (iid, InterfaceIID)) \ +{ \ + addRef (); \ + *obj = static_cast< InterfaceName* >(this); \ + return ::Steinberg::kResultOk; \ +} + +//------------------------------------------------------------------------ +#define IMPLEMENT_QUERYINTERFACE(ClassName, InterfaceName, ClassIID) \ +::Steinberg::tresult PLUGIN_API ClassName::queryInterface (const ::Steinberg::TUID _iid, void** obj)\ +{ \ + QUERY_INTERFACE (_iid, obj, ::Steinberg::FUnknown::iid, InterfaceName) \ + QUERY_INTERFACE (_iid, obj, ClassIID, InterfaceName) \ + *obj = nullptr; \ + return ::Steinberg::kNoInterface; \ +} + +//------------------------------------------------------------------------ +#define IMPLEMENT_FUNKNOWN_METHODS(ClassName,InterfaceName,ClassIID) \ + IMPLEMENT_REFCOUNT (ClassName) \ + IMPLEMENT_QUERYINTERFACE (ClassName, InterfaceName, ClassIID) + +//------------------------------------------------------------------------ +// Result Codes +//------------------------------------------------------------------------ + +namespace Steinberg { + +//------------------------------------------------------------------------ +#if COM_COMPATIBLE +#if SMTG_OS_WINDOWS +enum +{ + kNoInterface = static_cast(0x80004002L), // E_NOINTERFACE + kResultOk = static_cast(0x00000000L), // S_OK + kResultTrue = kResultOk, + kResultFalse = static_cast(0x00000001L), // S_FALSE + kInvalidArgument = static_cast(0x80070057L), // E_INVALIDARG + kNotImplemented = static_cast(0x80004001L), // E_NOTIMPL + kInternalError = static_cast(0x80004005L), // E_FAIL + kNotInitialized = static_cast(0x8000FFFFL), // E_UNEXPECTED + kOutOfMemory = static_cast(0x8007000EL) // E_OUTOFMEMORY +}; +#else +enum +{ + kNoInterface = static_cast(0x80000004L), // E_NOINTERFACE + kResultOk = static_cast(0x00000000L), // S_OK + kResultTrue = kResultOk, + kResultFalse = static_cast(0x00000001L), // S_FALSE + kInvalidArgument = static_cast(0x80000003L), // E_INVALIDARG + kNotImplemented = static_cast(0x80000001L), // E_NOTIMPL + kInternalError = static_cast(0x80000008L), // E_FAIL + kNotInitialized = static_cast(0x8000FFFFL), // E_UNEXPECTED + kOutOfMemory = static_cast(0x80000002L) // E_OUTOFMEMORY +}; +#endif +#else +enum +{ + kNoInterface = -1, + kResultOk, + kResultTrue = kResultOk, + kResultFalse, + kInvalidArgument, + kNotImplemented, + kInternalError, + kNotInitialized, + kOutOfMemory +}; +#endif + +//------------------------------------------------------------------------ +typedef int64 LARGE_INT; // obsolete + +//------------------------------------------------------------------------ +// FUID class declaration +//------------------------------------------------------------------------ +typedef int8 TUID[16]; ///< plain UID type + +//------------------------------------------------------------------------ +/* FUnknown private */ +namespace FUnknownPrivate { +SMTG_ALWAYS_INLINE bool iidEqual (const void* iid1, const void* iid2) +{ + const uint64* p1 = reinterpret_cast (iid1); + const uint64* p2 = reinterpret_cast (iid2); + return p1[0] == p2[0] && p1[1] == p2[1]; +} + +int32 PLUGIN_API atomicAdd (int32& value, int32 amount); +} + +//------------------------------------------------------------------------ +/** Handling 16 Byte Globally Unique Identifiers. +\ingroup pluginBase + +Each interface declares its identifier as static member inside the interface +namespace (e.g. FUnknown::iid). +*/ +//------------------------------------------------------------------------ +class FUID +{ +public: +//------------------------------------------------------------------------ + FUID (); + FUID (uint32 l1, uint32 l2, uint32 l3, uint32 l4); + FUID (const FUID&); + virtual ~FUID () {} + +#if SMTG_CPP11_STDLIBSUPPORT + FUID (FUID&& other); + FUID& operator= (FUID&& other); +#endif + + /** Generates a new Unique Identifier (UID). + Will return true for success. If the return value is false, either no + UID is generated or the UID is not guaranteed to be unique worldwide. */ + bool generate (); + + /** Checks if the UID data is valid. + The default constructor initializes the memory with zeros. */ + bool isValid () const; + + FUID& operator = (const FUID& f); + bool operator == (const FUID& f) const { return ::Steinberg::FUnknownPrivate::iidEqual (data, f.data); } + bool operator < (const FUID& f) const { return memcmp (data, f.data, sizeof (TUID)) < 0; } + bool operator != (const FUID& f) const { return !::Steinberg::FUnknownPrivate::iidEqual (data, f.data); } + + uint32 getLong1 () const; + uint32 getLong2 () const; + uint32 getLong3 () const; + uint32 getLong4 () const; + + void from4Int (uint32 d1, uint32 d2, uint32 d3, uint32 d4); + void to4Int (uint32& d1, uint32& d2, uint32& d3, uint32& d4) const; + + typedef char8 String[64]; + + /** Converts UID to a string. + The string will be 32 characters long, representing the hexadecimal values + of each data byte (e.g. "9127BE30160E4BB69966670AA6087880"). + + Typical use-case is: + \code + char8[33] strUID = {0}; + FUID uid; + if (uid.generate ()) + uid.toString (strUID); + \endcode + */ + void toString (char8* string) const; + + /** Sets the UID data from a string. + The string has to be 32 characters long, where each character-pair is + the ASCII-encoded hexadecimal value of the corresponding data byte. */ + bool fromString (const char8* string); + + /** Converts UID to a string in Microsoft® OLE format. + (e.g. "{c200e360-38c5-11ce-ae62-08002b2b79ef}") */ + void toRegistryString (char8* string) const; + + /** Sets the UID data from a string in Microsoft® OLE format. */ + bool fromRegistryString (const char8* string); + + enum UIDPrintStyle + { + kINLINE_UID, ///< "INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000)" + kDECLARE_UID, ///< "DECLARE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000)" + kFUID, ///< "FUID (0x00000000, 0x00000000, 0x00000000, 0x00000000)" + kCLASS_UID ///< "DECLARE_CLASS_IID (Interface, 0x00000000, 0x00000000, 0x00000000, 0x00000000)" + }; + /** Prints the UID to a string (or debug output if string is NULL). + \param string is the output string if not NULL. + \param style can be chosen from the FUID::UIDPrintStyle enumeration. */ + void print (char8* string = 0, int32 style = kINLINE_UID) const; + + template + inline explicit FUID (const int8 (&uid)[N]) + { +#if SMTG_CPP11_STDLIBSUPPORT + static_assert (N == sizeof (TUID), "only TUID allowed"); +#endif + memcpy (data, uid, sizeof (TUID)); + } + inline void toTUID (TUID result) const { memcpy (result, data, sizeof (TUID)); } + inline operator const TUID& () const { return data; } + inline const TUID& toTUID () const { return data; } + + static FUID fromTUID (const TUID uid) + { + FUID res; + if (uid) + memcpy (res.data, uid, sizeof (TUID)); + return res; + } + +//------------------------------------------------------------------------ +protected: + TUID data; +}; + +#if SMTG_CPP11_STDLIBSUPPORT +template +inline bool operator== (const FUID& f1, T f2) +{ + static_assert ( + std::is_same::type, FUID>::value, + "Do not compare a FUID with a TUID directly. Either convert the TUID to a FUID and compare them or use FUnknownPrivate::iidEqual"); + return f1.operator== (f2); +} +#endif + +//------------------------------------------------------------------------ +// FUnknown +//------------------------------------------------------------------------ +/** The basic interface of all interfaces. +\ingroup pluginBase + +- The FUnknown::queryInterface method is used to retrieve pointers to other + interfaces of the object. +- FUnknown::addRef and FUnknown::release manage the lifetime of the object. + If no more references exist, the object is destroyed in memory. + +Interfaces are identified by 16 byte Globally Unique Identifiers. +The SDK provides a class called FUID for this purpose. + +\ref howtoClass */ +//------------------------------------------------------------------------ +class FUnknown +{ +public: + +//------------------------------------------------------------------------ + /** Query for a pointer to the specified interface. + Returns kResultOk on success or kNoInterface if the object does not implement the interface. + The object has to call addRef when returning an interface. + \param _iid : (in) 16 Byte interface identifier (-> FUID) + \param obj : (out) On return, *obj points to the requested interface */ + virtual tresult PLUGIN_API queryInterface (const TUID _iid, void** obj) = 0; + + /** Adds a reference and return the new reference count. + \par Remarks: + The initial reference count after creating an object is 1. */ + virtual uint32 PLUGIN_API addRef () = 0; + + /** Releases a reference and return the new reference count. + If the reference count reaches zero, the object will be destroyed in memory. */ + virtual uint32 PLUGIN_API release () = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +//------------------------------------------------------------------------ +}; + + +DECLARE_CLASS_IID (FUnknown, 0x00000000, 0x00000000, 0xC0000000, 0x00000046) + +//------------------------------------------------------------------------ +// FUnknownPtr +//------------------------------------------------------------------------ +/** FUnknownPtr - automatic interface conversion and smart pointer in one. + This template class can be used for interface conversion like this: + \code + IPtr path = owned (FHostCreate (IPath, hostClasses)); + FUnknownPtr path2 (path); // does a query interface for IPath2 + if (path2) + ... + \endcode +*/ +//------------------------------------------------------------------------ +template +class FUnknownPtr : public IPtr +{ +public: +//------------------------------------------------------------------------ + inline FUnknownPtr (FUnknown* unknown); // query interface + inline FUnknownPtr (const FUnknownPtr& p) : IPtr (p) {} + inline FUnknownPtr () {} + + inline FUnknownPtr& operator= (const FUnknownPtr& p) + { + IPtr::operator= (p); + return *this; + } + inline I* operator= (FUnknown* unknown); + inline I* getInterface () { return this->ptr; } +}; + +//------------------------------------------------------------------------ +template +inline FUnknownPtr::FUnknownPtr (FUnknown* unknown) +{ + if (unknown && unknown->queryInterface (I::iid, (void**)&this->ptr) != kResultOk) + this->ptr = 0; +} + +//------------------------------------------------------------------------ +template +inline I* FUnknownPtr::operator= (FUnknown* unknown) +{ + I* newPtr = 0; + if (unknown && unknown->queryInterface (I::iid, (void**)&newPtr) == kResultOk) + { + OPtr rel (newPtr); + return IPtr::operator= (newPtr); + } + + return IPtr::operator= (0); +} + +//------------------------------------------------------------------------ +// FReleaser (obsolete) +//------------------------------------------------------------------------ +/** Release an interface using automatic object (obsolete). +This class is obsolete and is only kept for compatibility. +The replacement for FReleaser is OPtr. + +Usage example with FReleaser: + \code + void someFunction () + { + IPath* path = pathCreateMethod (); + FReleaser releaser (path); + .... do something with path... + .... path not used anymore, releaser will destroy it when leaving function scope + } + \endcode +Usage example with OPtr: + \code + void someFunction () + { + OPtr path = pathCreateMethod (); + .... do something with path... + .... path not used anymore, OPtr will destroy it when leaving function scope + } + \endcode +*/ +//------------------------------------------------------------------------ +struct FReleaser +{ + FReleaser (FUnknown* u) : u (u) {} + ~FReleaser () + { + if (u) + u->release (); + } + FUnknown* u; +}; + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h index 94312efa..5ce9e295 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/futils.h @@ -1,92 +1,98 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/futils.h -// Created by : Steinberg, 01/2004 -// Description : Basic utilities -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/ftypes.h" - -namespace Steinberg { -//---------------------------------------------------------------------------- -// min/max/etc. template functions -template -inline const T& Min (const T& a, const T& b) -{ - return b < a ? b : a; -} - -template -inline const T& Max (const T& a, const T& b) -{ - return a < b ? b : a; -} - -template -inline T Abs (const T& value) -{ - return (value >= (T)0) ? value : -value; -} - -template -inline T Sign (const T& value) -{ - return (value == (T)0) ? 0 : ((value >= (T)0) ? 1 : -1); -} - -template -inline T Bound (T minval, T maxval, T x) -{ - if (x < minval) - return minval; - else if (x > maxval) - return maxval; - return x; -} - -template -void Swap (T& t1, T& t2) -{ - T tmp = t1; - t1 = t2; - t2 = tmp; -} - -template -bool IsApproximateEqual (T t1, T t2, T epsilon) -{ - if (t1 == t2) - return true; - T diff = t1 - t2; - if (diff < 0.0) - diff = -diff; - if (diff < epsilon) - return true; - return false; -} - -template -inline T ToNormalized (const T& value, const int32 numSteps) -{ - return value / T (numSteps); -} - -template -inline int32 FromNormalized (const T& norm, const int32 numSteps) -{ - return Min (numSteps, int32 (norm * (numSteps + 1))); -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/futils.h +// Created by : Steinberg, 01/2004 +// Description : Basic utilities +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/ftypes.h" + +namespace Steinberg { +//---------------------------------------------------------------------------- +// min/max/etc. template functions +template +inline const T& Min (const T& a, const T& b) +{ + return b < a ? b : a; +} + +template +inline const T& Max (const T& a, const T& b) +{ + return a < b ? b : a; +} + +template +inline T Abs (const T& value) +{ + return (value >= (T)0) ? value : -value; +} + +template +inline T Sign (const T& value) +{ + return (value == (T)0) ? 0 : ((value >= (T)0) ? 1 : -1); +} + +template +inline T Bound (T minval, T maxval, T x) +{ + if (x < minval) + return minval; + else if (x > maxval) + return maxval; + return x; +} + +template +void Swap (T& t1, T& t2) +{ + T tmp = t1; + t1 = t2; + t2 = tmp; +} + +template +bool IsApproximateEqual (T t1, T t2, T epsilon) +{ + if (t1 == t2) + return true; + T diff = t1 - t2; + if (diff < 0.0) + diff = -diff; + if (diff < epsilon) + return true; + return false; +} + +template +inline T ToNormalized (const T& value, const int32 numSteps) +{ + return value / T (numSteps); +} + +template +inline int32 FromNormalized (const T& norm, const int32 numSteps) +{ + return Min (numSteps, int32 (norm * (numSteps + 1))); +} + +// Four character constant +#ifndef CCONST +#define CCONST(a, b, c, d) \ + ((((int32) (a)) << 24) | (((int32) (b)) << 16) | (((int32) (c)) << 8) | (((int32) (d)) << 0)) +#endif + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h index 6cfae7b3..a0008b62 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fvariant.h @@ -1,297 +1,297 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/fvariant.h -// Created by : Steinberg, 01/2004 -// Description : Basic Interface -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/fstrdefs.h" -#include "pluginterfaces/base/funknown.h" - -//------------------------------------------------------------------------ -namespace Steinberg { - -class FUnknown; - -//------------------------------------------------------------------------ -// FVariant struct declaration -//------------------------------------------------------------------------ -/** A Value of variable type. - \ingroup pluginBase - */ -class FVariant -{ -//------------------------------------------------------------------------ -public: - enum - { - kEmpty = 0, - kInteger = 1 << 0, - kFloat = 1 << 1, - kString8 = 1 << 2, - kObject = 1 << 3, - kOwner = 1 << 4, - kString16 = 1 << 5 - }; - -//------------------------------------------------------------------------ - // ctors - inline FVariant () { memset (this, 0, sizeof (FVariant)); } - inline FVariant (const FVariant& variant); - - inline FVariant (bool b) : type (kInteger), intValue (b) {} - inline FVariant (uint32 v) : type (kInteger), intValue (v) {} - inline FVariant (int64 v) : type (kInteger), intValue (v) {} - inline FVariant (double v) : type (kFloat), floatValue (v) {} - inline FVariant (const char8* str) : type (kString8), string8 (str) {} - inline FVariant (const char16* str) : type (kString16), string16 (str) {} - inline FVariant (FUnknown* obj, bool owner = false) : type (kObject), object (obj) - { - setOwner (owner); - } - inline ~FVariant () { empty (); } - -//------------------------------------------------------------------------ - inline FVariant& operator= (const FVariant& variant); - - inline void set (bool b) - { - setInt (b); - } - - inline void set (uint32 v) - { - setInt (v); - } - - inline void set (int64 v) - { - setInt (v); - } - - inline void set (double v) - { - setFloat (v); - } - - inline void set (const char8* c) - { - setString8 (c); - } - - inline void set (const char16* c) - { - setString16 (c); - } - - inline void setInt (int64 v) - { - empty (); - type = kInteger; - intValue = v; - } - - inline void setFloat (double v) - { - empty (); - type = kFloat; - floatValue = v; - } - inline void setString8 (const char8* v) - { - empty (); - type = kString8; - string8 = v; - } - inline void setString16 (const char16* v) - { - empty (); - type = kString16; - string16 = v; - } - - inline void setObject (FUnknown* obj) - { - empty (); - type = kObject; - object = obj; - } - - template - inline T get () const; - - inline int64 getInt () const { return (type & kInteger) ? intValue : 0; } - inline double getFloat () const { return (type & kFloat) ? floatValue : 0.; } - inline double getNumber () const - { - return (type & kInteger) ? static_cast (intValue) : (type & kFloat) ? floatValue : - 0.; - } - inline const char8* getString8 () const { return (type & kString8) ? string8 : 0; } - inline const char16* getString16 () const { return (type & kString16) ? string16 : 0; } - - inline FUnknown* getObject () const { return (type & kObject) ? object : 0; } - - inline uint16 getType () const { return static_cast (type & ~(kOwner)); } - inline bool isEmpty () const { return getType () == kEmpty; } - inline bool isOwner () const { return (type & kOwner) != 0; } - inline bool isString () const { return (type & (kString8 | kString16)) != 0; } - inline void setOwner (bool state) - { - if (state) - type |= kOwner; - else - type &= ~kOwner; - } - - void empty (); -//------------------------------------------------------------------------ - uint16 type; - union - { - int64 intValue; - double floatValue; - const char8* string8; - const char16* string16; - FUnknown* object; - }; -}; - -//------------------------------------------------------------------------ -inline bool operator== (const FVariant& v1, const FVariant& v2) -{ -#if SMTG_PLATFORM_64 - return v1.type == v2.type && v1.intValue == v2.intValue; -#else - if (v1.type != v2.type) - return false; - if (v1.type & (FVariant::kString8 | FVariant::kString16 | FVariant::kObject)) - return v1.string8 == v2.string8; // pointer type comparisons - return v1.intValue == v2.intValue; // intValue & double comparison - -#endif -} - -template <> -inline bool FVariant::get () const -{ - return getInt () != 0; -} - -template <> -inline uint32 FVariant::get () const -{ - return static_cast (getInt ()); -} - -template <> -inline int32 FVariant::get () const -{ - return static_cast (getInt ()); -} - -template <> -inline int64 FVariant::get () const -{ - return static_cast (getInt ()); -} - -template <> -inline float FVariant::get () const -{ - return static_cast (getFloat ()); -} - -template <> -inline double FVariant::get () const -{ - return getFloat (); -} - -template <> -inline const char8* FVariant::get () const -{ - return getString8 (); -} - -template <> -inline const char16* FVariant::get () const -{ - return getString16 (); -} - -template <> -inline FUnknown* FVariant::get () const -{ - return getObject (); -} - -//------------------------------------------------------------------------ -inline bool operator!= (const FVariant& v1, const FVariant& v2) { return !(v1 == v2); } - -//------------------------------------------------------------------------ -inline FVariant::FVariant (const FVariant& variant) : type (kEmpty) { *this = variant; } - -//------------------------------------------------------------------------ -inline void FVariant::empty () -{ - if (type & kOwner) - { - if ((type & kString8) && string8) - delete[] string8; - else if ((type & kString16) && string16) - delete[] string16; - - else if ((type & kObject) && object) - object->release (); - } - memset (this, 0, sizeof (FVariant)); -} - -//------------------------------------------------------------------------ -inline FVariant& FVariant::operator= (const FVariant& variant) -{ - empty (); - - type = variant.type; - - if ((type & kString8) && variant.string8) - { - string8 = new char8[strlen (variant.string8) + 1]; - strcpy (const_cast (string8), variant.string8); - type |= kOwner; - } - else if ((type & kString16) && variant.string16) - { - int32 len = strlen16 (variant.string16); - string16 = new char16[len + 1]; - char16* tmp = const_cast (string16); - memcpy (tmp, variant.string16, len * sizeof (char16)); - tmp[len] = 0; - type |= kOwner; - } - else if ((type & kObject) && variant.object) - { - object = variant.object; - object->addRef (); - type |= kOwner; - } - else - intValue = variant.intValue; // copy memory - - return *this; -} - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/fvariant.h +// Created by : Steinberg, 01/2004 +// Description : Basic Interface +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/fstrdefs.h" +#include "pluginterfaces/base/funknown.h" + +//------------------------------------------------------------------------ +namespace Steinberg { + +class FUnknown; + +//------------------------------------------------------------------------ +// FVariant struct declaration +//------------------------------------------------------------------------ +/** A Value of variable type. + \ingroup pluginBase + */ +class FVariant +{ +//------------------------------------------------------------------------ +public: + enum + { + kEmpty = 0, + kInteger = 1 << 0, + kFloat = 1 << 1, + kString8 = 1 << 2, + kObject = 1 << 3, + kOwner = 1 << 4, + kString16 = 1 << 5 + }; + +//------------------------------------------------------------------------ + // ctors + inline FVariant () { memset (this, 0, sizeof (FVariant)); } + inline FVariant (const FVariant& variant); + + inline FVariant (bool b) : type (kInteger), intValue (b) {} + inline FVariant (uint32 v) : type (kInteger), intValue (v) {} + inline FVariant (int64 v) : type (kInteger), intValue (v) {} + inline FVariant (double v) : type (kFloat), floatValue (v) {} + inline FVariant (const char8* str) : type (kString8), string8 (str) {} + inline FVariant (const char16* str) : type (kString16), string16 (str) {} + inline FVariant (FUnknown* obj, bool owner = false) : type (kObject), object (obj) + { + setOwner (owner); + } + inline ~FVariant () { empty (); } + +//------------------------------------------------------------------------ + inline FVariant& operator= (const FVariant& variant); + + inline void set (bool b) + { + setInt (b); + } + + inline void set (uint32 v) + { + setInt (v); + } + + inline void set (int64 v) + { + setInt (v); + } + + inline void set (double v) + { + setFloat (v); + } + + inline void set (const char8* c) + { + setString8 (c); + } + + inline void set (const char16* c) + { + setString16 (c); + } + + inline void setInt (int64 v) + { + empty (); + type = kInteger; + intValue = v; + } + + inline void setFloat (double v) + { + empty (); + type = kFloat; + floatValue = v; + } + inline void setString8 (const char8* v) + { + empty (); + type = kString8; + string8 = v; + } + inline void setString16 (const char16* v) + { + empty (); + type = kString16; + string16 = v; + } + + inline void setObject (FUnknown* obj) + { + empty (); + type = kObject; + object = obj; + } + + template + inline T get () const; + + inline int64 getInt () const { return (type & kInteger) ? intValue : 0; } + inline double getFloat () const { return (type & kFloat) ? floatValue : 0.; } + inline double getNumber () const + { + return (type & kInteger) ? static_cast (intValue) : (type & kFloat) ? floatValue : + 0.; + } + inline const char8* getString8 () const { return (type & kString8) ? string8 : 0; } + inline const char16* getString16 () const { return (type & kString16) ? string16 : 0; } + + inline FUnknown* getObject () const { return (type & kObject) ? object : 0; } + + inline uint16 getType () const { return static_cast (type & ~(kOwner)); } + inline bool isEmpty () const { return getType () == kEmpty; } + inline bool isOwner () const { return (type & kOwner) != 0; } + inline bool isString () const { return (type & (kString8 | kString16)) != 0; } + inline void setOwner (bool state) + { + if (state) + type |= kOwner; + else + type &= ~kOwner; + } + + void empty (); +//------------------------------------------------------------------------ + uint16 type; + union + { + int64 intValue; + double floatValue; + const char8* string8; + const char16* string16; + FUnknown* object; + }; +}; + +//------------------------------------------------------------------------ +inline bool operator== (const FVariant& v1, const FVariant& v2) +{ +#if SMTG_PLATFORM_64 + return v1.type == v2.type && v1.intValue == v2.intValue; +#else + if (v1.type != v2.type) + return false; + if (v1.type & (FVariant::kString8 | FVariant::kString16 | FVariant::kObject)) + return v1.string8 == v2.string8; // pointer type comparisons + return v1.intValue == v2.intValue; // intValue & double comparison + +#endif +} + +template <> +inline bool FVariant::get () const +{ + return getInt () != 0; +} + +template <> +inline uint32 FVariant::get () const +{ + return static_cast (getInt ()); +} + +template <> +inline int32 FVariant::get () const +{ + return static_cast (getInt ()); +} + +template <> +inline int64 FVariant::get () const +{ + return static_cast (getInt ()); +} + +template <> +inline float FVariant::get () const +{ + return static_cast (getFloat ()); +} + +template <> +inline double FVariant::get () const +{ + return getFloat (); +} + +template <> +inline const char8* FVariant::get () const +{ + return getString8 (); +} + +template <> +inline const char16* FVariant::get () const +{ + return getString16 (); +} + +template <> +inline FUnknown* FVariant::get () const +{ + return getObject (); +} + +//------------------------------------------------------------------------ +inline bool operator!= (const FVariant& v1, const FVariant& v2) { return !(v1 == v2); } + +//------------------------------------------------------------------------ +inline FVariant::FVariant (const FVariant& variant) : type (kEmpty) { *this = variant; } + +//------------------------------------------------------------------------ +inline void FVariant::empty () +{ + if (type & kOwner) + { + if ((type & kString8) && string8) + delete[] string8; + else if ((type & kString16) && string16) + delete[] string16; + + else if ((type & kObject) && object) + object->release (); + } + memset (this, 0, sizeof (FVariant)); +} + +//------------------------------------------------------------------------ +inline FVariant& FVariant::operator= (const FVariant& variant) +{ + empty (); + + type = variant.type; + + if ((type & kString8) && variant.string8) + { + string8 = new char8[strlen (variant.string8) + 1]; + strcpy (const_cast (string8), variant.string8); + type |= kOwner; + } + else if ((type & kString16) && variant.string16) + { + int32 len = strlen16 (variant.string16); + string16 = new char16[len + 1]; + char16* tmp = const_cast (string16); + memcpy (tmp, variant.string16, len * sizeof (char16)); + tmp[len] = 0; + type |= kOwner; + } + else if ((type & kObject) && variant.object) + { + object = variant.object; + object->addRef (); + type |= kOwner; + } + else + intValue = variant.intValue; // copy memory + + return *this; +} + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h index ec6e7a79..62192550 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ibstream.h @@ -1,89 +1,89 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/ibstream.h -// Created by : Steinberg, 01/2004 -// Description : Interface for reading/writing streams -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "funknown.h" - -namespace Steinberg { - -//------------------------------------------------------------------------ -/** Base class for streams. -\ingroup pluginBase -- read/write binary data from/to stream -- get/set stream read-write position (read and write position is the same) -*/ -//------------------------------------------------------------------------ - -class IBStream: public FUnknown -{ -public: - enum IStreamSeekMode - { - kIBSeekSet = 0, ///< set absolute seek position - kIBSeekCur, ///< set seek position relative to current position - kIBSeekEnd ///< set seek position relative to stream end - }; - -//------------------------------------------------------------------------ - /** Reads binary data from stream. - \param buffer : destination buffer - \param numBytes : amount of bytes to be read - \param numBytesRead : result - how many bytes have been read from stream (set to 0 if this is of no interest) */ - virtual tresult PLUGIN_API read (void* buffer, int32 numBytes, int32* numBytesRead = 0) = 0; - - /** Writes binary data to stream. - \param buffer : source buffer - \param numBytes : amount of bytes to write - \param numBytesWritten : result - how many bytes have been written to stream (set to 0 if this is of no interest) */ - virtual tresult PLUGIN_API write (void* buffer, int32 numBytes, int32* numBytesWritten = 0) = 0; - - /** Sets stream read-write position. - \param pos : new stream position (dependent on mode) - \param mode : value of enum IStreamSeekMode - \param result : new seek position (set to 0 if this is of no interest) */ - virtual tresult PLUGIN_API seek (int64 pos, int32 mode, int64* result = 0) = 0; - - /** Gets current stream read-write position. - \param pos : is assigned the current position if function succeeds */ - virtual tresult PLUGIN_API tell (int64* pos) = 0; -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IBStream, 0xC3BF6EA2, 0x30994752, 0x9B6BF990, 0x1EE33E9B) - -//------------------------------------------------------------------------ -/** Stream with a size. -\ingroup pluginBase -[extends IBStream] when stream type supports it (like file and memory stream) */ -//------------------------------------------------------------------------ -class ISizeableStream: public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** Return the stream size */ - virtual tresult PLUGIN_API getStreamSize (int64& size) = 0; - /** Set the steam size. File streams can only be resized if they are write enabled. */ - virtual tresult PLUGIN_API setStreamSize (int64 size) = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -}; -DECLARE_CLASS_IID (ISizeableStream, 0x04F9549E, 0xE02F4E6E, 0x87E86A87, 0x47F4E17F) - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/ibstream.h +// Created by : Steinberg, 01/2004 +// Description : Interface for reading/writing streams +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "funknown.h" + +namespace Steinberg { + +//------------------------------------------------------------------------ +/** Base class for streams. +\ingroup pluginBase +- read/write binary data from/to stream +- get/set stream read-write position (read and write position is the same) +*/ +//------------------------------------------------------------------------ + +class IBStream: public FUnknown +{ +public: + enum IStreamSeekMode + { + kIBSeekSet = 0, ///< set absolute seek position + kIBSeekCur, ///< set seek position relative to current position + kIBSeekEnd ///< set seek position relative to stream end + }; + +//------------------------------------------------------------------------ + /** Reads binary data from stream. + \param buffer : destination buffer + \param numBytes : amount of bytes to be read + \param numBytesRead : result - how many bytes have been read from stream (set to 0 if this is of no interest) */ + virtual tresult PLUGIN_API read (void* buffer, int32 numBytes, int32* numBytesRead = 0) = 0; + + /** Writes binary data to stream. + \param buffer : source buffer + \param numBytes : amount of bytes to write + \param numBytesWritten : result - how many bytes have been written to stream (set to 0 if this is of no interest) */ + virtual tresult PLUGIN_API write (void* buffer, int32 numBytes, int32* numBytesWritten = 0) = 0; + + /** Sets stream read-write position. + \param pos : new stream position (dependent on mode) + \param mode : value of enum IStreamSeekMode + \param result : new seek position (set to 0 if this is of no interest) */ + virtual tresult PLUGIN_API seek (int64 pos, int32 mode, int64* result = 0) = 0; + + /** Gets current stream read-write position. + \param pos : is assigned the current position if function succeeds */ + virtual tresult PLUGIN_API tell (int64* pos) = 0; +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IBStream, 0xC3BF6EA2, 0x30994752, 0x9B6BF990, 0x1EE33E9B) + +//------------------------------------------------------------------------ +/** Stream with a size. +\ingroup pluginBase +[extends IBStream] when stream type supports it (like file and memory stream) */ +//------------------------------------------------------------------------ +class ISizeableStream: public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** Return the stream size */ + virtual tresult PLUGIN_API getStreamSize (int64& size) = 0; + /** Set the steam size. File streams can only be resized if they are write enabled. */ + virtual tresult PLUGIN_API setStreamSize (int64 size) = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +}; +DECLARE_CLASS_IID (ISizeableStream, 0x04F9549E, 0xE02F4E6E, 0x87E86A87, 0x47F4E17F) + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h index 70409bc8..98b62821 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/icloneable.h @@ -1,42 +1,42 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/icloneable.h -// Created by : Steinberg, 11/2007 -// Description : Interface for object copies -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "funknown.h" - -namespace Steinberg { - -//------------------------------------------------------------------------ -/** Interface allowing an object to be copied. -[plug & host imp] \n -[released: N4.12] \n -*/ -//------------------------------------------------------------------------ -class ICloneable : public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** Create exact copy of the object */ - virtual FUnknown* PLUGIN_API clone () = 0; -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (ICloneable, 0xD45406B9, 0x3A2D4443, 0x9DAD9BA9, 0x85A1454B) - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/icloneable.h +// Created by : Steinberg, 11/2007 +// Description : Interface for object copies +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "funknown.h" + +namespace Steinberg { + +//------------------------------------------------------------------------ +/** Interface allowing an object to be copied. +[plug & host imp] \n +[released: N4.12] \n +*/ +//------------------------------------------------------------------------ +class ICloneable : public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** Create exact copy of the object */ + virtual FUnknown* PLUGIN_API clone () = 0; +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (ICloneable, 0xD45406B9, 0x3A2D4443, 0x9DAD9BA9, 0x85A1454B) + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h index ba9c7574..5da3cc78 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipersistent.h @@ -1,161 +1,161 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/ipersistent.h -// Created by : Steinberg, 09/2004 -// Description : Plug-In Storage Interfaces -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/funknown.h" - -namespace Steinberg { - -class FVariant; -class IAttributes; -//------------------------------------------------------------------------ -/** Persistent Object Interface. -[plug imp] \n -This interface is used to store/restore attributes of an object. -An IPlugController can implement this interface to handle presets. -The gui-xml for a preset control looks like this: -\code - .... - - .... - -\endcode -The tag data="Preset" tells the host to create a preset controller that handles the -3 values named "preset control", "store preset", and "remove preset". -*/ -//------------------------------------------------------------------------ -class IPersistent: public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** The class ID must be a 16 bytes unique id that is used to create the object. - This ID is also used to identify the preset list when used with presets. */ - virtual tresult PLUGIN_API getClassID (char8* uid) = 0; - /** Store all members/data in the passed IAttributes. */ - virtual tresult PLUGIN_API saveAttributes (IAttributes* ) = 0; - /** Restore all members/data from the passed IAttributes. */ - virtual tresult PLUGIN_API loadAttributes (IAttributes* ) = 0; -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IPersistent, 0xBA1A4637, 0x3C9F46D0, 0xA65DBA0E, 0xB85DA829) - - -typedef FIDString IAttrID; -//------------------------------------------------------------------------ -/** Object Data Archive Interface. -[host imp] \n -- store data/objects/binary/subattributes in the archive -- read stored data from the archive - -All data stored to the archive are identified by a string (IAttrID), which must be unique on each -IAttribute level. - -The basic set/get methods make use of the FVariant class defined in 'funknown.h'. -For a more convenient usage of this interface, you should use the functions defined -in namespace PAttributes (public.sdk/source/common/pattributes.h+cpp) !! - -\ingroup frameworkHostClasses -*/ -//------------------------------------------------------------------------ -class IAttributes: public FUnknown -{ -public: -//------------------------------------------------------------------------ - /*! \name Methods to write attributes - ******************************************************************************************************** */ - //@{ - /** Store any data in the archive. It is even possible to store sub-attributes by creating - a new IAttributes instance via the IHostClasses interface and pass it to the parent in the - FVariant. In this case the archive must take the ownership of the newly created object, which - is true for all objects that have been created only for storing. You tell the archive to take - ownership by adding the FVariant::kOwner flag to the FVariant::type member (data.type |= FVariant::kOwner). - When using the PAttributes functions, this is done through a function parameter.*/ - virtual tresult PLUGIN_API set (IAttrID attrID, const FVariant& data) = 0; - - /** Store a list of data in the archive. Please note that the type of data is not mixable! So - you can only store a list of integers or a list of doubles/strings/etc. You can also store a list - of subattributes or other objects that implement the IPersistent interface.*/ - virtual tresult PLUGIN_API queue (IAttrID listID, const FVariant& data) = 0; - - /** Store binary data in the archive. Parameter 'copyBytes' specifies if the passed data should be copied. - The archive cannot take the ownership of binary data. Either it just references a buffer in order - to write it to a file (copyBytes = false) or it copies the data to its own buffers (copyBytes = true). - When binary data should be stored in the default pool for example, you must always copy it!*/ - virtual tresult PLUGIN_API setBinaryData (IAttrID attrID, void* data, uint32 bytes, bool copyBytes) = 0; - //@} - - /*! \name Methods to read attributes - ******************************************************************************************************** */ - //@{ - /** Get data previously stored to the archive. */ - virtual tresult PLUGIN_API get (IAttrID attrID, FVariant& data) = 0; - - /** Get list of data previously stored to the archive. As long as there are queue members the method - will return kResultTrue. When the queue is empty, the methods returns kResultFalse. All lists except from - object lists can be reset which means that the items can be read once again. \see IAttributes::resetQueue */ - virtual tresult PLUGIN_API unqueue (IAttrID listID, FVariant& data) = 0; - - /** Get the amount of items in a queue. */ - virtual int32 PLUGIN_API getQueueItemCount (IAttrID) = 0; - - /** Reset a queue. If you need to restart reading a queue, you have to reset it. You can reset a queue at any time.*/ - virtual tresult PLUGIN_API resetQueue (IAttrID attrID) = 0; - - /** Reset all queues in the archive.*/ - virtual tresult PLUGIN_API resetAllQueues () = 0; - - /** Read binary data from the archive. The data is copied into the passed buffer. The size of that buffer - must fit the size of data stored in the archive which can be queried via IAttributes::getBinaryDataSize */ - virtual tresult PLUGIN_API getBinaryData (IAttrID attrID, void* data, uint32 bytes) = 0; - /** Get the size in bytes of binary data in the archive. */ - virtual uint32 PLUGIN_API getBinaryDataSize (IAttrID attrID) = 0; - //@} - -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IAttributes, 0xFA1E32F9, 0xCA6D46F5, 0xA982F956, 0xB1191B58) - -//------------------------------------------------------------------------ -/** Extended access to Attributes; supports Attribute retrieval via iteration. -[host imp] \n -[released] C7/N6 \n -\ingroup frameworkHostClasses -*/ -//------------------------------------------------------------------------ -class IAttributes2 : public IAttributes -{ -public: - /** Returns the number of existing attributes. */ - virtual int32 PLUGIN_API countAttributes () const = 0; - /** Returns the attribute's ID for the given index. */ - virtual IAttrID PLUGIN_API getAttributeID (int32 index) const = 0; -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IAttributes2, 0x1382126A, 0xFECA4871, 0x97D52A45, 0xB042AE99) - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/ipersistent.h +// Created by : Steinberg, 09/2004 +// Description : Plug-In Storage Interfaces +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/funknown.h" + +namespace Steinberg { + +class FVariant; +class IAttributes; +//------------------------------------------------------------------------ +/** Persistent Object Interface. +[plug imp] \n +This interface is used to store/restore attributes of an object. +An IPlugController can implement this interface to handle presets. +The gui-xml for a preset control looks like this: +\code + .... + + .... + +\endcode +The tag data="Preset" tells the host to create a preset controller that handles the +3 values named "preset control", "store preset", and "remove preset". +*/ +//------------------------------------------------------------------------ +class IPersistent: public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** The class ID must be a 16 bytes unique id that is used to create the object. + This ID is also used to identify the preset list when used with presets. */ + virtual tresult PLUGIN_API getClassID (char8* uid) = 0; + /** Store all members/data in the passed IAttributes. */ + virtual tresult PLUGIN_API saveAttributes (IAttributes* ) = 0; + /** Restore all members/data from the passed IAttributes. */ + virtual tresult PLUGIN_API loadAttributes (IAttributes* ) = 0; +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IPersistent, 0xBA1A4637, 0x3C9F46D0, 0xA65DBA0E, 0xB85DA829) + + +typedef FIDString IAttrID; +//------------------------------------------------------------------------ +/** Object Data Archive Interface. +[host imp] \n +- store data/objects/binary/subattributes in the archive +- read stored data from the archive + +All data stored to the archive are identified by a string (IAttrID), which must be unique on each +IAttribute level. + +The basic set/get methods make use of the FVariant class defined in 'funknown.h'. +For a more convenient usage of this interface, you should use the functions defined +in namespace PAttributes (public.sdk/source/common/pattributes.h+cpp) !! + +\ingroup frameworkHostClasses +*/ +//------------------------------------------------------------------------ +class IAttributes: public FUnknown +{ +public: +//------------------------------------------------------------------------ + /*! \name Methods to write attributes + ******************************************************************************************************** */ + //@{ + /** Store any data in the archive. It is even possible to store sub-attributes by creating + a new IAttributes instance via the IHostClasses interface and pass it to the parent in the + FVariant. In this case the archive must take the ownership of the newly created object, which + is true for all objects that have been created only for storing. You tell the archive to take + ownership by adding the FVariant::kOwner flag to the FVariant::type member (data.type |= FVariant::kOwner). + When using the PAttributes functions, this is done through a function parameter.*/ + virtual tresult PLUGIN_API set (IAttrID attrID, const FVariant& data) = 0; + + /** Store a list of data in the archive. Please note that the type of data is not mixable! So + you can only store a list of integers or a list of doubles/strings/etc. You can also store a list + of subattributes or other objects that implement the IPersistent interface.*/ + virtual tresult PLUGIN_API queue (IAttrID listID, const FVariant& data) = 0; + + /** Store binary data in the archive. Parameter 'copyBytes' specifies if the passed data should be copied. + The archive cannot take the ownership of binary data. Either it just references a buffer in order + to write it to a file (copyBytes = false) or it copies the data to its own buffers (copyBytes = true). + When binary data should be stored in the default pool for example, you must always copy it!*/ + virtual tresult PLUGIN_API setBinaryData (IAttrID attrID, void* data, uint32 bytes, bool copyBytes) = 0; + //@} + + /*! \name Methods to read attributes + ******************************************************************************************************** */ + //@{ + /** Get data previously stored to the archive. */ + virtual tresult PLUGIN_API get (IAttrID attrID, FVariant& data) = 0; + + /** Get list of data previously stored to the archive. As long as there are queue members the method + will return kResultTrue. When the queue is empty, the methods returns kResultFalse. All lists except from + object lists can be reset which means that the items can be read once again. \see IAttributes::resetQueue */ + virtual tresult PLUGIN_API unqueue (IAttrID listID, FVariant& data) = 0; + + /** Get the amount of items in a queue. */ + virtual int32 PLUGIN_API getQueueItemCount (IAttrID) = 0; + + /** Reset a queue. If you need to restart reading a queue, you have to reset it. You can reset a queue at any time.*/ + virtual tresult PLUGIN_API resetQueue (IAttrID attrID) = 0; + + /** Reset all queues in the archive.*/ + virtual tresult PLUGIN_API resetAllQueues () = 0; + + /** Read binary data from the archive. The data is copied into the passed buffer. The size of that buffer + must fit the size of data stored in the archive which can be queried via IAttributes::getBinaryDataSize */ + virtual tresult PLUGIN_API getBinaryData (IAttrID attrID, void* data, uint32 bytes) = 0; + /** Get the size in bytes of binary data in the archive. */ + virtual uint32 PLUGIN_API getBinaryDataSize (IAttrID attrID) = 0; + //@} + +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IAttributes, 0xFA1E32F9, 0xCA6D46F5, 0xA982F956, 0xB1191B58) + +//------------------------------------------------------------------------ +/** Extended access to Attributes; supports Attribute retrieval via iteration. +[host imp] \n +[released] C7/N6 \n +\ingroup frameworkHostClasses +*/ +//------------------------------------------------------------------------ +class IAttributes2 : public IAttributes +{ +public: + /** Returns the number of existing attributes. */ + virtual int32 PLUGIN_API countAttributes () const = 0; + /** Returns the attribute's ID for the given index. */ + virtual IAttrID PLUGIN_API getAttributeID (int32 index) const = 0; +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IAttributes2, 0x1382126A, 0xFECA4871, 0x97D52A45, 0xB042AE99) + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h index 9223652b..4370bcea 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/ipluginbase.h @@ -1,436 +1,436 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/ipluginbase.h -// Created by : Steinberg, 01/2004 -// Description : Basic Plug-in Interfaces -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "funknown.h" -#include "fstrdefs.h" - -namespace Steinberg { - -//------------------------------------------------------------------------ -/** Basic interface to a Plug-in component. -\ingroup pluginBase -- [plug imp] -- initialize/terminate the Plug-in component - -The host uses this interface to initialize and to terminate the Plug-in component. -The context that is passed to the initialize method contains any interface to the -host that the Plug-in will need to work. These interfaces can vary from category to category. -A list of supported host context interfaces should be included in the documentation -of a specific category. */ -//------------------------------------------------------------------------ -class IPluginBase: public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** The host passes a number of interfaces as context to initialize the Plug-in class. - @note Extensive memory allocations etc. should be performed in this method rather than in the class' constructor! - If the method does NOT return kResultOk, the object is released immediately. In this case terminate is not called! */ - virtual tresult PLUGIN_API initialize (FUnknown* context) = 0; - - /** This function is called before the Plug-in is unloaded and can be used for - cleanups. You have to release all references to any host application interfaces. */ - virtual tresult PLUGIN_API terminate () = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IPluginBase, 0x22888DDB, 0x156E45AE, 0x8358B348, 0x08190625) - - -//------------------------------------------------------------------------ -/** Basic Information about the class factory of the Plug-in. -\ingroup pluginBase -*/ -//------------------------------------------------------------------------ -struct PFactoryInfo -{ -//------------------------------------------------------------------------ - enum FactoryFlags - { - kNoFlags = 0, ///< Nothing - kClassesDiscardable = 1 << 0, ///< The number of exported classes can change each time the Module is loaded. If this flag is set, the host does not cache class information. This leads to a longer startup time because the host always has to load the Module to get the current class information. - kLicenseCheck = 1 << 1, ///< Class IDs of components are interpreted as Syncrosoft-License (LICENCE_UID). Loaded in a Steinberg host, the module will not be loaded when the license is not valid - kComponentNonDiscardable = 1 << 3, ///< Component won't be unloaded until process exit - kUnicode = 1 << 4 ///< Components have entirely unicode encoded strings. (True for VST 3 Plug-ins so far) - }; - - enum - { - kURLSize = 256, - kEmailSize = 128, - kNameSize = 64 - }; - -//------------------------------------------------------------------------ - char8 vendor[kNameSize]; ///< e.g. "Steinberg Media Technologies" - char8 url[kURLSize]; ///< e.g. "http://www.steinberg.de" - char8 email[kEmailSize]; ///< e.g. "info@steinberg.de" - int32 flags; ///< (see above) -//------------------------------------------------------------------------ - PFactoryInfo (const char8* _vendor, const char8* _url, const char8* _email, int32 _flags) - { - strncpy8 (vendor, _vendor, kNameSize); - strncpy8 (url, _url, kURLSize); - strncpy8 (email, _email, kEmailSize); - flags = _flags; -#ifdef UNICODE - flags |= kUnicode; -#endif - } -#if SMTG_CPP11 - constexpr PFactoryInfo () : vendor (), url (), email (), flags () {} -#else - PFactoryInfo () { memset (this, 0, sizeof (PFactoryInfo)); } -#endif -}; - -//------------------------------------------------------------------------ -/** Basic Information about a class provided by the Plug-in. -\ingroup pluginBase -*/ -//------------------------------------------------------------------------ -struct PClassInfo -{ -//------------------------------------------------------------------------ - enum ClassCardinality - { - kManyInstances = 0x7FFFFFFF - }; - - enum - { - kCategorySize = 32, - kNameSize = 64 - }; -//------------------------------------------------------------------------ - TUID cid; ///< Class ID 16 Byte class GUID - int32 cardinality; ///< cardinality of the class, set to kManyInstances (see \ref ClassCardinality) - char8 category[kCategorySize]; ///< class category, host uses this to categorize interfaces - char8 name[kNameSize]; ///< class name, visible to the user -//------------------------------------------------------------------------ - - PClassInfo (const TUID _cid, int32 _cardinality, const char8* _category, const char8* _name) - { - memset (this, 0, sizeof (PClassInfo)); - memcpy (cid, _cid, sizeof (TUID)); - if (_category) - strncpy8 (category, _category, kCategorySize); - if (_name) - strncpy8 (name, _name, kNameSize); - cardinality = _cardinality; - } -#if SMTG_CPP11 - constexpr PClassInfo () : cid (), cardinality (), category (), name () {} -#else - PClassInfo () { memset (this, 0, sizeof (PClassInfo)); } -#endif -}; - - -//------------------------------------------------------------------------ -// IPluginFactory interface declaration -//------------------------------------------------------------------------ -/** Class factory that any Plug-in defines for creating class instances. -\ingroup pluginBase -- [plug imp] - -From the host's point of view a Plug-in module is a factory which can create -a certain kind of object(s). The interface IPluginFactory provides methods -to get information about the classes exported by the Plug-in and a -mechanism to create instances of these classes (that usually define the IPluginBase interface). - - An implementation is provided in public.sdk/source/common/pluginfactory.cpp -\see GetPluginFactory -*/ -//------------------------------------------------------------------------ -class IPluginFactory : public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** Fill a PFactoryInfo structure with information about the Plug-in vendor. */ - virtual tresult PLUGIN_API getFactoryInfo (PFactoryInfo* info) = 0; - - /** Returns the number of exported classes by this factory. - If you are using the CPluginFactory implementation provided by the SDK, it returns the number of classes you registered with CPluginFactory::registerClass. */ - virtual int32 PLUGIN_API countClasses () = 0; - - /** Fill a PClassInfo structure with information about the class at the specified index. */ - virtual tresult PLUGIN_API getClassInfo (int32 index, PClassInfo* info) = 0; - - /** Create a new class instance. */ - virtual tresult PLUGIN_API createInstance (FIDString cid, FIDString _iid, void** obj) = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IPluginFactory, 0x7A4D811C, 0x52114A1F, 0xAED9D2EE, 0x0B43BF9F) - - -//------------------------------------------------------------------------ -/** Version 2 of Basic Information about a class provided by the Plug-in. -\ingroup pluginBase -*/ -//------------------------------------------------------------------------ -struct PClassInfo2 -{ -//------------------------------------------------------------------------ - TUID cid; ///< Class ID 16 Byte class GUID - int32 cardinality; ///< cardinality of the class, set to kManyInstances (see \ref ClassCardinality) - char8 category[PClassInfo::kCategorySize]; ///< class category, host uses this to categorize interfaces - char8 name[PClassInfo::kNameSize]; ///< class name, visible to the user - - enum { - kVendorSize = 64, - kVersionSize = 64, - kSubCategoriesSize = 128 - }; - - uint32 classFlags; ///< flags used for a specific category, must be defined where category is defined - char8 subCategories[kSubCategoriesSize]; ///< module specific subcategories, can be more than one, logically added by the \c OR operator - char8 vendor[kVendorSize]; ///< overwrite vendor information from factory info - char8 version[kVersionSize]; ///< Version string (e.g. "1.0.0.512" with Major.Minor.Subversion.Build) - char8 sdkVersion[kVersionSize]; ///< SDK version used to build this class (e.g. "VST 3.0") - -//------------------------------------------------------------------------ - - PClassInfo2 (const TUID _cid, int32 _cardinality, const char8* _category, const char8* _name, - int32 _classFlags, const char8* _subCategories, const char8* _vendor, const char8* _version, - const char8* _sdkVersion) - { - memset (this, 0, sizeof (PClassInfo2)); - memcpy (cid, _cid, sizeof (TUID)); - cardinality = _cardinality; - if (_category) - strncpy8 (category, _category, PClassInfo::kCategorySize); - if (_name) - strncpy8 (name, _name, PClassInfo::kNameSize); - classFlags = static_cast (_classFlags); - if (_subCategories) - strncpy8 (subCategories, _subCategories, kSubCategoriesSize); - if (_vendor) - strncpy8 (vendor, _vendor, kVendorSize); - if (_version) - strncpy8 (version, _version, kVersionSize); - if (_sdkVersion) - strncpy8 (sdkVersion, _sdkVersion, kVersionSize); - } -#if SMTG_CPP11 - constexpr PClassInfo2 () - : cid () - , cardinality () - , category () - , name () - , classFlags () - , subCategories () - , vendor () - , version () - , sdkVersion () - { - } -#else - PClassInfo2 () { memset (this, 0, sizeof (PClassInfo2)); } -#endif -}; - -//------------------------------------------------------------------------ -// IPluginFactory2 interface declaration -//------------------------------------------------------------------------ -/** Version 2 of class factory supporting PClassInfo2. -\ingroup pluginBase -\copydoc IPluginFactory -*/ -//------------------------------------------------------------------------ -class IPluginFactory2 : public IPluginFactory -{ -public: -//------------------------------------------------------------------------ - /** Returns the class info (version 2) for a given index. */ - virtual tresult PLUGIN_API getClassInfo2 (int32 index, PClassInfo2* info) = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -}; -DECLARE_CLASS_IID (IPluginFactory2, 0x0007B650, 0xF24B4C0B, 0xA464EDB9, 0xF00B2ABB) - - -//------------------------------------------------------------------------ -/** Unicode Version of Basic Information about a class provided by the Plug-in */ -//------------------------------------------------------------------------ -struct PClassInfoW -{ -//------------------------------------------------------------------------ - TUID cid; ///< see \ref PClassInfo - int32 cardinality; ///< see \ref PClassInfo - char8 category[PClassInfo::kCategorySize]; ///< see \ref PClassInfo - char16 name[PClassInfo::kNameSize]; ///< see \ref PClassInfo - - enum { - kVendorSize = 64, - kVersionSize = 64, - kSubCategoriesSize = 128 - }; - - uint32 classFlags; ///< flags used for a specific category, must be defined where category is defined - char8 subCategories[kSubCategoriesSize];///< module specific subcategories, can be more than one, logically added by the \c OR operator - char16 vendor[kVendorSize]; ///< overwrite vendor information from factory info - char16 version[kVersionSize]; ///< Version string (e.g. "1.0.0.512" with Major.Minor.Subversion.Build) - char16 sdkVersion[kVersionSize]; ///< SDK version used to build this class (e.g. "VST 3.0") - -//------------------------------------------------------------------------ - PClassInfoW (const TUID _cid, int32 _cardinality, const char8* _category, const char16* _name, - int32 _classFlags, const char8* _subCategories, const char16* _vendor, const char16* _version, - const char16* _sdkVersion) - { - memset (this, 0, sizeof (PClassInfoW)); - memcpy (cid, _cid, sizeof (TUID)); - cardinality = _cardinality; - if (_category) - strncpy8 (category, _category, PClassInfo::kCategorySize); - if (_name) - strncpy16 (name, _name, PClassInfo::kNameSize); - classFlags = static_cast (_classFlags); - if (_subCategories) - strncpy8 (subCategories, _subCategories, kSubCategoriesSize); - if (_vendor) - strncpy16 (vendor, _vendor, kVendorSize); - if (_version) - strncpy16 (version, _version, kVersionSize); - if (_sdkVersion) - strncpy16 (sdkVersion, _sdkVersion, kVersionSize); - } -#if SMTG_CPP11 - constexpr PClassInfoW () - : cid () - , cardinality () - , category () - , name () - , classFlags () - , subCategories () - , vendor () - , version () - , sdkVersion () - { - } -#else - PClassInfoW () { memset (this, 0, sizeof (PClassInfoW)); } -#endif - - void fromAscii (const PClassInfo2& ci2) - { - memcpy (cid, ci2.cid, sizeof (TUID)); - cardinality = ci2.cardinality; - strncpy8 (category, ci2.category, PClassInfo::kCategorySize); - str8ToStr16 (name, ci2.name, PClassInfo::kNameSize); - classFlags = ci2.classFlags; - strncpy8 (subCategories, ci2.subCategories, kSubCategoriesSize); - - str8ToStr16 (vendor, ci2.vendor, kVendorSize); - str8ToStr16 (version, ci2.version, kVersionSize); - str8ToStr16 (sdkVersion, ci2.sdkVersion, kVersionSize); - } -}; - - -//------------------------------------------------------------------------ -// IPluginFactory3 interface declaration -//------------------------------------------------------------------------ -/** Version 3 of class factory supporting PClassInfoW. -\ingroup pluginBase -\copydoc IPluginFactory -*/ -//------------------------------------------------------------------------ -class IPluginFactory3 : public IPluginFactory2 -{ -public: -//------------------------------------------------------------------------ - /** Returns the unicode class info for a given index. */ - virtual tresult PLUGIN_API getClassInfoUnicode (int32 index, PClassInfoW* info) = 0; - - /** Receives information about host*/ - virtual tresult PLUGIN_API setHostContext (FUnknown* context) = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -}; -DECLARE_CLASS_IID (IPluginFactory3, 0x4555A2AB, 0xC1234E57, 0x9B122910, 0x36878931) -//------------------------------------------------------------------------ -} // namespace Steinberg - - -//------------------------------------------------------------------------ -#define LICENCE_UID(l1, l2, l3, l4) \ -{ \ - (int8)((l1 & 0xFF000000) >> 24), (int8)((l1 & 0x00FF0000) >> 16), \ - (int8)((l1 & 0x0000FF00) >> 8), (int8)((l1 & 0x000000FF) ), \ - (int8)((l2 & 0xFF000000) >> 24), (int8)((l2 & 0x00FF0000) >> 16), \ - (int8)((l2 & 0x0000FF00) >> 8), (int8)((l2 & 0x000000FF) ), \ - (int8)((l3 & 0xFF000000) >> 24), (int8)((l3 & 0x00FF0000) >> 16), \ - (int8)((l3 & 0x0000FF00) >> 8), (int8)((l3 & 0x000000FF) ), \ - (int8)((l4 & 0xFF000000) >> 24), (int8)((l4 & 0x00FF0000) >> 16), \ - (int8)((l4 & 0x0000FF00) >> 8), (int8)((l4 & 0x000000FF) ) \ -} - - -//------------------------------------------------------------------------ -// GetPluginFactory -//------------------------------------------------------------------------ -/** Plug-in entry point. -\ingroup pluginBase -Any Plug-in must define and export this function. \n -A typical implementation of GetPluginFactory looks like this - \code - IPluginFactory* PLUGIN_API GetPluginFactory () - { - if (!gPluginFactory) - { - static PFactoryInfo factoryInfo = - { - "My Company Name", - "http://www.mywebpage.com", - "mailto:myemail@address.com", - PFactoryInfo::kNoFlags - }; - - gPluginFactory = new CPluginFactory (factoryInfo); - - static PClassInfo componentClass = - { - INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000), // replace by a valid uid - 1, - "Service", // category - "Name" - }; - - gPluginFactory->registerClass (&componentClass, MyComponentClass::newInstance); - } - else - gPluginFactory->addRef (); - - return gPluginFactory; - } - \endcode -\see \ref loadPlugin -*/ -//------------------------------------------------------------------------ -extern "C" -{ - Steinberg::IPluginFactory* PLUGIN_API GetPluginFactory (); - typedef Steinberg::IPluginFactory* (PLUGIN_API *GetFactoryProc) (); -} +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/ipluginbase.h +// Created by : Steinberg, 01/2004 +// Description : Basic Plug-in Interfaces +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "funknown.h" +#include "fstrdefs.h" + +namespace Steinberg { + +//------------------------------------------------------------------------ +/** Basic interface to a Plug-in component. +\ingroup pluginBase +- [plug imp] +- initialize/terminate the Plug-in component + +The host uses this interface to initialize and to terminate the Plug-in component. +The context that is passed to the initialize method contains any interface to the +host that the Plug-in will need to work. These interfaces can vary from category to category. +A list of supported host context interfaces should be included in the documentation +of a specific category. */ +//------------------------------------------------------------------------ +class IPluginBase: public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** The host passes a number of interfaces as context to initialize the Plug-in class. + @note Extensive memory allocations etc. should be performed in this method rather than in the class' constructor! + If the method does NOT return kResultOk, the object is released immediately. In this case terminate is not called! */ + virtual tresult PLUGIN_API initialize (FUnknown* context) = 0; + + /** This function is called before the Plug-in is unloaded and can be used for + cleanups. You have to release all references to any host application interfaces. */ + virtual tresult PLUGIN_API terminate () = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IPluginBase, 0x22888DDB, 0x156E45AE, 0x8358B348, 0x08190625) + + +//------------------------------------------------------------------------ +/** Basic Information about the class factory of the Plug-in. +\ingroup pluginBase +*/ +//------------------------------------------------------------------------ +struct PFactoryInfo +{ +//------------------------------------------------------------------------ + enum FactoryFlags + { + kNoFlags = 0, ///< Nothing + kClassesDiscardable = 1 << 0, ///< The number of exported classes can change each time the Module is loaded. If this flag is set, the host does not cache class information. This leads to a longer startup time because the host always has to load the Module to get the current class information. + kLicenseCheck = 1 << 1, ///< Class IDs of components are interpreted as Syncrosoft-License (LICENCE_UID). Loaded in a Steinberg host, the module will not be loaded when the license is not valid + kComponentNonDiscardable = 1 << 3, ///< Component won't be unloaded until process exit + kUnicode = 1 << 4 ///< Components have entirely unicode encoded strings. (True for VST 3 Plug-ins so far) + }; + + enum + { + kURLSize = 256, + kEmailSize = 128, + kNameSize = 64 + }; + +//------------------------------------------------------------------------ + char8 vendor[kNameSize]; ///< e.g. "Steinberg Media Technologies" + char8 url[kURLSize]; ///< e.g. "http://www.steinberg.de" + char8 email[kEmailSize]; ///< e.g. "info@steinberg.de" + int32 flags; ///< (see above) +//------------------------------------------------------------------------ + PFactoryInfo (const char8* _vendor, const char8* _url, const char8* _email, int32 _flags) + { + strncpy8 (vendor, _vendor, kNameSize); + strncpy8 (url, _url, kURLSize); + strncpy8 (email, _email, kEmailSize); + flags = _flags; +#ifdef UNICODE + flags |= kUnicode; +#endif + } +#if SMTG_CPP11 + constexpr PFactoryInfo () : vendor (), url (), email (), flags () {} +#else + PFactoryInfo () { memset (this, 0, sizeof (PFactoryInfo)); } +#endif +}; + +//------------------------------------------------------------------------ +/** Basic Information about a class provided by the Plug-in. +\ingroup pluginBase +*/ +//------------------------------------------------------------------------ +struct PClassInfo +{ +//------------------------------------------------------------------------ + enum ClassCardinality + { + kManyInstances = 0x7FFFFFFF + }; + + enum + { + kCategorySize = 32, + kNameSize = 64 + }; +//------------------------------------------------------------------------ + TUID cid; ///< Class ID 16 Byte class GUID + int32 cardinality; ///< cardinality of the class, set to kManyInstances (see \ref ClassCardinality) + char8 category[kCategorySize]; ///< class category, host uses this to categorize interfaces + char8 name[kNameSize]; ///< class name, visible to the user +//------------------------------------------------------------------------ + + PClassInfo (const TUID _cid, int32 _cardinality, const char8* _category, const char8* _name) + { + memset (this, 0, sizeof (PClassInfo)); + memcpy (cid, _cid, sizeof (TUID)); + if (_category) + strncpy8 (category, _category, kCategorySize); + if (_name) + strncpy8 (name, _name, kNameSize); + cardinality = _cardinality; + } +#if SMTG_CPP11 + constexpr PClassInfo () : cid (), cardinality (), category (), name () {} +#else + PClassInfo () { memset (this, 0, sizeof (PClassInfo)); } +#endif +}; + + +//------------------------------------------------------------------------ +// IPluginFactory interface declaration +//------------------------------------------------------------------------ +/** Class factory that any Plug-in defines for creating class instances. +\ingroup pluginBase +- [plug imp] + +From the host's point of view a Plug-in module is a factory which can create +a certain kind of object(s). The interface IPluginFactory provides methods +to get information about the classes exported by the Plug-in and a +mechanism to create instances of these classes (that usually define the IPluginBase interface). + + An implementation is provided in public.sdk/source/common/pluginfactory.cpp +\see GetPluginFactory +*/ +//------------------------------------------------------------------------ +class IPluginFactory : public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** Fill a PFactoryInfo structure with information about the Plug-in vendor. */ + virtual tresult PLUGIN_API getFactoryInfo (PFactoryInfo* info) = 0; + + /** Returns the number of exported classes by this factory. + If you are using the CPluginFactory implementation provided by the SDK, it returns the number of classes you registered with CPluginFactory::registerClass. */ + virtual int32 PLUGIN_API countClasses () = 0; + + /** Fill a PClassInfo structure with information about the class at the specified index. */ + virtual tresult PLUGIN_API getClassInfo (int32 index, PClassInfo* info) = 0; + + /** Create a new class instance. */ + virtual tresult PLUGIN_API createInstance (FIDString cid, FIDString _iid, void** obj) = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IPluginFactory, 0x7A4D811C, 0x52114A1F, 0xAED9D2EE, 0x0B43BF9F) + + +//------------------------------------------------------------------------ +/** Version 2 of Basic Information about a class provided by the Plug-in. +\ingroup pluginBase +*/ +//------------------------------------------------------------------------ +struct PClassInfo2 +{ +//------------------------------------------------------------------------ + TUID cid; ///< Class ID 16 Byte class GUID + int32 cardinality; ///< cardinality of the class, set to kManyInstances (see \ref ClassCardinality) + char8 category[PClassInfo::kCategorySize]; ///< class category, host uses this to categorize interfaces + char8 name[PClassInfo::kNameSize]; ///< class name, visible to the user + + enum { + kVendorSize = 64, + kVersionSize = 64, + kSubCategoriesSize = 128 + }; + + uint32 classFlags; ///< flags used for a specific category, must be defined where category is defined + char8 subCategories[kSubCategoriesSize]; ///< module specific subcategories, can be more than one, logically added by the \c OR operator + char8 vendor[kVendorSize]; ///< overwrite vendor information from factory info + char8 version[kVersionSize]; ///< Version string (e.g. "1.0.0.512" with Major.Minor.Subversion.Build) + char8 sdkVersion[kVersionSize]; ///< SDK version used to build this class (e.g. "VST 3.0") + +//------------------------------------------------------------------------ + + PClassInfo2 (const TUID _cid, int32 _cardinality, const char8* _category, const char8* _name, + int32 _classFlags, const char8* _subCategories, const char8* _vendor, const char8* _version, + const char8* _sdkVersion) + { + memset (this, 0, sizeof (PClassInfo2)); + memcpy (cid, _cid, sizeof (TUID)); + cardinality = _cardinality; + if (_category) + strncpy8 (category, _category, PClassInfo::kCategorySize); + if (_name) + strncpy8 (name, _name, PClassInfo::kNameSize); + classFlags = static_cast (_classFlags); + if (_subCategories) + strncpy8 (subCategories, _subCategories, kSubCategoriesSize); + if (_vendor) + strncpy8 (vendor, _vendor, kVendorSize); + if (_version) + strncpy8 (version, _version, kVersionSize); + if (_sdkVersion) + strncpy8 (sdkVersion, _sdkVersion, kVersionSize); + } +#if SMTG_CPP11 + constexpr PClassInfo2 () + : cid () + , cardinality () + , category () + , name () + , classFlags () + , subCategories () + , vendor () + , version () + , sdkVersion () + { + } +#else + PClassInfo2 () { memset (this, 0, sizeof (PClassInfo2)); } +#endif +}; + +//------------------------------------------------------------------------ +// IPluginFactory2 interface declaration +//------------------------------------------------------------------------ +/** Version 2 of class factory supporting PClassInfo2. +\ingroup pluginBase +\copydoc IPluginFactory +*/ +//------------------------------------------------------------------------ +class IPluginFactory2 : public IPluginFactory +{ +public: +//------------------------------------------------------------------------ + /** Returns the class info (version 2) for a given index. */ + virtual tresult PLUGIN_API getClassInfo2 (int32 index, PClassInfo2* info) = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +}; +DECLARE_CLASS_IID (IPluginFactory2, 0x0007B650, 0xF24B4C0B, 0xA464EDB9, 0xF00B2ABB) + + +//------------------------------------------------------------------------ +/** Unicode Version of Basic Information about a class provided by the Plug-in */ +//------------------------------------------------------------------------ +struct PClassInfoW +{ +//------------------------------------------------------------------------ + TUID cid; ///< see \ref PClassInfo + int32 cardinality; ///< see \ref PClassInfo + char8 category[PClassInfo::kCategorySize]; ///< see \ref PClassInfo + char16 name[PClassInfo::kNameSize]; ///< see \ref PClassInfo + + enum { + kVendorSize = 64, + kVersionSize = 64, + kSubCategoriesSize = 128 + }; + + uint32 classFlags; ///< flags used for a specific category, must be defined where category is defined + char8 subCategories[kSubCategoriesSize];///< module specific subcategories, can be more than one, logically added by the \c OR operator + char16 vendor[kVendorSize]; ///< overwrite vendor information from factory info + char16 version[kVersionSize]; ///< Version string (e.g. "1.0.0.512" with Major.Minor.Subversion.Build) + char16 sdkVersion[kVersionSize]; ///< SDK version used to build this class (e.g. "VST 3.0") + +//------------------------------------------------------------------------ + PClassInfoW (const TUID _cid, int32 _cardinality, const char8* _category, const char16* _name, + int32 _classFlags, const char8* _subCategories, const char16* _vendor, const char16* _version, + const char16* _sdkVersion) + { + memset (this, 0, sizeof (PClassInfoW)); + memcpy (cid, _cid, sizeof (TUID)); + cardinality = _cardinality; + if (_category) + strncpy8 (category, _category, PClassInfo::kCategorySize); + if (_name) + strncpy16 (name, _name, PClassInfo::kNameSize); + classFlags = static_cast (_classFlags); + if (_subCategories) + strncpy8 (subCategories, _subCategories, kSubCategoriesSize); + if (_vendor) + strncpy16 (vendor, _vendor, kVendorSize); + if (_version) + strncpy16 (version, _version, kVersionSize); + if (_sdkVersion) + strncpy16 (sdkVersion, _sdkVersion, kVersionSize); + } +#if SMTG_CPP11 + constexpr PClassInfoW () + : cid () + , cardinality () + , category () + , name () + , classFlags () + , subCategories () + , vendor () + , version () + , sdkVersion () + { + } +#else + PClassInfoW () { memset (this, 0, sizeof (PClassInfoW)); } +#endif + + void fromAscii (const PClassInfo2& ci2) + { + memcpy (cid, ci2.cid, sizeof (TUID)); + cardinality = ci2.cardinality; + strncpy8 (category, ci2.category, PClassInfo::kCategorySize); + str8ToStr16 (name, ci2.name, PClassInfo::kNameSize); + classFlags = ci2.classFlags; + strncpy8 (subCategories, ci2.subCategories, kSubCategoriesSize); + + str8ToStr16 (vendor, ci2.vendor, kVendorSize); + str8ToStr16 (version, ci2.version, kVersionSize); + str8ToStr16 (sdkVersion, ci2.sdkVersion, kVersionSize); + } +}; + + +//------------------------------------------------------------------------ +// IPluginFactory3 interface declaration +//------------------------------------------------------------------------ +/** Version 3 of class factory supporting PClassInfoW. +\ingroup pluginBase +\copydoc IPluginFactory +*/ +//------------------------------------------------------------------------ +class IPluginFactory3 : public IPluginFactory2 +{ +public: +//------------------------------------------------------------------------ + /** Returns the unicode class info for a given index. */ + virtual tresult PLUGIN_API getClassInfoUnicode (int32 index, PClassInfoW* info) = 0; + + /** Receives information about host*/ + virtual tresult PLUGIN_API setHostContext (FUnknown* context) = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +}; +DECLARE_CLASS_IID (IPluginFactory3, 0x4555A2AB, 0xC1234E57, 0x9B122910, 0x36878931) +//------------------------------------------------------------------------ +} // namespace Steinberg + + +//------------------------------------------------------------------------ +#define LICENCE_UID(l1, l2, l3, l4) \ +{ \ + (int8)((l1 & 0xFF000000) >> 24), (int8)((l1 & 0x00FF0000) >> 16), \ + (int8)((l1 & 0x0000FF00) >> 8), (int8)((l1 & 0x000000FF) ), \ + (int8)((l2 & 0xFF000000) >> 24), (int8)((l2 & 0x00FF0000) >> 16), \ + (int8)((l2 & 0x0000FF00) >> 8), (int8)((l2 & 0x000000FF) ), \ + (int8)((l3 & 0xFF000000) >> 24), (int8)((l3 & 0x00FF0000) >> 16), \ + (int8)((l3 & 0x0000FF00) >> 8), (int8)((l3 & 0x000000FF) ), \ + (int8)((l4 & 0xFF000000) >> 24), (int8)((l4 & 0x00FF0000) >> 16), \ + (int8)((l4 & 0x0000FF00) >> 8), (int8)((l4 & 0x000000FF) ) \ +} + + +//------------------------------------------------------------------------ +// GetPluginFactory +//------------------------------------------------------------------------ +/** Plug-in entry point. +\ingroup pluginBase +Any Plug-in must define and export this function. \n +A typical implementation of GetPluginFactory looks like this + \code + IPluginFactory* PLUGIN_API GetPluginFactory () + { + if (!gPluginFactory) + { + static PFactoryInfo factoryInfo = + { + "My Company Name", + "http://www.mywebpage.com", + "mailto:myemail@address.com", + PFactoryInfo::kNoFlags + }; + + gPluginFactory = new CPluginFactory (factoryInfo); + + static PClassInfo componentClass = + { + INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000), // replace by a valid uid + 1, + "Service", // category + "Name" + }; + + gPluginFactory->registerClass (&componentClass, MyComponentClass::newInstance); + } + else + gPluginFactory->addRef (); + + return gPluginFactory; + } + \endcode +\see \ref loadPlugin +*/ +//------------------------------------------------------------------------ +extern "C" +{ + Steinberg::IPluginFactory* PLUGIN_API GetPluginFactory (); + typedef Steinberg::IPluginFactory* (PLUGIN_API *GetFactoryProc) (); +} diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h index 0e1d66de..90531838 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/istringresult.h @@ -1,80 +1,80 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/istringresult.h -// Created by : Steinberg, 01/2005 -// Description : Strings Interface -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/funknown.h" - -namespace Steinberg { - -//------------------------------------------------------------------------ -/** Interface to return an ascii string of variable size. - In order to manage memory allocation and deallocation properly, - this interface is used to transfer a string as result parameter of - a method requires a string of unknown size. -[host imp] or [plug imp] \n -[released: SX 4] */ -//------------------------------------------------------------------------ -class IStringResult : public FUnknown -{ -public: -//------------------------------------------------------------------------ - virtual void PLUGIN_API setText (const char8* text) = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IStringResult, 0x550798BC, 0x872049DB, 0x84920A15, 0x3B50B7A8) - - -//------------------------------------------------------------------------ -/** Interface to a string of variable size and encoding. -[host imp] or [plug imp] \n -[released: ] */ -//------------------------------------------------------------------------ -class IString : public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** Assign ASCII string */ - virtual void PLUGIN_API setText8 (const char8* text) = 0; - /** Assign unicode string */ - virtual void PLUGIN_API setText16 (const char16* text) = 0; - - /** Return ASCII string. If the string is unicode so far, it will be converted. - So you need to be careful, because the conversion can result in data loss. - It is save though to call getText8 if isWideString() returns false */ - virtual const char8* PLUGIN_API getText8 () = 0; - /** Return unicode string. If the string is ASCII so far, it will be converted. */ - virtual const char16* PLUGIN_API getText16 () = 0; - - /** !Do not use this method! Early implementations take the given pointer as - internal string and this will cause problems because 'free' will be used to delete the passed memory. - Later implementations will redirect 'take' to setText8 and setText16 */ - virtual void PLUGIN_API take (void* s, bool isWide) = 0; - - /** Returns true if the string is in unicode format, returns false if the string is ASCII */ - virtual bool PLUGIN_API isWideString () const = 0; - -//------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IString, 0xF99DB7A3, 0x0FC14821, 0x800B0CF9, 0x8E348EDF) - -//------------------------------------------------------------------------ -} // namespace Steinberg +//----------------------------------------------------------------------------- +// Project : SDK Core +// +// Category : SDK Core Interfaces +// Filename : pluginterfaces/base/istringresult.h +// Created by : Steinberg, 01/2005 +// Description : Strings Interface +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/funknown.h" + +namespace Steinberg { + +//------------------------------------------------------------------------ +/** Interface to return an ascii string of variable size. + In order to manage memory allocation and deallocation properly, + this interface is used to transfer a string as result parameter of + a method requires a string of unknown size. +[host imp] or [plug imp] \n +[released: SX 4] */ +//------------------------------------------------------------------------ +class IStringResult : public FUnknown +{ +public: +//------------------------------------------------------------------------ + virtual void PLUGIN_API setText (const char8* text) = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IStringResult, 0x550798BC, 0x872049DB, 0x84920A15, 0x3B50B7A8) + + +//------------------------------------------------------------------------ +/** Interface to a string of variable size and encoding. +[host imp] or [plug imp] \n +[released: ] */ +//------------------------------------------------------------------------ +class IString : public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** Assign ASCII string */ + virtual void PLUGIN_API setText8 (const char8* text) = 0; + /** Assign unicode string */ + virtual void PLUGIN_API setText16 (const char16* text) = 0; + + /** Return ASCII string. If the string is unicode so far, it will be converted. + So you need to be careful, because the conversion can result in data loss. + It is save though to call getText8 if isWideString() returns false */ + virtual const char8* PLUGIN_API getText8 () = 0; + /** Return unicode string. If the string is ASCII so far, it will be converted. */ + virtual const char16* PLUGIN_API getText16 () = 0; + + /** !Do not use this method! Early implementations take the given pointer as + internal string and this will cause problems because 'free' will be used to delete the passed memory. + Later implementations will redirect 'take' to setText8 and setText16 */ + virtual void PLUGIN_API take (void* s, bool isWide) = 0; + + /** Returns true if the string is in unicode format, returns false if the string is ASCII */ + virtual bool PLUGIN_API isWideString () const = 0; + +//------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IString, 0xF99DB7A3, 0x0FC14821, 0x800B0CF9, 0x8E348EDF) + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h index 460413a1..c4374c46 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/iupdatehandler.h @@ -1,100 +1,100 @@ -//------------------------------------------------------------------------ -// Project : Steinberg Module Architecture SDK -// -// Category : Basic Host Service Interfaces -// Filename : pluginterfaces/base/iupdatehandler.h -// Created by : Steinberg, 01/2004 -// Description : Update handling -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/funknown.h" - -namespace Steinberg { - -class IDependent; - -//------------------------------------------------------------------------ -/** Host implements dependency handling for plugins. -[host imp] \n -[get this interface from IHostClasses] \n -[released N3.1] \n - -- Install/Remove change notifications -- Trigger updates when an object has changed - -Can be used between host-objects and the Plug-In or -inside the Plug-In to handle internal updates! - -\see IDependent -\ingroup frameworkHostClasses -*/ -//------------------------------------------------------------------------ -class IUpdateHandler: public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** Install update notification for given object. It is essential to - remove all dependencies again using 'removeDependent'! Dependencies - are not removed automatically when the 'object' is released! - \param object : interface to object that sends change notifications - \param dependent : interface through which the update is passed */ - virtual tresult PLUGIN_API addDependent (FUnknown* object, IDependent* dependent) = 0; - - /** Remove a previously installed dependency.*/ - virtual tresult PLUGIN_API removeDependent (FUnknown* object, IDependent* dependent) = 0; - - /** Inform all dependents, that object has changed. - \param object is the object that has changed - \param message is a value of enum IDependent::ChangeMessage, usually IDependent::kChanged - can be - a private message as well (only known to sender and dependent)*/ - virtual tresult PLUGIN_API triggerUpdates (FUnknown* object, int32 message) = 0; - - /** Same as triggerUpdates, but delivered in idle (usefull to collect updates).*/ - virtual tresult PLUGIN_API deferUpdates (FUnknown* object, int32 message) = 0; - static const FUID iid; -}; - -DECLARE_CLASS_IID (IUpdateHandler, 0xF5246D56, 0x86544d60, 0xB026AFB5, 0x7B697B37) - -//------------------------------------------------------------------------ -/** A dependent will get notified about changes of a model. -[plug imp] -- notify changes of a model - -\see IUpdateHandler -\ingroup frameworkHostClasses -*/ -//------------------------------------------------------------------------ -class IDependent: public FUnknown -{ -public: -//------------------------------------------------------------------------ - /** Inform the dependent, that the passed FUnknown has changed. */ - virtual void PLUGIN_API update (FUnknown* changedUnknown, int32 message) = 0; - - enum ChangeMessage - { - kWillChange, - kChanged, - kDestroyed, - kWillDestroy, - - kStdChangeMessageLast = kWillDestroy - }; - //------------------------------------------------------------------------ - static const FUID iid; -}; - -DECLARE_CLASS_IID (IDependent, 0xF52B7AAE, 0xDE72416d, 0x8AF18ACE, 0x9DD7BD5E) - -//------------------------------------------------------------------------ -} // namespace Steinberg +//------------------------------------------------------------------------ +// Project : Steinberg Module Architecture SDK +// +// Category : Basic Host Service Interfaces +// Filename : pluginterfaces/base/iupdatehandler.h +// Created by : Steinberg, 01/2004 +// Description : Update handling +// +//----------------------------------------------------------------------------- +// This file is part of a Steinberg SDK. It is subject to the license terms +// in the LICENSE file found in the top-level directory of this distribution +// and at www.steinberg.net/sdklicenses. +// No part of the SDK, including this file, may be copied, modified, propagated, +// or distributed except according to the terms contained in the LICENSE file. +//----------------------------------------------------------------------------- + +#pragma once + +#include "pluginterfaces/base/funknown.h" + +namespace Steinberg { + +class IDependent; + +//------------------------------------------------------------------------ +/** Host implements dependency handling for plugins. +[host imp] \n +[get this interface from IHostClasses] \n +[released N3.1] \n + +- Install/Remove change notifications +- Trigger updates when an object has changed + +Can be used between host-objects and the Plug-In or +inside the Plug-In to handle internal updates! + +\see IDependent +\ingroup frameworkHostClasses +*/ +//------------------------------------------------------------------------ +class IUpdateHandler: public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** Install update notification for given object. It is essential to + remove all dependencies again using 'removeDependent'! Dependencies + are not removed automatically when the 'object' is released! + \param object : interface to object that sends change notifications + \param dependent : interface through which the update is passed */ + virtual tresult PLUGIN_API addDependent (FUnknown* object, IDependent* dependent) = 0; + + /** Remove a previously installed dependency.*/ + virtual tresult PLUGIN_API removeDependent (FUnknown* object, IDependent* dependent) = 0; + + /** Inform all dependents, that object has changed. + \param object is the object that has changed + \param message is a value of enum IDependent::ChangeMessage, usually IDependent::kChanged - can be + a private message as well (only known to sender and dependent)*/ + virtual tresult PLUGIN_API triggerUpdates (FUnknown* object, int32 message) = 0; + + /** Same as triggerUpdates, but delivered in idle (usefull to collect updates).*/ + virtual tresult PLUGIN_API deferUpdates (FUnknown* object, int32 message) = 0; + static const FUID iid; +}; + +DECLARE_CLASS_IID (IUpdateHandler, 0xF5246D56, 0x86544d60, 0xB026AFB5, 0x7B697B37) + +//------------------------------------------------------------------------ +/** A dependent will get notified about changes of a model. +[plug imp] +- notify changes of a model + +\see IUpdateHandler +\ingroup frameworkHostClasses +*/ +//------------------------------------------------------------------------ +class IDependent: public FUnknown +{ +public: +//------------------------------------------------------------------------ + /** Inform the dependent, that the passed FUnknown has changed. */ + virtual void PLUGIN_API update (FUnknown* changedUnknown, int32 message) = 0; + + enum ChangeMessage + { + kWillChange, + kChanged, + kDestroyed, + kWillDestroy, + + kStdChangeMessageLast = kWillDestroy + }; + //------------------------------------------------------------------------ + static const FUID iid; +}; + +DECLARE_CLASS_IID (IDependent, 0xF52B7AAE, 0xDE72416d, 0x8AF18ACE, 0x9DD7BD5E) + +//------------------------------------------------------------------------ +} // namespace Steinberg diff --git a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h index 4dbc27ad..bcc1d829 100644 --- a/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h +++ b/modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/smartpointer.h @@ -1,370 +1,376 @@ -//----------------------------------------------------------------------------- -// Project : SDK Core -// -// Category : SDK Core Interfaces -// Filename : pluginterfaces/base/smartpointer.h -// Created by : Steinberg, 01/2004 -// Description : Basic Interface -// -//----------------------------------------------------------------------------- -// This file is part of a Steinberg SDK. It is subject to the license terms -// in the LICENSE file found in the top-level directory of this distribution -// and at www.steinberg.net/sdklicenses. -// No part of the SDK, including this file, may be copied, modified, propagated, -// or distributed except according to the terms contained in the LICENSE file. -//----------------------------------------------------------------------------- - -#pragma once - -#include "pluginterfaces/base/fplatform.h" -#if SMTG_CPP11_STDLIBSUPPORT -#include -#endif - -//------------------------------------------------------------------------ -namespace Steinberg { - -//------------------------------------------------------------------------ -// IPtr -//------------------------------------------------------------------------ -/** IPtr - Smart pointer template class. - \ingroup pluginBase - - - can be used as an I* pointer - - handles refCount of the interface - - Usage example: - \code - IPtr path (sharedPath); - if (path) - path->ascend (); - \endcode - */ -//------------------------------------------------------------------------ -template -class IPtr -{ -public: -//------------------------------------------------------------------------ - inline IPtr (I* ptr, bool addRef = true); - inline IPtr (const IPtr&); - - template - inline IPtr (const IPtr& other) : ptr (other.get ()) - { - if (ptr) - ptr->addRef (); - } - - inline IPtr (); - inline ~IPtr (); - - inline I* operator= (I* ptr); - - inline IPtr& operator= (const IPtr& other); - - template - inline IPtr& operator= (const IPtr& other) - { - operator= (other.get ()); - return *this; - } - - inline operator I* () const { return ptr; } // act as I* - inline I* operator-> () const { return ptr; } // act as I* - - inline I* get () const { return ptr; } - -#if SMTG_CPP11_STDLIBSUPPORT - inline IPtr (IPtr&& movePtr) SMTG_NOEXCEPT : ptr (movePtr.take ()) { } - - template - inline IPtr (IPtr&& movePtr) SMTG_NOEXCEPT : ptr (movePtr.take ()) { } - - inline IPtr& operator= (IPtr&& movePtr) SMTG_NOEXCEPT - { - if (ptr) - ptr->release (); - - ptr = movePtr.take (); - return *this; - } - - inline void reset (I* obj = nullptr) - { - if (ptr) - ptr->release(); - ptr = obj; - } - - I* take () SMTG_NOEXCEPT - { - I* out = ptr; - ptr = nullptr; - return out; - } - -#endif -//------------------------------------------------------------------------ -protected: - I* ptr; -}; - -//------------------------------------------------------------------------ -template -inline IPtr::IPtr (I* _ptr, bool addRef) : ptr (_ptr) -{ - if (ptr && addRef) - ptr->addRef (); -} - -//------------------------------------------------------------------------ -template -inline IPtr::IPtr (const IPtr& other) : ptr (other.ptr) -{ - if (ptr) - ptr->addRef (); -} - -//------------------------------------------------------------------------ -template -inline IPtr::IPtr () : ptr (0) -{ -} - -//------------------------------------------------------------------------ -template -inline IPtr::~IPtr () -{ - if (ptr) - ptr->release (); -} - -//------------------------------------------------------------------------ -template -inline I* IPtr::operator= (I* _ptr) -{ - if (_ptr != ptr) - { - if (ptr) - ptr->release (); - ptr = _ptr; - if (ptr) - ptr->addRef (); - } - return ptr; -} - -//------------------------------------------------------------------------ -template -inline IPtr& IPtr::operator= (const IPtr& _ptr) -{ - operator= (_ptr.ptr); - return *this; -} - -//------------------------------------------------------------------------ -/** OPtr - "owning" smart pointer used for newly created FObjects. - \ingroup pluginBase - - FUnknown implementations are supposed to have a refCount of 1 right after creation. - So using an IPtr on newly created objects would lead to a leak. - Instead the OPtr can be used in this case. \n - Example: - \code - OPtr path = FHostCreate (IPath, hostClasses); - // no release is needed... - \endcode - The assignment operator takes ownership of a new object and releases the old. - So its safe to write: - \code - OPtr path = FHostCreate (IPath, hostClasses); - path = FHostCreate (IPath, hostClasses); - path = 0; - \endcode - This is the difference to using an IPtr with addRef=false. - \code - // DONT DO THIS: - IPtr path (FHostCreate (IPath, hostClasses), false); - path = FHostCreate (IPath, hostClasses); - path = 0; - \endcode - This will lead to a leak! - */ -//------------------------------------------------------------------------ -template -class OPtr : public IPtr -{ -public: -//------------------------------------------------------------------------ - inline OPtr (I* p) : IPtr (p, false) {} - inline OPtr (const IPtr& p) : IPtr (p) {} - inline OPtr (const OPtr& p) : IPtr (p) {} - inline OPtr () {} - inline I* operator= (I* _ptr) - { - if (_ptr != this->ptr) - { - if (this->ptr) - this->ptr->release (); - this->ptr = _ptr; - } - return this->ptr; - } -}; - -//------------------------------------------------------------------------ -/** Assigning newly created object to an IPtr. - Example: - \code - IPtr path = owned (FHostCreate (IPath, hostClasses)); - \endcode - which is a slightly shorter form of writing: - \code - IPtr path = OPtr (FHostCreate (IPath, hostClasses)); - \endcode - */ -template -IPtr owned (I* p) -{ - return IPtr (p, false); -} - -/** Assigning shared object to an IPtr. - Example: - \code - IPtr path = shared (iface.getXY ()); - \endcode - */ -template -IPtr shared (I* p) -{ - return IPtr (p, true); -} - -#if SMTG_CPP11_STDLIBSUPPORT -//------------------------------------------------------------------------ -// Ownership functionality -//------------------------------------------------------------------------ -namespace SKI { -namespace Detail { -struct Adopt; -} // Detail - -/** Strong typedef for shared reference counted objects. - * Use SKI::adopt to unwrap the provided object. - * @tparam T Referenced counted type. - */ -template -class Shared -{ - friend struct Detail::Adopt; - T* obj = nullptr; -}; - -/** Strong typedef for transferring the ownership of reference counted objects. - * Use SKI::adopt to unwrap the provided object. - * After calling adopt the reference in this object is null. - * @tparam T Referenced counted type. - */ -template -class Owned -{ - friend struct Detail::Adopt; - T* obj = nullptr; -}; - -/** Strong typedef for using reference counted objects. - * Use SKI::adopt to unwrap the provided object. - * After calling adopt the reference in this object is null. - * @tparam T Referenced counted type. - */ -template -class Used -{ - friend struct Detail::Adopt; - T* obj = nullptr; -}; - -namespace Detail { - -struct Adopt -{ - template - static IPtr adopt (Shared& ref) - { - using Steinberg::shared; - return shared (ref.obj); - } - - template - static IPtr adopt (Owned& ref) - { - using Steinberg::owned; - IPtr out = owned (ref.obj); - ref.obj = nullptr; - return out; - } - - template - static T* adopt (Used& ref) - { - return ref.obj; - } - - template