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>
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 |
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}
|
inlinenoexcept |
Get a reference to the processor at index Index
.
References juce::dsp::ProcessorChain< Processors >::processors.
|
inlinenoexcept |
Get a reference to the processor at index Index
.
References juce::dsp::ProcessorChain< Processors >::processors.
|
inlinenoexcept |
Query whether the processor at index Index
is bypassed.
References juce::dsp::ProcessorChain< Processors >::bypassed.
|
inline |
Prepare all inner processors with the provided ProcessSpec
.
References juce::dsp::ProcessorChain< Processors >::processors.
|
inlinenoexcept |
Process context
through all inner processors in sequence.
References juce::gl::index, juce::dsp::ProcessorChain< Processors >::processOne(), and juce::dsp::ProcessorChain< Processors >::processors.
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inline |
Reset all inner processors.
References juce::dsp::ProcessorChain< Processors >::processors.
|
inlinenoexcept |
Set the processor at index Index
to be bypassed or enabled.
References juce::gl::b, and juce::dsp::ProcessorChain< Processors >::bypassed.
|
private |
|
private |