mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Move files without UI dependencies to juce_audio_processors_headless
This commit is contained in:
parent
1f5d09d3fc
commit
407cc5b004
73 changed files with 115 additions and 80 deletions
|
|
@ -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_EXISTS:juce_ara_sdk>:$<TARGET_PROPERTY:juce_ara_sdk,INTERFACE_INCLUDE_DIRECTORIES>>")
|
||||
|
||||
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_EXISTS:juce_ara_sdk>:$<TARGET_PROPERTY:juce_ara_sdk,INTERFACE_INCLUDE_DIRECTORIES>>")
|
||||
|
||||
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()
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@
|
|||
#include "codecs/juce_LAMEEncoderAudioFormat.cpp"
|
||||
|
||||
#if JucePlugin_Enable_ARA
|
||||
#include "juce_audio_processors/utilities/ARA/juce_ARADocumentControllerCommon.cpp"
|
||||
#include <juce_audio_processors_headless/utilities/ARA/juce_ARADocumentControllerCommon.h>
|
||||
#include "format/juce_ARAAudioReaders.cpp"
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
|||
#endif
|
||||
|
||||
#include <juce_audio_processors/format_types/juce_VST3Utilities.h>
|
||||
#include <juce_audio_processors/utilities/juce_VST3Interface.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_VST3Interface.h>
|
||||
#include <juce_audio_plugin_client/juce_audio_plugin_client.h>
|
||||
#include "juce_VST3ModuleInfo.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
#include <juce_audio_plugin_client/detail/juce_PluginUtilities.h>
|
||||
#include <juce_gui_basics/native/juce_WindowsHooks_windows.h>
|
||||
|
||||
#include <juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp>
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4127 4512 4996 5272)
|
||||
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations",
|
||||
|
|
|
|||
|
|
@ -73,12 +73,12 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE
|
|||
#include <juce_audio_basics/native/juce_CoreAudioLayouts_mac.h>
|
||||
#include <juce_audio_basics/native/juce_CoreAudioTimeConversions_mac.h>
|
||||
#include <juce_audio_basics/native/juce_AudioWorkgroup_mac.h>
|
||||
#include <juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp>
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
#include <juce_audio_processors/format_types/juce_AU_Shared.h>
|
||||
#include <juce_gui_basics/detail/juce_ComponentPeerHelpers.h>
|
||||
|
||||
#if JucePlugin_Enable_ARA
|
||||
#include <juce_audio_processors/utilities/ARA/juce_AudioProcessor_ARAExtensions.h>
|
||||
#include <juce_audio_processors_headless/utilities/ARA/juce_AudioProcessor_ARAExtensions.h>
|
||||
#include <ARA_API/ARAAudioUnit.h>
|
||||
#if ARA_SUPPORT_VERSION_1
|
||||
#error "Unsupported ARA version - only ARA version 2 and onward are supported by the current JUCE ARA implementation"
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
#include <juce_audio_basics/native/juce_CoreAudioLayouts_mac.h>
|
||||
#include <juce_audio_basics/native/juce_CoreAudioTimeConversions_mac.h>
|
||||
#include <juce_audio_basics/native/juce_AudioWorkgroup_mac.h>
|
||||
#include <juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp>
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
#include <juce_audio_processors/format_types/juce_AU_Shared.h>
|
||||
|
||||
#define JUCE_VIEWCONTROLLER_OBJC_NAME(x) JUCE_JOIN_MACRO (x, FactoryAUv3)
|
||||
|
|
|
|||
|
|
@ -51,8 +51,8 @@
|
|||
#include <juce_audio_plugin_client/detail/juce_PluginUtilities.h>
|
||||
#include <juce_audio_plugin_client/detail/juce_LinuxMessageThread.h>
|
||||
|
||||
#include <juce_audio_processors/utilities/juce_FlagCache.h>
|
||||
#include <juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_FlagCache.h>
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
|
||||
#include "JuceLV2Defines.h"
|
||||
#include <juce_audio_processors/format_types/juce_LV2Common.h>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
#if JucePlugin_Build_Unity
|
||||
|
||||
#include <juce_audio_plugin_client/detail/juce_PluginUtilities.h>
|
||||
#include <juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp>
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
|
||||
#if JUCE_WINDOWS
|
||||
#include <juce_audio_plugin_client/detail/juce_IncludeSystemHeaders.h>
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ using namespace juce;
|
|||
#include <juce_audio_plugin_client/detail/juce_LinuxMessageThread.h>
|
||||
#include <juce_audio_plugin_client/detail/juce_VSTWindowUtilities.h>
|
||||
|
||||
#include <juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp>
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
#include <juce_audio_processors/format_types/juce_VSTCommon.h>
|
||||
|
||||
#ifdef JUCE_MSVC
|
||||
|
|
|
|||
|
|
@ -61,8 +61,8 @@ JUCE_BEGIN_NO_SANITIZE ("vptr")
|
|||
#include <juce_gui_basics/native/juce_WindowsHooks_windows.h>
|
||||
|
||||
//==============================================================================
|
||||
#include <juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp>
|
||||
#include <juce_audio_processors/utilities/juce_FlagCache.h>
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_FlagCache.h>
|
||||
#include <juce_audio_processors/format_types/juce_VST3Utilities.h>
|
||||
#include <juce_audio_processors/format_types/juce_VST3Common.h>
|
||||
#include <juce_audio_plugin_client/VST3/juce_VST3ModuleInfo.h>
|
||||
|
|
|
|||
|
|
@ -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 <ARA_Library/Dispatch/ARAHostDispatch.cpp>
|
||||
|
||||
namespace juce
|
||||
|
|
|
|||
|
|
@ -51,7 +51,8 @@
|
|||
|
||||
#include <juce_audio_basics/native/juce_CoreAudioTimeConversions_mac.h>
|
||||
#include <juce_audio_basics/native/juce_CoreAudioLayouts_mac.h>
|
||||
#include "juce_AU_Shared.h"
|
||||
#include <juce_audio_processors/format_types/juce_AU_Shared.h>
|
||||
#include <juce_audio_processors_headless/format_types/juce_ARACommonInternal.h>
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <juce_audio_processors_headless/utilities/juce_FlagCache.h>
|
||||
|
||||
/** @cond */
|
||||
namespace juce
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
#include "juce_VST3Headers.h"
|
||||
#include "juce_VST3Utilities.h"
|
||||
#include "juce_VST3Common.h"
|
||||
#include "juce_ARACommon.h"
|
||||
#include <juce_audio_processors_headless/format_types/juce_ARACommon.h>
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -32,15 +32,19 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#if (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX))
|
||||
|
||||
#include <ARA_API/ARAInterface.h>
|
||||
|
||||
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<const ARA::ARAFactory> getOrCreateARAFactory (const ARA::ARAFactory* ptr,
|
||||
std::function<void()> onDelete)
|
||||
static inline std::shared_ptr<const ARA::ARAFactory> getOrCreateARAFactory (const ARA::ARAFactory* ptr,
|
||||
std::function<void()> onDelete)
|
||||
{
|
||||
JUCE_ASSERT_MESSAGE_THREAD
|
||||
|
||||
|
|
@ -32,6 +32,8 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
|
|
@ -42,3 +42,22 @@
|
|||
#endif
|
||||
|
||||
#include "juce_audio_processors_headless.h"
|
||||
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorListener.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AAXClientExtensions.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_VST2ClientExtensions.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_VST3ClientExtensions.cpp>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorParameter.cpp>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorParameterGroup.cpp>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessor.cpp>
|
||||
#include <juce_audio_processors_headless/processors/juce_PluginDescription.cpp>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioPluginInstance.cpp>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorGraph.cpp>
|
||||
#include <juce_audio_processors_headless/format/juce_AudioPluginFormat.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioProcessorParameterWithID.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_RangedAudioParameter.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterFloat.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterInt.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterBool.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterChoice.cpp>
|
||||
#include <juce_audio_processors_headless/utilities/ARA/juce_ARA_utils.cpp>
|
||||
|
|
|
|||
|
|
@ -65,3 +65,27 @@
|
|||
|
||||
#include <juce_audio_basics/juce_audio_basics.h>
|
||||
#include <juce_graphics/juce_graphics.h>
|
||||
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorListener.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AAXClientExtensions.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_VST2ClientExtensions.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_VST3Interface.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_VST3ClientExtensions.h>
|
||||
#include <juce_audio_processors_headless/format_types/juce_ARACommon.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_ExtensionsVisitor.h>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorParameter.h>
|
||||
#include <juce_audio_processors_headless/processors/juce_HostedAudioProcessorParameter.h>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorParameterGroup.h>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessor.h>
|
||||
#include <juce_audio_processors_headless/processors/juce_PluginDescription.h>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioPluginInstance.h>
|
||||
#include <juce_audio_processors_headless/processors/juce_AudioProcessorGraph.h>
|
||||
#include <juce_audio_processors_headless/format/juce_AudioPluginFormat.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioProcessorParameterWithID.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_RangedAudioParameter.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterFloat.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterInt.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterBool.h>
|
||||
#include <juce_audio_processors_headless/utilities/juce_AudioParameterChoice.h>
|
||||
#include <juce_audio_processors_headless/utilities/ARA/juce_ARADebug.h>
|
||||
#include <juce_audio_processors_headless/utilities/ARA/juce_ARA_utils.h>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
#include <juce_core/system/juce_CompilerWarnings.h>
|
||||
#include <juce_core/system/juce_TargetPlatform.h>
|
||||
|
||||
#include "utilities/ARA/juce_ARADebug.h"
|
||||
#include <juce_audio_processors_headless/utilities/ARA/juce_ARADebug.h>
|
||||
|
||||
/* Having WIN32_LEAN_AND_MEAN defined at the point of including ARADebug.c will produce warnings.
|
||||
|
||||
|
|
@ -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));
|
||||
|
|
@ -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<AudioProcessorListener*> listeners;
|
||||
Component::SafePointer<AudioProcessorEditor> activeEditor;
|
||||
AudioProcessorEditor* activeEditor = nullptr;
|
||||
double currentSampleRate = 0;
|
||||
int blockSize = 0, latencySamples = 0;
|
||||
bool suspended = false;
|
||||
|
|
@ -35,6 +35,8 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
class AudioProcessor;
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
Base class for listeners that want to know about changes to an AudioProcessor.
|
||||
|
|
@ -32,6 +32,8 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
|
|
@ -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"
|
||||
|
|
@ -32,6 +32,8 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/** @cond */
|
||||
namespace juce
|
||||
{
|
||||
Loading…
Add table
Add a link
Reference in a new issue