JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
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. More...
 
template<int Index>
auto & get () noexcept
 Get a reference to the processor at index Index. More...
 
template<int Index>
bool isBypassed () const noexcept
 Query whether the processor at index Index is bypassed. More...
 
void prepare (const ProcessSpec &spec)
 Prepare all inner processors with the provided ProcessSpec. More...
 
template<typename ProcessContext >
void process (const ProcessContext &context) noexcept
 Process context through all inner processors in sequence. More...
 
void reset ()
 Reset all inner processors. More...
 
template<int Index>
void setBypassed (bool b) noexcept
 Set the processor at index Index to be bypassed or enabled. More...
 

Private Member Functions

template<typename Context , typename Proc , size_t Ix, std::enable_if_t<! detail::UseContextDirectly< Context, Ix >::value, int > = 0>
void processOne (const Context &context, Proc &proc, std::integral_constant< size_t, Ix >) noexcept
 
template<typename Context , typename Proc , size_t Ix, std::enable_if_t< detail::UseContextDirectly< Context, Ix >::value, int > = 0>
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() [1/2]

template<typename... Processors>
template<typename Context , typename Proc , size_t Ix, std::enable_if_t<! detail::UseContextDirectly< Context, Ix >::value, int > = 0>
void juce::dsp::ProcessorChain< Processors >::processOne ( const Context &  context,
Proc &  proc,
std::integral_constant< size_t, Ix >   
)
inlineprivatenoexcept

◆ processOne() [2/2]

template<typename... Processors>
template<typename Context , typename Proc , size_t Ix, std::enable_if_t< detail::UseContextDirectly< Context, Ix >::value, int > = 0>
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::gl::b, and 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: