diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h b/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h index f3bedb0919..643bdaf6c7 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h +++ b/modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h @@ -21,19 +21,16 @@ ============================================================================== */ -// Your project must contain an AppConfig.h file with your project-specific settings in it, -// and your header search path must make it accessible to the module's files. -#include "AppConfig.h" -class PluginBusUtilities + +struct PluginBusUtilities { -public: //============================================================================== typedef Array AudioBusArray; //============================================================================== PluginBusUtilities (AudioProcessor& plugin, bool markDiscreteLayoutsAsSupported) - : juceFilter (plugin), + : processor (plugin), dynamicInBuses (false), dynamicOutBuses (false), addDiscreteLayouts (markDiscreteLayoutsAsSupported) @@ -81,8 +78,8 @@ public: }; //============================================================================== - AudioBusArray& getFilterBus (bool inputBus) noexcept { return inputBus ? juceFilter.busArrangement.inputBuses : juceFilter.busArrangement.outputBuses; } - const AudioBusArray& getFilterBus (bool inputBus) const noexcept { return inputBus ? juceFilter.busArrangement.inputBuses : juceFilter.busArrangement.outputBuses; } + AudioBusArray& getFilterBus (bool inputBus) noexcept { return inputBus ? processor.busArrangement.inputBuses : processor.busArrangement.outputBuses; } + const AudioBusArray& getFilterBus (bool inputBus) const noexcept { return inputBus ? processor.busArrangement.inputBuses : processor.busArrangement.outputBuses; } int getBusCount (bool inputBus) const noexcept { return getFilterBus (inputBus).size(); } AudioChannelSet getChannelSet (bool inputBus, int bus) noexcept { return getFilterBus (inputBus).getReference (bus).channels; } int getNumChannels (bool inp, int bus) const noexcept { return isPositiveAndBelow (bus, getBusCount (inp)) ? getFilterBus (inp).getReference (bus).channels.size() : 0; } @@ -112,10 +109,10 @@ public: jassert (original.outputBuses.size() == numOutputBuses); for (int busNr = 0; busNr < numInputBuses; ++busNr) - juceFilter.setPreferredBusArrangement (true, busNr, original.inputBuses.getReference (busNr).channels); + processor.setPreferredBusArrangement (true, busNr, original.inputBuses.getReference (busNr).channels); for (int busNr = 0; busNr < numOutputBuses; ++busNr) - juceFilter.setPreferredBusArrangement (false, busNr, original.outputBuses.getReference (busNr).channels); + processor.setPreferredBusArrangement (false, busNr, original.outputBuses.getReference (busNr).channels); } //============================================================================== @@ -177,11 +174,11 @@ public: { for (int busIdx = 1; busIdx < getBusCount (true); ++busIdx) if (getChannelSet (true, busIdx) == AudioChannelSet::disabled()) - juceFilter.setPreferredBusArrangement (true, busIdx, getDefaultLayoutForBus (true, busIdx)); + processor.setPreferredBusArrangement (true, busIdx, getDefaultLayoutForBus (true, busIdx)); for (int busIdx = 1; busIdx < getBusCount (false); ++busIdx) if (getChannelSet (false, busIdx) == AudioChannelSet::disabled()) - juceFilter.setPreferredBusArrangement (false, busIdx, getDefaultLayoutForBus (false, busIdx)); + processor.setPreferredBusArrangement (false, busIdx, getDefaultLayoutForBus (false, busIdx)); } //============================================================================== @@ -191,7 +188,7 @@ public: public: ScopedBusRestorer (PluginBusUtilities& bUtils) : busUtils (bUtils), - originalArr (bUtils.juceFilter.busArrangement), + originalArr (bUtils.processor.busArrangement), shouldRestore (true) {} @@ -212,7 +209,7 @@ public: }; //============================================================================== - AudioProcessor& juceFilter; + AudioProcessor& processor; private: friend class ScopedBusRestorer; @@ -231,7 +228,7 @@ private: for (int i = 0; i < channelNum; ++i) set.addChannel (static_cast (SupportedBusLayouts::pseudoChannelBitNum + i)); - return juceFilter.setPreferredBusArrangement (isInput, busNr, set); + return processor.setPreferredBusArrangement (isInput, busNr, set); } void findAllCompatibleLayoutsForBus (bool isInput, int busNr) @@ -242,7 +239,7 @@ private: layouts.supportedLayouts.clear(); // check if the plug-in bus can be disabled - layouts.canBeDisabled = juceFilter.setPreferredBusArrangement (isInput, busNr, AudioChannelSet()); + layouts.canBeDisabled = processor.setPreferredBusArrangement (isInput, busNr, AudioChannelSet()); layouts.busIgnoresLayout = true; for (int i = 1; i <= maxNumChannels; ++i) @@ -255,7 +252,7 @@ private: { const AudioChannelSet& layout = sets.getReference (j); - if (juceFilter.setPreferredBusArrangement (isInput, busNr, layout)) + if (processor.setPreferredBusArrangement (isInput, busNr, layout)) { if (! ignoresLayoutForChannel) layouts.busIgnoresLayout = false; @@ -370,4 +367,6 @@ private: return sets; } + + JUCE_DECLARE_NON_COPYABLE (PluginBusUtilities) };