diff --git a/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp b/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp index fd0a7be086..90065b9c15 100644 --- a/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp +++ b/modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp @@ -32,6 +32,8 @@ ============================================================================== */ +#include + namespace juce { @@ -41,79 +43,49 @@ AudioPluginFormatManager::~AudioPluginFormatManager() {} //============================================================================== void AudioPluginFormatManager::addDefaultFormats() { - #if JUCE_PLUGINHOST_VST && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD || JUCE_IOS) - #define HAS_VST 1 - #else - #define HAS_VST 0 - #endif - - #if JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD) - #define HAS_VST3 1 - #else - #define HAS_VST3 0 - #endif - - #if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS) - #define HAS_AU 1 - #else - #define HAS_AU 0 - #endif - - #if JUCE_PLUGINHOST_LADSPA && (JUCE_LINUX || JUCE_BSD) - #define HAS_LADSPA 1 - #else - #define HAS_LADSPA 0 - #endif - - #if JUCE_PLUGINHOST_LV2 && (JUCE_MAC || JUCE_LINUX || JUCE_BSD || JUCE_WINDOWS) - #define HAS_LV2 1 - #else - #define HAS_LV2 0 - #endif - #if JUCE_DEBUG // you should only call this method once! for (auto* format [[maybe_unused]] : formats) { - #if HAS_VST + #if JUCE_INTERNAL_HAS_VST jassert (dynamic_cast (format) == nullptr); #endif - #if HAS_VST3 + #if JUCE_INTERNAL_HAS_VST3 jassert (dynamic_cast (format) == nullptr); #endif - #if HAS_AU + #if JUCE_INTERNAL_HAS_AU jassert (dynamic_cast (format) == nullptr); #endif - #if HAS_LADSPA + #if JUCE_INTERNAL_HAS_LADSPA jassert (dynamic_cast (format) == nullptr); #endif - #if HAS_LV2 + #if JUCE_INTERNAL_HAS_LV2 jassert (dynamic_cast (format) == nullptr); #endif } #endif - #if HAS_AU + #if JUCE_INTERNAL_HAS_AU formats.add (new AudioUnitPluginFormat()); #endif - #if HAS_VST + #if JUCE_INTERNAL_HAS_VST formats.add (new VSTPluginFormat()); #endif - #if HAS_VST3 + #if JUCE_INTERNAL_HAS_VST3 formats.add (new VST3PluginFormat()); #endif - #if HAS_LADSPA + #if JUCE_INTERNAL_HAS_LADSPA formats.add (new LADSPAPluginFormat()); #endif - #if HAS_LV2 + #if JUCE_INTERNAL_HAS_LV2 formats.add (new LV2PluginFormat()); #endif } diff --git a/modules/juce_audio_processors_headless/format/juce_PluginFormatDefs.h b/modules/juce_audio_processors_headless/format/juce_PluginFormatDefs.h new file mode 100644 index 0000000000..108d28df51 --- /dev/null +++ b/modules/juce_audio_processors_headless/format/juce_PluginFormatDefs.h @@ -0,0 +1,77 @@ +/* + ============================================================================== + + This file is part of the JUCE framework. + Copyright (c) Raw Material Software Limited + + JUCE is an open source framework subject to commercial or open source + licensing. + + By downloading, installing, or using the JUCE framework, or combining the + JUCE framework with any other source code, object code, content or any other + copyrightable work, you agree to the terms of the JUCE End User Licence + Agreement, and all incorporated terms including the JUCE Privacy Policy and + the JUCE Website Terms of Service, as applicable, which will bind you. If you + do not agree to the terms of these agreements, we will not license the JUCE + framework to you, and you must discontinue the installation or download + process and cease use of the JUCE framework. + + JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/ + JUCE Privacy Policy: https://juce.com/juce-privacy-policy + JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/ + + Or: + + You may also use this code under the terms of the AGPLv3: + https://www.gnu.org/licenses/agpl-3.0.en.html + + THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL + WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. + + ============================================================================== +*/ + +#pragma once + +// The following definitions are PRIVATE and should not be queried or modified +// by user code. These are exclusively used to enable and disable JUCE +// implementation details. + +#if defined (JUCE_INTERNAL_HAS_VST) \ + || defined (JUCE_INTERNAL_HAS_VST3) \ + || defined (JUCE_INTERNAL_HAS_AU) \ + || defined (JUCE_INTERNAL_HAS_LADSPA) \ + || defined (JUCE_INTERNAL_HAS_LV2) + #error These preprocessor definitions should not be set by the build system. Use the JUCE_PLUGINHOST_* definitions instead. +#endif + +#if JUCE_PLUGINHOST_VST && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD || JUCE_IOS) + #define JUCE_INTERNAL_HAS_VST 1 +#else + #define JUCE_INTERNAL_HAS_VST 0 +#endif + +#if JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD) + #define JUCE_INTERNAL_HAS_VST3 1 +#else + #define JUCE_INTERNAL_HAS_VST3 0 +#endif + +#if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS) + #define JUCE_INTERNAL_HAS_AU 1 +#else + #define JUCE_INTERNAL_HAS_AU 0 +#endif + +#if JUCE_PLUGINHOST_LADSPA && (JUCE_LINUX || JUCE_BSD) + #define JUCE_INTERNAL_HAS_LADSPA 1 +#else + #define JUCE_INTERNAL_HAS_LADSPA 0 +#endif + +#if JUCE_PLUGINHOST_LV2 && (JUCE_MAC || JUCE_LINUX || JUCE_BSD || JUCE_WINDOWS) + #define JUCE_INTERNAL_HAS_LV2 1 +#else + #define JUCE_INTERNAL_HAS_LV2 0 +#endif