JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::dsp::ProcessorChain< Processors > Class Template Reference

This variadically-templated class lets you join together any number of processor classes into a single processor which will call process() on them all in sequence. More...

#include <juce_ProcessorChain.h>

Collaboration diagram for juce::dsp::ProcessorChain< Processors >:

Public Member Functions

template<int Index>
const auto & get () const noexcept
 Get a reference to the processor at index Index.
 
template<int Index>
auto & get () noexcept
 Get a reference to the processor at index Index.
 
template<int Index>
bool isBypassed () const noexcept
 Query whether the processor at index Index is bypassed.
 
void prepare (const ProcessSpec &spec)
 Prepare all inner processors with the provided ProcessSpec.
 
template<typename ProcessContext >
void process (const ProcessContext &context) noexcept
 Process context through all inner processors in sequence.
 
void reset ()
 Reset all inner processors.
 
template<int Index>
void setBypassed (bool b) noexcept
 Set the processor at index Index to be bypassed or enabled.
 

Private Member Functions

template<typename Context , typename Proc , size_t Ix>
void processOne (const Context &context, Proc &proc, std::integral_constant< size_t, Ix >) noexcept
 

Private Attributes

std::array< bool, sizeof...(Processors)> bypassed { {} }
 
std::tuple< Processors... > processors
 

Detailed Description

template<typename... Processors>
class juce::dsp::ProcessorChain< Processors >

This variadically-templated class lets you join together any number of processor classes into a single processor which will call process() on them all in sequence.

@tags{DSP}

Member Function Documentation

◆ get() [1/2]

template<typename... Processors>
template<int Index>
const auto & juce::dsp::ProcessorChain< Processors >::get ( ) const
inlinenoexcept

Get a reference to the processor at index Index.

References juce::dsp::ProcessorChain< Processors >::processors.

◆ get() [2/2]

template<typename... Processors>
template<int Index>
auto & juce::dsp::ProcessorChain< Processors >::get ( )
inlinenoexcept

Get a reference to the processor at index Index.

References juce::dsp::ProcessorChain< Processors >::processors.

◆ isBypassed()

template<typename... Processors>
template<int Index>
bool juce::dsp::ProcessorChain< Processors >::isBypassed ( ) const
inlinenoexcept

Query whether the processor at index Index is bypassed.

References juce::dsp::ProcessorChain< Processors >::bypassed.

◆ prepare()

template<typename... Processors>
void juce::dsp::ProcessorChain< Processors >::prepare ( const ProcessSpec spec)
inline

Prepare all inner processors with the provided ProcessSpec.

References juce::dsp::ProcessorChain< Processors >::processors.

◆ process()

template<typename... Processors>
template<typename ProcessContext >
void juce::dsp::ProcessorChain< Processors >::process ( const ProcessContext context)
inlinenoexcept

◆ processOne()

template<typename... Processors>
template<typename Context , typename Proc , size_t Ix>
void juce::dsp::ProcessorChain< Processors >::processOne ( const Context &  context,
Proc &  proc,
std::integral_constant< size_t, Ix >   
)
inlineprivatenoexcept

◆ reset()

template<typename... Processors>
void juce::dsp::ProcessorChain< Processors >::reset ( )
inline

Reset all inner processors.

References juce::dsp::ProcessorChain< Processors >::processors.

◆ setBypassed()

template<typename... Processors>
template<int Index>
void juce::dsp::ProcessorChain< Processors >::setBypassed ( bool  b)
inlinenoexcept

Set the processor at index Index to be bypassed or enabled.

References juce::dsp::ProcessorChain< Processors >::bypassed.

Member Data Documentation

◆ bypassed

template<typename... Processors>
std::array<bool, sizeof... (Processors)> juce::dsp::ProcessorChain< Processors >::bypassed { {} }
private

◆ processors


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