JUCE  v4.2.4-0-g680d758
JUCE API
PluginBusUtilities Struct Reference

#include <juce_PluginBusUtilities.h>

Collaboration diagram for PluginBusUtilities:

Classes

struct  BusLayoutDetails
 
class  ScopedBusRestorer
 

Public Types

enum  { kDefaultMaxChannels = 64 }
 
typedef Array< AudioProcessor::AudioProcessorBusAudioBusArray
 

Public Member Functions

 PluginBusUtilities (AudioProcessor &plugin, bool markDiscreteLayoutsAsSupported, int maxProbeChannels=kDefaultMaxChannels)
 
bool busCanBeDisabled (bool inp, int bus) const noexcept
 
bool busIgnoresLayout (bool inp, int bus) const noexcept
 
bool checkBusFormatsAreNotDiscrete () const
 
void enableAllBuses ()
 
int findMaxNumberOfChannelsForBus (bool isInput, int busNr, int upperlimit=std::numeric_limits< int >::max())
 
int findTotalNumChannels (bool isInput, int busOffset=0) const noexcept
 
int getBusCount (bool inputBus) const noexcept
 
int getBusIdxForChannelIdx (bool isInput, int channelIdx, int &totalChannels, int startBusIdx)
 
int getBusIdxForChannelIdx (bool isInput, int channelIdx)
 
AudioChannelSet getChannelSet (bool inp, int bus) noexcept
 
const AudioChannelSetgetDefaultLayoutForBus (bool isInput, int busIdx) const noexcept
 
AudioChannelSet getDefaultLayoutForChannelNumAndBus (bool isInput, int busIdx, int channelNum) const noexcept
 
AudioBusArraygetFilterBus (bool inputBus) noexcept
 
const AudioBusArraygetFilterBus (bool inputBus) const noexcept
 
int getNumChannels (bool inp, int bus) const noexcept
 
int getNumEnabledBuses (bool inputBus) const noexcept
 
bool hasDynamicInBuses () const noexcept
 
bool hasDynamicOutBuses () const noexcept
 
bool hasInputs (int bus) const noexcept
 
bool hasOutputs (int bus) const noexcept
 
void init ()
 
bool isBusEnabled (bool inputBus, int bus) const noexcept
 
bool isBusEnabledByDefault (bool inp, int bus) const noexcept
 
void restoreBusArrangement (const AudioProcessor::AudioBusArrangement &original) const
 

Public Attributes

AudioProcessorprocessor
 

Private Types

enum  {
  maxNumChannelsOfNonDiscreteLayouts = 8,
  pseudoChannelBitNum = 90,
  insaneNumberOfChannels = 512
}
 

Private Member Functions

void addLayoutDetails (bool isInput, int busNr)
 
bool busIgnoresLayoutForChannelNum (bool isInput, int busNr, int channelNum)
 
bool checkBusFormatsAreNotDiscrete (bool isInput) const
 
void clear (int inputCount, int outputCount)
 
bool doesPlugInHaveDynamicBuses (bool isInput) const
 
BusLayoutDetailsgetBusLayoutDetails (bool isInput, int busNr) noexcept
 
const BusLayoutDetailsgetBusLayoutDetails (bool isInput, int busNr) const noexcept
 
Array< BusLayoutDetails > & getLayoutDetails (bool isInput) noexcept
 
const Array< BusLayoutDetails > & getLayoutDetails (bool isInput) const noexcept
 
void populateLayoutDetails ()
 
void updateDefaultLayout (bool isInput, int busIdx)
 

Static Private Member Functions

static Array< AudioChannelSetlayoutListCompatibleWithChannelCount (const int channelCount) noexcept
 

Private Attributes

bool dynamicInBuses
 
bool dynamicOutBuses
 
Array< BusLayoutDetailsinputLayouts
 
int maxChannelsToProbe
 
Array< BusLayoutDetailsoutputLayouts
 
bool plugInFormatSupportsDiscreteLayouts
 

Friends

class ScopedBusRestorer
 

Member Typedef Documentation

Member Enumeration Documentation

anonymous enum
Enumerator
kDefaultMaxChannels 
anonymous enum
private
Enumerator
maxNumChannelsOfNonDiscreteLayouts 
pseudoChannelBitNum 
insaneNumberOfChannels 

Constructor & Destructor Documentation

PluginBusUtilities::PluginBusUtilities ( AudioProcessor plugin,
bool  markDiscreteLayoutsAsSupported,
int  maxProbeChannels = kDefaultMaxChannels 
)
inline

Member Function Documentation

bool PluginBusUtilities::busCanBeDisabled ( bool  inp,
int  bus 
) const
inlinenoexcept
bool PluginBusUtilities::busIgnoresLayout ( bool  inp,
int  bus 
) const
inlinenoexcept
bool PluginBusUtilities::busIgnoresLayoutForChannelNum ( bool  isInput,
int  busNr,
int  channelNum 
)
inlineprivate
bool PluginBusUtilities::checkBusFormatsAreNotDiscrete ( ) const
inline
bool PluginBusUtilities::doesPlugInHaveDynamicBuses ( bool  isInput) const
inlineprivate
int PluginBusUtilities::getBusIdxForChannelIdx ( bool  isInput,
int  channelIdx,
int totalChannels,
int  startBusIdx 
)
inline

References getBusCount(), and getNumChannels().

Referenced by getBusIdxForChannelIdx().

int PluginBusUtilities::getBusIdxForChannelIdx ( bool  isInput,
int  channelIdx 
)
inline
const BusLayoutDetails& PluginBusUtilities::getBusLayoutDetails ( bool  isInput,
int  busNr 
) const
inlineprivatenoexcept

References getLayoutDetails().

const AudioChannelSet& PluginBusUtilities::getDefaultLayoutForBus ( bool  isInput,
int  busIdx 
) const
inlinenoexcept
const AudioBusArray& PluginBusUtilities::getFilterBus ( bool  inputBus) const
inlinenoexcept
Array<BusLayoutDetails>& PluginBusUtilities::getLayoutDetails ( bool  isInput)
inlineprivatenoexcept
const Array<BusLayoutDetails>& PluginBusUtilities::getLayoutDetails ( bool  isInput) const
inlineprivatenoexcept

References inputLayouts, and outputLayouts.

int PluginBusUtilities::getNumEnabledBuses ( bool  inputBus) const
inlinenoexcept
bool PluginBusUtilities::hasDynamicInBuses ( ) const
inlinenoexcept

References dynamicInBuses.

bool PluginBusUtilities::hasDynamicOutBuses ( ) const
inlinenoexcept

References dynamicOutBuses.

bool PluginBusUtilities::hasInputs ( int  bus) const
inlinenoexcept

References isBusEnabled().

Referenced by updateDefaultLayout().

bool PluginBusUtilities::hasOutputs ( int  bus) const
inlinenoexcept

References isBusEnabled().

Referenced by updateDefaultLayout().

void PluginBusUtilities::init ( )
inline
bool PluginBusUtilities::isBusEnabled ( bool  inputBus,
int  bus 
) const
inlinenoexcept
bool PluginBusUtilities::isBusEnabledByDefault ( bool  inp,
int  bus 
) const
inlinenoexcept

Friends And Related Function Documentation

friend class ScopedBusRestorer
friend

Member Data Documentation

bool PluginBusUtilities::dynamicInBuses
private

Referenced by hasDynamicInBuses().

bool PluginBusUtilities::dynamicOutBuses
private

Referenced by hasDynamicOutBuses().

Array<BusLayoutDetails> PluginBusUtilities::inputLayouts
private

Referenced by getLayoutDetails().

int PluginBusUtilities::maxChannelsToProbe
private
Array<BusLayoutDetails> PluginBusUtilities::outputLayouts
private

Referenced by getLayoutDetails().

bool PluginBusUtilities::plugInFormatSupportsDiscreteLayouts
private

The documentation for this struct was generated from the following file: