1
0
Fork 0
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:
reuk 2025-08-15 15:40:51 +01:00
parent 1f5d09d3fc
commit 407cc5b004
No known key found for this signature in database
73 changed files with 115 additions and 80 deletions

View file

@ -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

View file

@ -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"

View file

@ -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",

View file

@ -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"

View file

@ -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)

View file

@ -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>

View file

@ -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>

View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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
{

View file

@ -34,6 +34,8 @@
#pragma once
#include <juce_audio_processors_headless/utilities/juce_FlagCache.h>
/** @cond */
namespace juce
{

View file

@ -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
{

View file

@ -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"

View file

@ -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.

View file

@ -32,6 +32,8 @@
==============================================================================
*/
#include <juce_audio_processors_headless/format_types/juce_LegacyAudioParameter.h>
namespace juce
{

View file

@ -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

View file

@ -32,6 +32,8 @@
==============================================================================
*/
#pragma once
namespace juce
{

View file

@ -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>

View file

@ -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>

View file

@ -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.

View file

@ -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));

View file

@ -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;

View file

@ -35,6 +35,8 @@
namespace juce
{
class AudioProcessor;
//==============================================================================
/**
Base class for listeners that want to know about changes to an AudioProcessor.

View file

@ -32,6 +32,8 @@
==============================================================================
*/
#pragma once
namespace juce
{

View file

@ -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"

View file

@ -32,6 +32,8 @@
==============================================================================
*/
#pragma once
/** @cond */
namespace juce
{