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:
parent
6c627b7b25
commit
51c4a484ee
40 changed files with 140 additions and 145 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -32,8 +32,6 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#include <juce_audio_processors_headless/format/juce_PluginFormatDefs.h>
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
#if (JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)) || DOXYGEN
|
||||
#if JUCE_INTERNAL_HAS_AU || DOXYGEN
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#if (JUCE_PLUGINHOST_VST || DOXYGEN)
|
||||
#if JUCE_INTERNAL_HAS_VST || DOXYGEN
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -32,8 +32,6 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#include <juce_audio_processors_headless/format/juce_PluginFormatDefs.h>
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
#if (JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)) || DOXYGEN
|
||||
#if JUCE_INTERNAL_HAS_AU || DOXYGEN
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
namespace juce
|
||||
{
|
||||
|
||||
#if (JUCE_PLUGINHOST_LADSPA && (JUCE_LINUX || JUCE_BSD)) || DOXYGEN
|
||||
#if JUCE_INTERNAL_HAS_LADSPA || DOXYGEN
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
==============================================================================
|
||||
*/
|
||||
|
||||
#if (JUCE_PLUGINHOST_VST || DOXYGEN)
|
||||
#if JUCE_INTERNAL_HAS_VST || DOXYGEN
|
||||
|
||||
namespace juce
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#if JUCE_PLUGINHOST_VST
|
||||
#if JUCE_INTERNAL_HAS_VST
|
||||
|
||||
//==============================================================================
|
||||
#undef PRAGMA_ALIGN_SUPPORTED
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue