1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-08 23:24:19 +00:00

juce_audio_processors: Exclusively use JUCE_INTERNAL_HAS_* macros in place of JUCE_PLUGINHOST_* macros

This change also moves the PLUGINHOST config flags to the
juce_audio_processors_headless module header, as this is now the
lowest-level module that uses these flags. This change shouldn't require
any Projucer/CMake changes.
This commit is contained in:
reuk 2025-09-22 13:44:33 +01:00
parent 6c627b7b25
commit 51c4a484ee
No known key found for this signature in database
40 changed files with 140 additions and 145 deletions

View file

@ -40,10 +40,10 @@
juce_audio_processors_headless
exporters: xcode_mac, vs2022, vs2026, linux_make
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
JUCE_PLUGINHOST_LV2=1
JUCE_PLUGINHOST_VST3=1
JUCE_PLUGINHOST_VST=0
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1,
JUCE_PLUGINHOST_LV2=1,
JUCE_PLUGINHOST_VST3=1,
JUCE_PLUGINHOST_VST=0,
JUCE_PLUGINHOST_AU=1
type: AudioProcessor

View file

@ -2320,22 +2320,22 @@ int Project::getARATransformationFlags() const noexcept
//==============================================================================
bool Project::isAUPluginHost() const
{
return getEnabledModules().isModuleEnabled ("juce_audio_processors") && isConfigFlagEnabled ("JUCE_PLUGINHOST_AU", false);
return getEnabledModules().isModuleEnabled ("juce_audio_processors_headless") && isConfigFlagEnabled ("JUCE_PLUGINHOST_AU", false);
}
bool Project::isVSTPluginHost() const
{
return getEnabledModules().isModuleEnabled ("juce_audio_processors") && isConfigFlagEnabled ("JUCE_PLUGINHOST_VST", false);
return getEnabledModules().isModuleEnabled ("juce_audio_processors_headless") && isConfigFlagEnabled ("JUCE_PLUGINHOST_VST", false);
}
bool Project::isVST3PluginHost() const
{
return getEnabledModules().isModuleEnabled ("juce_audio_processors") && isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3", false);
return getEnabledModules().isModuleEnabled ("juce_audio_processors_headless") && isConfigFlagEnabled ("JUCE_PLUGINHOST_VST3", false);
}
bool Project::isLV2PluginHost() const
{
return getEnabledModules().isModuleEnabled ("juce_audio_processors") && isConfigFlagEnabled ("JUCE_PLUGINHOST_LV2", false);
return getEnabledModules().isModuleEnabled ("juce_audio_processors_headless") && isConfigFlagEnabled ("JUCE_PLUGINHOST_LV2", false);
}
bool Project::isARAPluginHost() const

View file

@ -40,7 +40,7 @@
JUCE_BEGIN_NO_SANITIZE ("vptr")
#if JUCE_PLUGINHOST_VST3
#if JUCE_INTERNAL_HAS_VST3
#if JUCE_MAC
#include <CoreFoundation/CoreFoundation.h>
#endif

View file

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

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)) || DOXYGEN
#if JUCE_INTERNAL_HAS_AU || DOXYGEN
//==============================================================================
/**

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)
#if JUCE_INTERNAL_HAS_AU
#include <juce_audio_processors_headless/format_types/juce_AudioUnitPluginFormatImpl.h>

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_LADSPA && (JUCE_LINUX || JUCE_BSD)) || DOXYGEN
#if JUCE_INTERNAL_HAS_LADSPA || DOXYGEN
//==============================================================================
/** Provided for backwards compatibility; LADSPA plugins are always headless.

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_LV2 && (! (JUCE_ANDROID || JUCE_IOS))
#if JUCE_INTERNAL_HAS_LV2
#include <juce_audio_processors_headless/format_types/juce_LV2PluginFormatImpl.h>
#include <juce_gui_extra/native/juce_NSViewFrameWatcher_mac.h>

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_LV2 && (! (JUCE_ANDROID || JUCE_IOS))) || DOXYGEN
#if JUCE_INTERNAL_HAS_LV2 || DOXYGEN
/**
Implements a plugin format for LV2 plugins.

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD)
#if JUCE_INTERNAL_HAS_VST3
#include <juce_audio_processors_headless/format_types/juce_VST3PluginFormatImpl.h>
#include <juce_audio_processors/utilities/juce_NSViewComponentWithParent.h>
@ -646,4 +646,4 @@ JUCE_END_NO_SANITIZE
} // namespace juce
#endif // JUCE_PLUGINHOST_VST3
#endif

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD)) || DOXYGEN
#if JUCE_INTERNAL_HAS_VST3
/**
Implements a plugin format for VST3s.
@ -47,6 +47,6 @@ class JUCE_API VST3PluginFormat : public VST3PluginFormatHeadless
void createPluginInstance (const PluginDescription&, double, int, PluginCreationCallback) override;
};
#endif // JUCE_PLUGINHOST_VST3
#endif
} // namespace juce

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_VST
#if JUCE_INTERNAL_HAS_VST
#include <juce_audio_processors_headless/format_types/juce_VSTPluginFormatImpl.h>
#include <juce_audio_processors/utilities/juce_NSViewComponentWithParent.h>

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if (JUCE_PLUGINHOST_VST || DOXYGEN)
#if JUCE_INTERNAL_HAS_VST || DOXYGEN
namespace juce
{

View file

@ -52,7 +52,7 @@
#include <juce_gui_extra/juce_gui_extra.h>
//==============================================================================
#if JUCE_PLUGINHOST_VST && (JUCE_LINUX || JUCE_BSD)
#if JUCE_INTERNAL_HAS_VST && (JUCE_LINUX || JUCE_BSD)
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wvariadic-macros")
#include <X11/Xlib.h>
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
@ -60,12 +60,7 @@
#undef KeyPress
#endif
#if ! JUCE_WINDOWS && ! JUCE_MAC && ! JUCE_LINUX
#undef JUCE_PLUGINHOST_VST3
#define JUCE_PLUGINHOST_VST3 0
#endif
#if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)
#if JUCE_INTERNAL_HAS_AU
#include <AudioUnit/AudioUnit.h>
#endif
@ -85,15 +80,15 @@
#include "format_types/juce_LV2PluginFormat.cpp"
#if JUCE_UNIT_TESTS
#if JUCE_PLUGINHOST_VST3
#if JUCE_INTERNAL_HAS_VST3
#include "format_types/juce_VST3PluginFormat_test.cpp"
#endif
#if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)
#if JUCE_INTERNAL_HAS_AU
#include "format_types/juce_AudioUnitPluginFormat_test.cpp"
#endif
#if JUCE_PLUGINHOST_LV2 && (! (JUCE_ANDROID || JUCE_IOS))
#if JUCE_INTERNAL_HAS_LV2
#include "format_types/juce_LV2PluginFormat_test.cpp"
#endif
#endif

View file

@ -64,78 +64,6 @@
#include <juce_audio_processors_headless/juce_audio_processors_headless.h>
#include <juce_gui_extra/juce_gui_extra.h>
//==============================================================================
/** Config: JUCE_PLUGINHOST_VST
Enables the VST audio plugin hosting classes. You will need to have the VST2 SDK files in your header search paths. You can obtain the VST2 SDK files from on older version of the VST3 SDK.
@see VSTPluginFormat, VST3PluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU, JUCE_PLUGINHOST_VST3, JUCE_PLUGINHOST_LADSPA
*/
#ifndef JUCE_PLUGINHOST_VST
#define JUCE_PLUGINHOST_VST 0
#endif
/** Config: JUCE_PLUGINHOST_VST3
Enables the VST3 audio plugin hosting classes.
@see VSTPluginFormat, VST3PluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_AU, JUCE_PLUGINHOST_LADSPA
*/
#ifndef JUCE_PLUGINHOST_VST3
#define JUCE_PLUGINHOST_VST3 0
#endif
/** Config: JUCE_PLUGINHOST_AU
Enables the AudioUnit plugin hosting classes. This is Mac-only, of course.
@see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_VST3, JUCE_PLUGINHOST_LADSPA
*/
#ifndef JUCE_PLUGINHOST_AU
#define JUCE_PLUGINHOST_AU 0
#endif
/** Config: JUCE_PLUGINHOST_LADSPA
Enables the LADSPA plugin hosting classes. This is Linux-only, of course.
@see LADSPAPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_VST3, JUCE_PLUGINHOST_AU
*/
#ifndef JUCE_PLUGINHOST_LADSPA
#define JUCE_PLUGINHOST_LADSPA 0
#endif
/** Config: JUCE_PLUGINHOST_LV2
Enables the LV2 plugin hosting classes.
*/
#ifndef JUCE_PLUGINHOST_LV2
#define JUCE_PLUGINHOST_LV2 0
#endif
/** Config: JUCE_PLUGINHOST_ARA
Enables the ARA plugin extension hosting classes. You will need to download the ARA SDK and specify the
path to it either in the Projucer, using juce_set_ara_sdk_path() in your CMake project file.
The directory can be obtained by recursively cloning https://github.com/Celemony/ARA_SDK and checking out
the tag releases/2.1.0.
*/
#ifndef JUCE_PLUGINHOST_ARA
#define JUCE_PLUGINHOST_ARA 0
#endif
/** Config: JUCE_CUSTOM_VST3_SDK
If enabled, the embedded VST3 SDK in JUCE will not be added to the project and instead you should
add the path to your custom VST3 SDK to the project's header search paths. Most users shouldn't
need to enable this and should just use the version of the SDK included with JUCE.
*/
#ifndef JUCE_CUSTOM_VST3_SDK
#define JUCE_CUSTOM_VST3_SDK 0
#endif
#if ! (JUCE_PLUGINHOST_AU || JUCE_PLUGINHOST_VST || JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_LADSPA)
// #error "You need to set either the JUCE_PLUGINHOST_AU and/or JUCE_PLUGINHOST_VST and/or JUCE_PLUGINHOST_VST3 and/or JUCE_PLUGINHOST_LADSPA flags if you're using this module!"
#endif
#ifndef JUCE_SUPPORT_LEGACY_AUDIOPROCESSOR
#define JUCE_SUPPORT_LEGACY_AUDIOPROCESSOR 1
#endif
//==============================================================================
#include "processors/juce_AudioProcessorEditorHostContext.h"
#include "processors/juce_AudioProcessorEditor.h"

View file

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

View file

@ -75,3 +75,9 @@
#else
#define JUCE_INTERNAL_HAS_LV2 0
#endif
#if JUCE_PLUGINHOST_ARA && (JUCE_INTERNAL_HAS_VST3 || JUCE_INTERNAL_HAS_AU) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#define JUCE_INTERNAL_HAS_ARA 1
#else
#define JUCE_INTERNAL_HAS_ARA 0
#endif

View file

@ -34,7 +34,7 @@
#pragma once
#if (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX))
#if JUCE_INTERNAL_HAS_ARA
#include <ARA_API/ARAInterface.h>

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX))
#if JUCE_INTERNAL_HAS_ARA
#include <ARA_Library/Dispatch/ARAHostDispatch.cpp>
@ -366,7 +366,7 @@ public:
if (araEntryPoint.loadFrom (iComponentPtr))
pei = araEntryPoint->bindToDocumentControllerWithRoles (documentController.getRef(), knownRoles, assignedRoles);
},
#if JUCE_PLUGINHOST_AU && JUCE_MAC
#if JUCE_INTERNAL_HAS_AU
[this, &pei, knownRoles, assignedRoles] (const ExtensionsVisitor::AudioUnitClient& auClient)
{
auto audioUnit = auClient.getAudioUnitHandle();

View file

@ -34,7 +34,7 @@
#pragma once
#if (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)) || DOXYGEN
#if JUCE_INTERNAL_HAS_ARA || DOXYGEN
// Include ARA SDK headers
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wgnu-zero-variadic-macro-arguments")

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)) || DOXYGEN
#if JUCE_INTERNAL_HAS_AU || DOXYGEN
//==============================================================================
/**

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)
#if JUCE_INTERNAL_HAS_AU
#include <juce_audio_processors_headless/format_types/juce_AudioUnitPluginFormatImpl.h>

View file

@ -34,14 +34,14 @@
#pragma once
#if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)
#if JUCE_INTERNAL_HAS_AU
#if JUCE_MAC
#include <AudioUnit/AUCocoaUIView.h>
#include <CoreAudioKit/AUGenericView.h>
#include <AudioToolbox/AudioUnitUtilities.h>
#if JUCE_PLUGINHOST_ARA
#if JUCE_INTERNAL_HAS_ARA
#include <ARA_API/ARAAudioUnit.h>
#endif
@ -412,7 +412,7 @@ namespace AudioUnitFormatHelpers
static inline bool hasARAExtension ([[maybe_unused]] AudioUnit audioUnit)
{
#if JUCE_PLUGINHOST_ARA
#if JUCE_INTERNAL_HAS_ARA
UInt32 propertySize = sizeof (ARA::ARAAudioUnitFactory);
Boolean isWriteable = FALSE;
@ -441,7 +441,7 @@ using AudioUnitWeakPtr = std::weak_ptr<std::remove_pointer_t<AudioUnit>>;
static std::shared_ptr<const ARA::ARAFactory> getARAFactory ([[maybe_unused]] AudioUnitSharedPtr audioUnit)
{
#if JUCE_PLUGINHOST_ARA
#if JUCE_INTERNAL_HAS_ARA
jassert (audioUnit != nullptr);
UInt32 propertySize = sizeof (ARA::ARAAudioUnitFactory);
@ -1123,7 +1123,7 @@ public:
desc.numOutputChannels = getTotalNumOutputChannels();
desc.isInstrument = (componentDesc.componentType == kAudioUnitType_MusicDevice);
#if JUCE_PLUGINHOST_ARA
#if JUCE_INTERNAL_HAS_ARA
desc.hasARAExtension = [&]
{
UInt32 propertySize = sizeof (ARA::ARAAudioUnitFactory);
@ -1154,7 +1154,7 @@ public:
visitor.visitAudioUnitClient (Extensions { this });
#ifdef JUCE_PLUGINHOST_ARA
#ifdef JUCE_INTERNAL_HAS_ARA
struct ARAExtensions final : public ExtensionsVisitor::ARAClient
{
explicit ARAExtensions (const AudioUnitPluginInstanceHeadless* instanceIn) : instance (instanceIn) {}

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_LADSPA && (JUCE_LINUX || JUCE_BSD)
#if JUCE_INTERNAL_HAS_LADSPA
#include <juce_audio_processors_headless/utilities/juce_CommonProcessorUtilities.h>

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_LADSPA && (JUCE_LINUX || JUCE_BSD)) || DOXYGEN
#if JUCE_INTERNAL_HAS_LADSPA || DOXYGEN
//==============================================================================
/**

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_LV2 && (! (JUCE_ANDROID || JUCE_IOS))
#if JUCE_INTERNAL_HAS_LV2
#include <juce_audio_processors_headless/format_types/juce_LV2PluginFormatImpl.h>

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_LV2 && (! (JUCE_ANDROID || JUCE_IOS))) || DOXYGEN
#if JUCE_INTERNAL_HAS_LV2 || DOXYGEN
/**
Implements a plugin format for LV2 plugins.

View file

@ -34,7 +34,7 @@
#pragma once
#if JUCE_PLUGINHOST_LV2 && (! (JUCE_ANDROID || JUCE_IOS))
#if JUCE_INTERNAL_HAS_LV2
#include <juce_audio_processors_headless/format_types/juce_LV2Common.h>
#include <juce_audio_processors_headless/format_types/juce_LV2Resources.h>

View file

@ -35,7 +35,7 @@
#pragma once
#if JUCE_BSD && ! JUCE_CUSTOM_VST3_SDK
#error To build JUCE VST3 plug-ins on BSD you must use an external BSD-compatible VST3 SDK with JUCE_CUSTOM_VST3_SDK=1
#error To build JUCE VST3 plug-ins or hosts on BSD you must use an external BSD-compatible VST3 SDK with JUCE_CUSTOM_VST3_SDK=1
#endif
// It's important to include this *before* any of the Steinberg headers.
@ -247,7 +247,7 @@ JUCE_END_IGNORE_WARNINGS_MSVC
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
//==============================================================================
#if JucePlugin_Enable_ARA || JUCE_PLUGINHOST_ARA
#if JucePlugin_Enable_ARA || JUCE_INTERNAL_HAS_ARA
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wpragma-pack")
#include <ARA_API/ARAVST3.h>
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
@ -261,7 +261,7 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE
DEF_CLASS_IID (ARA::IPlugInEntryPoint2)
DEF_CLASS_IID (ARA::IMainFactory)
#endif
#endif // JucePlugin_Enable_ARA || JUCE_PLUGINHOST_ARA
#endif // JucePlugin_Enable_ARA || JUCE_INTERNAL_HAS_ARA
//==============================================================================
#if JUCE_WINDOWS

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD)
#if JUCE_INTERNAL_HAS_VST3
#include <juce_audio_processors_headless/format_types/juce_VST3PluginFormatImpl.h>
@ -170,4 +170,4 @@ JUCE_END_NO_SANITIZE
} // namespace juce
#endif // JUCE_PLUGINHOST_VST3
#endif

View file

@ -35,7 +35,7 @@
namespace juce
{
#if (JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD)) || DOXYGEN
#if JUCE_INTERNAL_HAS_VST3 || DOXYGEN
/**
Implements a plugin format for VST3s.
@ -85,6 +85,6 @@ private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VST3PluginFormatHeadless)
};
#endif // JUCE_PLUGINHOST_VST3
#endif
} // namespace juce

View file

@ -34,7 +34,7 @@
#pragma once
#if JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD)
#if JUCE_INTERNAL_HAS_VST3
#if (JUCE_LINUX || JUCE_BSD)
#include <sys/utsname.h>
@ -202,7 +202,7 @@ static std::vector<PluginDescription> createPluginDescriptions (const File& plug
{
std::unordered_set<String> factories;
#if JUCE_PLUGINHOST_ARA && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#if JUCE_INTERNAL_HAS_ARA
for (const auto& c : info.classes)
if (c.category == kARAMainFactoryClass)
factories.insert (CharPointer_UTF8 (c.name.c_str()));
@ -979,7 +979,7 @@ struct DescriptionLister
// The match is determined by the two classes having the same name.
std::unordered_set<String> araMainFactoryClassNames;
#if JUCE_PLUGINHOST_ARA && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#if JUCE_INTERNAL_HAS_ARA
for (Steinberg::int32 i = 0; i < numClasses; ++i)
{
PClassInfo info;
@ -1401,7 +1401,7 @@ static int compareWithString (Type (&charArray)[N], const String& str)
template <typename Callback>
static void forEachARAFactory ([[maybe_unused]] IPluginFactory* pluginFactory, [[maybe_unused]] Callback&& cb)
{
#if JUCE_PLUGINHOST_ARA && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#if JUCE_INTERNAL_HAS_ARA
const auto numClasses = pluginFactory->countClasses();
for (Steinberg::int32 i = 0; i < numClasses; ++i)
{
@ -1423,7 +1423,7 @@ static std::shared_ptr<const ARA::ARAFactory> getARAFactory ([[maybe_unused]] IP
{
std::shared_ptr<const ARA::ARAFactory> factory;
#if JUCE_PLUGINHOST_ARA && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#if JUCE_INTERNAL_HAS_ARA
forEachARAFactory (pluginFactory,
[&pluginFactory, &pluginName, &factory] (const auto& pcClassInfo)
{
@ -3661,4 +3661,4 @@ JUCE_END_NO_SANITIZE
} // namespace juce
#endif // JUCE_PLUGINHOST_VST3
#endif

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_VST
#if JUCE_INTERNAL_HAS_VST
#include <juce_audio_processors_headless/format_types/juce_VSTPluginFormatImpl.h>
#include <juce_audio_processors_headless/utilities/juce_CommonProcessorUtilities.h>

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if (JUCE_PLUGINHOST_VST || DOXYGEN)
#if JUCE_INTERNAL_HAS_VST || DOXYGEN
namespace juce
{

View file

@ -34,7 +34,7 @@
#pragma once
#if JUCE_PLUGINHOST_VST
#if JUCE_INTERNAL_HAS_VST
//==============================================================================
#undef PRAGMA_ALIGN_SUPPORTED

View file

@ -66,6 +66,72 @@
#include <juce_audio_basics/juce_audio_basics.h>
#include <juce_events/juce_events.h>
//==============================================================================
/** Config: JUCE_PLUGINHOST_VST
Enables the VST audio plugin hosting classes. You will need to have the VST2 SDK files in your header search paths. You can obtain the VST2 SDK files from on older version of the VST3 SDK.
@see VSTPluginFormat, VST3PluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU, JUCE_PLUGINHOST_VST3, JUCE_PLUGINHOST_LADSPA
*/
#ifndef JUCE_PLUGINHOST_VST
#define JUCE_PLUGINHOST_VST 0
#endif
/** Config: JUCE_PLUGINHOST_VST3
Enables the VST3 audio plugin hosting classes.
@see VSTPluginFormat, VST3PluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_AU, JUCE_PLUGINHOST_LADSPA
*/
#ifndef JUCE_PLUGINHOST_VST3
#define JUCE_PLUGINHOST_VST3 0
#endif
/** Config: JUCE_PLUGINHOST_AU
Enables the AudioUnit plugin hosting classes. This is Mac-only, of course.
@see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_VST3, JUCE_PLUGINHOST_LADSPA
*/
#ifndef JUCE_PLUGINHOST_AU
#define JUCE_PLUGINHOST_AU 0
#endif
/** Config: JUCE_PLUGINHOST_LADSPA
Enables the LADSPA plugin hosting classes. This is Linux-only, of course.
@see LADSPAPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST, JUCE_PLUGINHOST_VST3, JUCE_PLUGINHOST_AU
*/
#ifndef JUCE_PLUGINHOST_LADSPA
#define JUCE_PLUGINHOST_LADSPA 0
#endif
/** Config: JUCE_PLUGINHOST_LV2
Enables the LV2 plugin hosting classes.
*/
#ifndef JUCE_PLUGINHOST_LV2
#define JUCE_PLUGINHOST_LV2 0
#endif
/** Config: JUCE_PLUGINHOST_ARA
Enables the ARA plugin extension hosting classes. You will need to download the ARA SDK and specify the
path to it either in the Projucer, using juce_set_ara_sdk_path() in your CMake project file.
The directory can be obtained by recursively cloning https://github.com/Celemony/ARA_SDK and checking out
the tag releases/2.1.0.
*/
#ifndef JUCE_PLUGINHOST_ARA
#define JUCE_PLUGINHOST_ARA 0
#endif
/** Config: JUCE_CUSTOM_VST3_SDK
If enabled, the embedded VST3 SDK in JUCE will not be added to the project and instead you should
add the path to your custom VST3 SDK to the project's header search paths. Most users shouldn't
need to enable this and should just use the version of the SDK included with JUCE.
*/
#ifndef JUCE_CUSTOM_VST3_SDK
#define JUCE_CUSTOM_VST3_SDK 0
#endif
//==============================================================================
#include <juce_audio_processors_headless/format/juce_PluginFormatDefs.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>

View file

@ -35,6 +35,8 @@
#include <juce_core/system/juce_CompilerWarnings.h>
#include <juce_core/system/juce_TargetPlatform.h>
#include <juce_audio_processors_headless/format/juce_PluginFormatDefs.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.
@ -42,7 +44,7 @@
To prevent such problems it's easiest to have it in its own translation unit.
*/
#if (JucePlugin_Enable_ARA || (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU))) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#if (JucePlugin_Enable_ARA || JUCE_INTERNAL_HAS_ARA) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wgnu-zero-variadic-macro-arguments", "-Wmissing-prototypes")
#include <ARA_Library/Debug/ARADebug.c>

View file

@ -32,13 +32,15 @@
==============================================================================
*/
#if JUCE_PLUGINHOST_LV2 && (! (JUCE_ANDROID || JUCE_IOS))
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
#include <juce_core/system/juce_CompilerWarnings.h>
#include <juce_core/system/juce_TargetPlatform.h>
#include <juce_core/system/juce_CompilerWarnings.h>
#include <juce_core/system/juce_TargetPlatform.h>
#include <juce_audio_processors_headless/format/juce_PluginFormatDefs.h>
#if JUCE_INTERNAL_HAS_LV2
#include <juce_audio_processors_headless/format_types/juce_LV2SupportLibs.cpp>
#endif

View file

@ -42,7 +42,7 @@
#endif
/** @endcond */
#if (JucePlugin_Enable_ARA || (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU))) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#if JUCE_INTERNAL_HAS_ARA || (JucePlugin_Enable_ARA && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX))
namespace juce
{

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#if (JucePlugin_Enable_ARA || (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU))) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
#if (JucePlugin_Enable_ARA || JUCE_INTERNAL_HAS_ARA) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)
namespace juce
{
#if ARA_ENABLE_INTERNAL_ASSERTS