diff --git a/extras/Build/CMake/JUCEModuleSupport.cmake b/extras/Build/CMake/JUCEModuleSupport.cmake index fd9058a755..9a6765d0ab 100644 --- a/extras/Build/CMake/JUCEModuleSupport.cmake +++ b/extras/Build/CMake/JUCEModuleSupport.cmake @@ -529,6 +529,19 @@ function(juce_add_module module_path) endif() endif() + if(${module_name} STREQUAL "juce_audio_processors_headless") + add_library(juce_ara_headers INTERFACE) + + target_include_directories(juce_ara_headers INTERFACE + "$<$:$>") + + target_link_libraries(juce_audio_processors_headless INTERFACE juce_ara_headers) + + if(JUCE_ARG_ALIAS_NAMESPACE) + add_library(${JUCE_ARG_ALIAS_NAMESPACE}::juce_ara_headers ALIAS juce_ara_headers) + endif() + endif() + if(${module_name} STREQUAL "juce_audio_processors") add_library(juce_vst3_headers INTERFACE) @@ -553,17 +566,9 @@ function(juce_add_module module_path) "${lv2_base_path}/lilv/src") target_link_libraries(juce_audio_processors INTERFACE juce_lilv_headers) - add_library(juce_ara_headers INTERFACE) - - target_include_directories(juce_ara_headers INTERFACE - "$<$:$>") - - target_link_libraries(juce_audio_processors INTERFACE juce_ara_headers) - if(JUCE_ARG_ALIAS_NAMESPACE) add_library(${JUCE_ARG_ALIAS_NAMESPACE}::juce_vst3_headers ALIAS juce_vst3_headers) add_library(${JUCE_ARG_ALIAS_NAMESPACE}::juce_lilv_headers ALIAS juce_lilv_headers) - add_library(${JUCE_ARG_ALIAS_NAMESPACE}::juce_ara_headers ALIAS juce_ara_headers) endif() endif() diff --git a/modules/juce_audio_formats/juce_audio_formats.cpp b/modules/juce_audio_formats/juce_audio_formats.cpp index bcbcd4c88b..d72b20ab0e 100644 --- a/modules/juce_audio_formats/juce_audio_formats.cpp +++ b/modules/juce_audio_formats/juce_audio_formats.cpp @@ -78,7 +78,7 @@ #include "codecs/juce_LAMEEncoderAudioFormat.cpp" #if JucePlugin_Enable_ARA - #include "juce_audio_processors/utilities/ARA/juce_ARADocumentControllerCommon.cpp" + #include #include "format/juce_ARAAudioReaders.cpp" #endif diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp index a1e9a4fdd9..b5c2fa71b1 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3ManifestHelper.cpp @@ -116,7 +116,7 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE #endif #include -#include +#include #include #include "juce_VST3ModuleInfo.h" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp index 400b2a0813..8cb4faa5c8 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp @@ -41,7 +41,7 @@ #include #include -#include +#include JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4127 4512 4996 5272) JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations", diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm index 755a1c9a58..85666b3895 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm @@ -73,12 +73,12 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE #include #include #include -#include +#include #include #include #if JucePlugin_Enable_ARA - #include + #include #include #if ARA_SUPPORT_VERSION_1 #error "Unsupported ARA version - only ARA version 2 and onward are supported by the current JUCE ARA implementation" diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm index a03d1f1868..edf795c3cf 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm @@ -54,7 +54,7 @@ #include #include #include -#include +#include #include #define JUCE_VIEWCONTROLLER_OBJC_NAME(x) JUCE_JOIN_MACRO (x, FactoryAUv3) diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.cpp index bf1bd28264..361465def7 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.cpp +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_LV2.cpp @@ -51,8 +51,8 @@ #include #include -#include -#include +#include +#include #include "JuceLV2Defines.h" #include diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp index 4579aeffb1..cdff24b0eb 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_Unity.cpp @@ -37,7 +37,7 @@ #if JucePlugin_Build_Unity #include -#include +#include #if JUCE_WINDOWS #include diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp index c4058d9ec4..0c8632d7ae 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp @@ -118,7 +118,7 @@ using namespace juce; #include #include -#include +#include #include #ifdef JUCE_MSVC diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp index 049baf760f..18ba2a8cca 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp @@ -61,8 +61,8 @@ JUCE_BEGIN_NO_SANITIZE ("vptr") #include //============================================================================== -#include -#include +#include +#include #include #include #include diff --git a/modules/juce_audio_processors/format_types/juce_ARAHosting.cpp b/modules/juce_audio_processors/format_types/juce_ARAHosting.cpp index 0967e43627..3e0af4b689 100644 --- a/modules/juce_audio_processors/format_types/juce_ARAHosting.cpp +++ b/modules/juce_audio_processors/format_types/juce_ARAHosting.cpp @@ -34,8 +34,6 @@ #if (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)) -#include "juce_ARAHosting.h" - #include namespace juce diff --git a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm index 81820516c8..2864c12c41 100644 --- a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm +++ b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm @@ -51,7 +51,8 @@ #include #include -#include "juce_AU_Shared.h" +#include +#include namespace juce { diff --git a/modules/juce_audio_processors/format_types/juce_VST3Common.h b/modules/juce_audio_processors/format_types/juce_VST3Common.h index 98623188b5..af83a135b9 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Common.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Common.h @@ -34,6 +34,8 @@ #pragma once +#include + /** @cond */ namespace juce { diff --git a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp index 3444f06a44..38aa74f355 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp @@ -37,7 +37,7 @@ #include "juce_VST3Headers.h" #include "juce_VST3Utilities.h" #include "juce_VST3Common.h" -#include "juce_ARACommon.h" +#include namespace juce { diff --git a/modules/juce_audio_processors/juce_audio_processors.cpp b/modules/juce_audio_processors/juce_audio_processors.cpp index 8819516eb1..a6ae5da3cc 100644 --- a/modules/juce_audio_processors/juce_audio_processors.cpp +++ b/modules/juce_audio_processors/juce_audio_processors.cpp @@ -180,19 +180,9 @@ private: } // namespace juce -#include "utilities/juce_FlagCache.h" -#include "format/juce_AudioPluginFormat.cpp" #include "format/juce_AudioPluginFormatManager.cpp" -#include "format_types/juce_LegacyAudioParameter.cpp" -#include "processors/juce_AudioProcessorParameter.cpp" -#include "processors/juce_AudioProcessor.cpp" -#include "processors/juce_AudioProcessorListener.cpp" -#include "processors/juce_AudioPluginInstance.cpp" #include "processors/juce_AudioProcessorEditor.cpp" -#include "processors/juce_AudioProcessorGraph.cpp" #include "processors/juce_GenericAudioProcessorEditor.cpp" -#include "processors/juce_PluginDescription.cpp" -#include "format_types/juce_ARACommon.cpp" #include "format_types/juce_LADSPAPluginFormat.cpp" #include "format_types/juce_VSTPluginFormat.cpp" #include "format_types/juce_VST3PluginFormat.cpp" @@ -201,20 +191,9 @@ private: #include "scanning/juce_KnownPluginList.cpp" #include "scanning/juce_PluginDirectoryScanner.cpp" #include "scanning/juce_PluginListComponent.cpp" -#include "processors/juce_AudioProcessorParameterGroup.cpp" -#include "utilities/juce_AudioProcessorParameterWithID.cpp" -#include "utilities/juce_RangedAudioParameter.cpp" -#include "utilities/juce_AudioParameterFloat.cpp" -#include "utilities/juce_AudioParameterInt.cpp" -#include "utilities/juce_AudioParameterBool.cpp" -#include "utilities/juce_AudioParameterChoice.cpp" #include "utilities/juce_ParameterAttachments.cpp" #include "utilities/juce_AudioProcessorValueTreeState.cpp" #include "utilities/juce_PluginHostType.cpp" -#include "utilities/juce_AAXClientExtensions.cpp" -#include "utilities/juce_VST2ClientExtensions.cpp" -#include "utilities/juce_VST3ClientExtensions.cpp" -#include "utilities/ARA/juce_ARA_utils.cpp" #include "format_types/juce_LV2PluginFormat.cpp" diff --git a/modules/juce_audio_processors/juce_audio_processors.h b/modules/juce_audio_processors/juce_audio_processors.h index 63437d5fc7..b6f0bcd517 100644 --- a/modules/juce_audio_processors/juce_audio_processors.h +++ b/modules/juce_audio_processors/juce_audio_processors.h @@ -137,24 +137,9 @@ #endif //============================================================================== -#include "utilities/juce_AAXClientExtensions.h" -#include "utilities/juce_VST2ClientExtensions.h" -#include "utilities/juce_VST3Interface.h" -#include "utilities/juce_VST3ClientExtensions.h" -#include "format_types/juce_ARACommon.h" -#include "utilities/juce_ExtensionsVisitor.h" -#include "processors/juce_AudioProcessorParameter.h" -#include "processors/juce_HostedAudioProcessorParameter.h" #include "processors/juce_AudioProcessorEditorHostContext.h" #include "processors/juce_AudioProcessorEditor.h" -#include "processors/juce_AudioProcessorListener.h" -#include "processors/juce_AudioProcessorParameterGroup.h" -#include "processors/juce_AudioProcessor.h" -#include "processors/juce_PluginDescription.h" -#include "processors/juce_AudioPluginInstance.h" -#include "processors/juce_AudioProcessorGraph.h" #include "processors/juce_GenericAudioProcessorEditor.h" -#include "format/juce_AudioPluginFormat.h" #include "format/juce_AudioPluginFormatManager.h" #include "scanning/juce_KnownPluginList.h" #include "format_types/juce_AudioUnitPluginFormat.h" @@ -166,17 +151,9 @@ #include "format_types/juce_ARAHosting.h" #include "scanning/juce_PluginDirectoryScanner.h" #include "scanning/juce_PluginListComponent.h" -#include "utilities/juce_AudioProcessorParameterWithID.h" -#include "utilities/juce_RangedAudioParameter.h" -#include "utilities/juce_AudioParameterFloat.h" -#include "utilities/juce_AudioParameterInt.h" -#include "utilities/juce_AudioParameterBool.h" -#include "utilities/juce_AudioParameterChoice.h" #include "utilities/juce_ParameterAttachments.h" #include "utilities/juce_AudioProcessorValueTreeState.h" #include "utilities/juce_PluginHostType.h" -#include "utilities/ARA/juce_ARADebug.h" -#include "utilities/ARA/juce_ARA_utils.h" //============================================================================== // These declarations are here to avoid missing-prototype warnings in user code. diff --git a/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp b/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp index 947397bc91..57d24e4fe1 100644 --- a/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp +++ b/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp @@ -32,6 +32,8 @@ ============================================================================== */ +#include + namespace juce { diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp b/modules/juce_audio_processors_headless/format/juce_AudioPluginFormat.cpp similarity index 100% rename from modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp rename to modules/juce_audio_processors_headless/format/juce_AudioPluginFormat.cpp diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormat.h b/modules/juce_audio_processors_headless/format/juce_AudioPluginFormat.h similarity index 100% rename from modules/juce_audio_processors/format/juce_AudioPluginFormat.h rename to modules/juce_audio_processors_headless/format/juce_AudioPluginFormat.h diff --git a/modules/juce_audio_processors/format_types/juce_ARACommon.h b/modules/juce_audio_processors_headless/format_types/juce_ARACommon.h similarity index 100% rename from modules/juce_audio_processors/format_types/juce_ARACommon.h rename to modules/juce_audio_processors_headless/format_types/juce_ARACommon.h diff --git a/modules/juce_audio_processors/format_types/juce_ARACommon.cpp b/modules/juce_audio_processors_headless/format_types/juce_ARACommonInternal.h similarity index 88% rename from modules/juce_audio_processors/format_types/juce_ARACommon.cpp rename to modules/juce_audio_processors_headless/format_types/juce_ARACommonInternal.h index be0fc868cb..5d195c93f4 100644 --- a/modules/juce_audio_processors/format_types/juce_ARACommon.cpp +++ b/modules/juce_audio_processors_headless/format_types/juce_ARACommonInternal.h @@ -32,15 +32,19 @@ ============================================================================== */ +#pragma once + #if (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)) +#include + namespace juce { -static void dummyARAInterfaceAssert (ARA::ARAAssertCategory, const void*, const char*) +static inline void dummyARAInterfaceAssert (ARA::ARAAssertCategory, const void*, const char*) {} -static ARA::ARAInterfaceConfiguration createInterfaceConfig (const ARA::ARAFactory* araFactory) +static inline ARA::ARAInterfaceConfiguration createInterfaceConfig (const ARA::ARAFactory* araFactory) { static auto* assertFunction = &dummyARAInterfaceAssert; @@ -68,8 +72,8 @@ static ARA::ARAInterfaceConfiguration createInterfaceConfig (const ARA::ARAFacto On both platforms the onDelete function is used to release resources that ensure that the module providing the ARAFactory* remains loaded. */ -static std::shared_ptr getOrCreateARAFactory (const ARA::ARAFactory* ptr, - std::function onDelete) +static inline std::shared_ptr getOrCreateARAFactory (const ARA::ARAFactory* ptr, + std::function onDelete) { JUCE_ASSERT_MESSAGE_THREAD diff --git a/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp b/modules/juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h similarity index 97% rename from modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp rename to modules/juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h index 2225dfeea0..b369de51b0 100644 --- a/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp +++ b/modules/juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h @@ -32,6 +32,8 @@ ============================================================================== */ +#pragma once + namespace juce { diff --git a/modules/juce_audio_processors_headless/juce_audio_processors_headless.cpp b/modules/juce_audio_processors_headless/juce_audio_processors_headless.cpp index cdb9321824..cc78d70a47 100644 --- a/modules/juce_audio_processors_headless/juce_audio_processors_headless.cpp +++ b/modules/juce_audio_processors_headless/juce_audio_processors_headless.cpp @@ -42,3 +42,22 @@ #endif #include "juce_audio_processors_headless.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/modules/juce_audio_processors_headless/juce_audio_processors_headless.h b/modules/juce_audio_processors_headless/juce_audio_processors_headless.h index 7bdb168655..4ac93ad83f 100644 --- a/modules/juce_audio_processors_headless/juce_audio_processors_headless.h +++ b/modules/juce_audio_processors_headless/juce_audio_processors_headless.h @@ -65,3 +65,27 @@ #include #include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/modules/juce_audio_processors/juce_audio_processors_ara.cpp b/modules/juce_audio_processors_headless/juce_audio_processors_headless_ara.cpp similarity index 94% rename from modules/juce_audio_processors/juce_audio_processors_ara.cpp rename to modules/juce_audio_processors_headless/juce_audio_processors_headless_ara.cpp index b731fdc2cb..c15836f868 100644 --- a/modules/juce_audio_processors/juce_audio_processors_ara.cpp +++ b/modules/juce_audio_processors_headless/juce_audio_processors_headless_ara.cpp @@ -35,7 +35,7 @@ #include #include -#include "utilities/ARA/juce_ARADebug.h" +#include /* Having WIN32_LEAN_AND_MEAN defined at the point of including ARADebug.c will produce warnings. diff --git a/modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp b/modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.cpp similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp rename to modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.cpp diff --git a/modules/juce_audio_processors/processors/juce_AudioPluginInstance.h b/modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.h similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioPluginInstance.h rename to modules/juce_audio_processors_headless/processors/juce_AudioPluginInstance.h diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp b/modules/juce_audio_processors_headless/processors/juce_AudioProcessor.cpp similarity index 96% rename from modules/juce_audio_processors/processors/juce_AudioProcessor.cpp rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessor.cpp index 26fdf35837..3699727d98 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp +++ b/modules/juce_audio_processors_headless/processors/juce_AudioProcessor.cpp @@ -883,6 +883,9 @@ void AudioProcessor::audioIOChanged (bool busNumberChanged, bool channelNumChang //============================================================================== void AudioProcessor::editorBeingDeleted (AudioProcessorEditor* const editor) noexcept { + // Don't free UI objects from non-UI threads! + JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED + const ScopedLock sl (activeEditorLock); if (activeEditor == editor) @@ -891,25 +894,32 @@ void AudioProcessor::editorBeingDeleted (AudioProcessorEditor* const editor) noe AudioProcessorEditor* AudioProcessor::getActiveEditor() const noexcept { + // Don't query UI objects from non-UI threads! + JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED + const ScopedLock sl (activeEditorLock); return activeEditor; } AudioProcessorEditor* AudioProcessor::createEditorIfNeeded() { + // Don't create UI objects from non-UI threads! + JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED + const ScopedLock sl (activeEditorLock); if (activeEditor != nullptr) - return activeEditor; + { + // There's already an active editor! Before calling createEditorIfNeeded(), + // you should check whether there's already an editor using getActiveEditor(). + jassertfalse; + return nullptr; + } auto* ed = createEditor(); if (ed != nullptr) - { - // you must give your editor comp a size before returning it.. - jassert (ed->getWidth() > 0 && ed->getHeight() > 0); activeEditor = ed; - } // You must make your hasEditor() method return a consistent result! jassert (hasEditor() == (ed != nullptr)); diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors_headless/processors/juce_AudioProcessor.h similarity index 97% rename from modules/juce_audio_processors/processors/juce_AudioProcessor.h rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessor.h index b7d8b633e0..b3cf4cd9d6 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h +++ b/modules/juce_audio_processors_headless/processors/juce_AudioProcessor.h @@ -35,6 +35,8 @@ namespace juce { +class AudioProcessorEditor; + //============================================================================== /** Base class for audio processing classes or plugins. @@ -1030,6 +1032,10 @@ public: Note that you should only call this method from the message thread as the active editor may be deleted by the message thread, causing a dangling pointer. + + The returned pointer is *non-owning*! If you're planning to store this pointer, + it's a good idea to immediately wrap this in a Component::SafePointer or similar + so that you don't try to use the editor after the owner destroys it. */ AudioProcessorEditor* getActiveEditor() const noexcept; @@ -1596,7 +1602,7 @@ private: //============================================================================== Array listeners; - Component::SafePointer activeEditor; + AudioProcessorEditor* activeEditor = nullptr; double currentSampleRate = 0; int blockSize = 0, latencySamples = 0; bool suspended = false; diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorGraph.cpp similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorGraph.cpp diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorGraph.h similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorGraph.h diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorListener.cpp b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorListener.cpp similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioProcessorListener.cpp rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorListener.cpp diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorListener.h b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorListener.h similarity index 97% rename from modules/juce_audio_processors/processors/juce_AudioProcessorListener.h rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorListener.h index 3aa5122a2c..790b4cc9a5 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorListener.h +++ b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorListener.h @@ -35,6 +35,8 @@ namespace juce { +class AudioProcessor; + //============================================================================== /** Base class for listeners that want to know about changes to an AudioProcessor. diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorParameter.cpp b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameter.cpp similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioProcessorParameter.cpp rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameter.cpp diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameter.h similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameter.h diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameterGroup.cpp similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.cpp rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameterGroup.cpp diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h b/modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameterGroup.h similarity index 100% rename from modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h rename to modules/juce_audio_processors_headless/processors/juce_AudioProcessorParameterGroup.h diff --git a/modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h b/modules/juce_audio_processors_headless/processors/juce_HostedAudioProcessorParameter.h similarity index 100% rename from modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h rename to modules/juce_audio_processors_headless/processors/juce_HostedAudioProcessorParameter.h diff --git a/modules/juce_audio_processors/processors/juce_PluginDescription.cpp b/modules/juce_audio_processors_headless/processors/juce_PluginDescription.cpp similarity index 100% rename from modules/juce_audio_processors/processors/juce_PluginDescription.cpp rename to modules/juce_audio_processors_headless/processors/juce_PluginDescription.cpp diff --git a/modules/juce_audio_processors/processors/juce_PluginDescription.h b/modules/juce_audio_processors_headless/processors/juce_PluginDescription.h similarity index 100% rename from modules/juce_audio_processors/processors/juce_PluginDescription.h rename to modules/juce_audio_processors_headless/processors/juce_PluginDescription.h diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARADebug.h b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARADebug.h similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARADebug.h rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARADebug.h diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARADocumentController.cpp b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARADocumentController.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARADocumentController.cpp rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARADocumentController.cpp diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARADocumentController.h b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARADocumentController.h similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARADocumentController.h rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARADocumentController.h diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARADocumentControllerCommon.cpp b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARADocumentControllerCommon.h similarity index 97% rename from modules/juce_audio_processors/utilities/ARA/juce_ARADocumentControllerCommon.cpp rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARADocumentControllerCommon.h index a85a66ac5d..9a6d76fcee 100644 --- a/modules/juce_audio_processors/utilities/ARA/juce_ARADocumentControllerCommon.cpp +++ b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARADocumentControllerCommon.h @@ -32,6 +32,8 @@ ============================================================================== */ +#pragma once + namespace juce { diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARAModelObjects.cpp b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARAModelObjects.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARAModelObjects.cpp rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARAModelObjects.cpp diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARAModelObjects.h b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARAModelObjects.h similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARAModelObjects.h rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARAModelObjects.h diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARAPlugInInstanceRoles.cpp b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARAPlugInInstanceRoles.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARAPlugInInstanceRoles.cpp rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARAPlugInInstanceRoles.cpp diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARAPlugInInstanceRoles.h b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARAPlugInInstanceRoles.h similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARAPlugInInstanceRoles.h rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARAPlugInInstanceRoles.h diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARA_utils.cpp b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARA_utils.cpp similarity index 95% rename from modules/juce_audio_processors/utilities/ARA/juce_ARA_utils.cpp rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARA_utils.cpp index e2456ff335..f1881358b7 100644 --- a/modules/juce_audio_processors/utilities/ARA/juce_ARA_utils.cpp +++ b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARA_utils.cpp @@ -55,7 +55,7 @@ JUCE_API void JUCE_CALLTYPE handleARAAssertion (const char* file, const int line #endif #if JucePlugin_Enable_ARA -#include "juce_ARADocumentControllerCommon.cpp" +#include "juce_ARADocumentControllerCommon.h" #include "juce_ARADocumentController.cpp" #include "juce_ARAModelObjects.cpp" #include "juce_ARAPlugInInstanceRoles.cpp" diff --git a/modules/juce_audio_processors/utilities/ARA/juce_ARA_utils.h b/modules/juce_audio_processors_headless/utilities/ARA/juce_ARA_utils.h similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_ARA_utils.h rename to modules/juce_audio_processors_headless/utilities/ARA/juce_ARA_utils.h diff --git a/modules/juce_audio_processors/utilities/ARA/juce_AudioProcessor_ARAExtensions.cpp b/modules/juce_audio_processors_headless/utilities/ARA/juce_AudioProcessor_ARAExtensions.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_AudioProcessor_ARAExtensions.cpp rename to modules/juce_audio_processors_headless/utilities/ARA/juce_AudioProcessor_ARAExtensions.cpp diff --git a/modules/juce_audio_processors/utilities/ARA/juce_AudioProcessor_ARAExtensions.h b/modules/juce_audio_processors_headless/utilities/ARA/juce_AudioProcessor_ARAExtensions.h similarity index 100% rename from modules/juce_audio_processors/utilities/ARA/juce_AudioProcessor_ARAExtensions.h rename to modules/juce_audio_processors_headless/utilities/ARA/juce_AudioProcessor_ARAExtensions.h diff --git a/modules/juce_audio_processors/utilities/juce_AAXClientExtensions.cpp b/modules/juce_audio_processors_headless/utilities/juce_AAXClientExtensions.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AAXClientExtensions.cpp rename to modules/juce_audio_processors_headless/utilities/juce_AAXClientExtensions.cpp diff --git a/modules/juce_audio_processors/utilities/juce_AAXClientExtensions.h b/modules/juce_audio_processors_headless/utilities/juce_AAXClientExtensions.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AAXClientExtensions.h rename to modules/juce_audio_processors_headless/utilities/juce_AAXClientExtensions.h diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterBool.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterBool.cpp rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterBool.cpp diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterBool.h b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterBool.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterBool.h rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterBool.h diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterChoice.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterChoice.cpp rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterChoice.cpp diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterChoice.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterChoice.h diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterFloat.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterFloat.cpp rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterFloat.cpp diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterFloat.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterFloat.h diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterInt.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterInt.cpp rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterInt.cpp diff --git a/modules/juce_audio_processors/utilities/juce_AudioParameterInt.h b/modules/juce_audio_processors_headless/utilities/juce_AudioParameterInt.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioParameterInt.h rename to modules/juce_audio_processors_headless/utilities/juce_AudioParameterInt.h diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp b/modules/juce_audio_processors_headless/utilities/juce_AudioProcessorParameterWithID.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.cpp rename to modules/juce_audio_processors_headless/utilities/juce_AudioProcessorParameterWithID.cpp diff --git a/modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h b/modules/juce_audio_processors_headless/utilities/juce_AudioProcessorParameterWithID.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h rename to modules/juce_audio_processors_headless/utilities/juce_AudioProcessorParameterWithID.h diff --git a/modules/juce_audio_processors/utilities/juce_ExtensionsVisitor.h b/modules/juce_audio_processors_headless/utilities/juce_ExtensionsVisitor.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_ExtensionsVisitor.h rename to modules/juce_audio_processors_headless/utilities/juce_ExtensionsVisitor.h diff --git a/modules/juce_audio_processors/utilities/juce_FlagCache.h b/modules/juce_audio_processors_headless/utilities/juce_FlagCache.h similarity index 96% rename from modules/juce_audio_processors/utilities/juce_FlagCache.h rename to modules/juce_audio_processors_headless/utilities/juce_FlagCache.h index 379926fd78..598481fbdc 100644 --- a/modules/juce_audio_processors/utilities/juce_FlagCache.h +++ b/modules/juce_audio_processors_headless/utilities/juce_FlagCache.h @@ -32,6 +32,8 @@ ============================================================================== */ +#pragma once + /** @cond */ namespace juce { diff --git a/modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp b/modules/juce_audio_processors_headless/utilities/juce_RangedAudioParameter.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_RangedAudioParameter.cpp rename to modules/juce_audio_processors_headless/utilities/juce_RangedAudioParameter.cpp diff --git a/modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h b/modules/juce_audio_processors_headless/utilities/juce_RangedAudioParameter.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h rename to modules/juce_audio_processors_headless/utilities/juce_RangedAudioParameter.h diff --git a/modules/juce_audio_processors/utilities/juce_VST2ClientExtensions.cpp b/modules/juce_audio_processors_headless/utilities/juce_VST2ClientExtensions.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_VST2ClientExtensions.cpp rename to modules/juce_audio_processors_headless/utilities/juce_VST2ClientExtensions.cpp diff --git a/modules/juce_audio_processors/utilities/juce_VST2ClientExtensions.h b/modules/juce_audio_processors_headless/utilities/juce_VST2ClientExtensions.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_VST2ClientExtensions.h rename to modules/juce_audio_processors_headless/utilities/juce_VST2ClientExtensions.h diff --git a/modules/juce_audio_processors/utilities/juce_VST3ClientExtensions.cpp b/modules/juce_audio_processors_headless/utilities/juce_VST3ClientExtensions.cpp similarity index 100% rename from modules/juce_audio_processors/utilities/juce_VST3ClientExtensions.cpp rename to modules/juce_audio_processors_headless/utilities/juce_VST3ClientExtensions.cpp diff --git a/modules/juce_audio_processors/utilities/juce_VST3ClientExtensions.h b/modules/juce_audio_processors_headless/utilities/juce_VST3ClientExtensions.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_VST3ClientExtensions.h rename to modules/juce_audio_processors_headless/utilities/juce_VST3ClientExtensions.h diff --git a/modules/juce_audio_processors/utilities/juce_VST3Interface.h b/modules/juce_audio_processors_headless/utilities/juce_VST3Interface.h similarity index 100% rename from modules/juce_audio_processors/utilities/juce_VST3Interface.h rename to modules/juce_audio_processors_headless/utilities/juce_VST3Interface.h