Chain multiple DSP processors in series.
More...
#include <processor_chain.hpp>
|
| | ProcessorChainT ()=default |
| template<std::size_t Index> |
| auto & | get () |
| | Access a processor by index.
|
| template<std::size_t Index> |
| const auto & | get () const |
| SampleType | process (SampleType input) |
| | Process a single sample through the entire chain.
|
| void | process (SampleType *data, int num_samples) |
| | Process a buffer in-place through the entire chain.
|
| void | reset () |
| | Reset all processors in the chain.
|
|
| static constexpr std::size_t | size () |
| | Number of processors in the chain.
|
template<typename SampleType, typename... Processors>
class pulp::signal::ProcessorChainT< SampleType, Processors >
Chain multiple DSP processors in series.
Each processor must have a float process(float) method.
RT contract: ProcessorChain owns processors in a fixed tuple. Its process/reset paths allocate no memory when the contained processors do not.
auto& gain = chain.
get<0>();
auto& eq = chain.
get<1>();
auto& comp = chain.
get<2>();
gain.set_gain_db(-3.0f);
auto & get()
Access a processor by index.
Definition processor_chain.hpp:32
SampleType process(SampleType input)
Process a single sample through the entire chain.
Definition processor_chain.hpp:38
ProcessorChainT< float, Processors... > ProcessorChain
Definition processor_chain.hpp:81
◆ ProcessorChainT()
template<typename SampleType, typename... Processors>
◆ get() [1/2]
template<typename SampleType, typename... Processors>
template<std::size_t Index>
Access a processor by index.
◆ get() [2/2]
template<typename SampleType, typename... Processors>
template<std::size_t Index>
◆ process() [1/2]
template<typename SampleType, typename... Processors>
Process a buffer in-place through the entire chain.
◆ process() [2/2]
template<typename SampleType, typename... Processors>
Process a single sample through the entire chain.
◆ reset()
template<typename SampleType, typename... Processors>
Reset all processors in the chain.
◆ size()
template<typename SampleType, typename... Processors>
Number of processors in the chain.
The documentation for this class was generated from the following file: