|
| void | prepare (const AudioSpec &spec) |
| | Prepares all processors in order.
|
| |
| void | processBlock (AudioBufferView< T > buffer) noexcept |
| | Processes a buffer through all non-bypassed processors in order.
|
| |
| void | reset () noexcept |
| | Resets the internal state of all processors (e.g., clearing delay lines).
|
| |
| template<std::size_t Index> |
| auto & | get () noexcept |
| | Accesses the processor at the given index.
|
| |
| template<std::size_t Index> |
| const auto & | get () const noexcept |
| | Const access to the processor at the given index.
|
| |
| int | getLatency () const noexcept |
| | Returns the total latency in samples across all processors.
|
| |
| template<std::size_t Index> |
| void | setBypassed (bool bypassed) noexcept |
| | Thread-safe toggle to bypass or enable a processor.
|
| |
| template<std::size_t Index> |
| bool | isBypassed () const noexcept |
| | Thread-safe read of the bypass state of a processor.
|
| |
template<typename T, typename... Processors>
class dspark::ProcessorChain< T, Processors >
Compile-time chain of audio processors.
Processors are stored in a std::tuple and invoked in order. Access individual processors via get<Index>() to configure parameters.
- Template Parameters
-
| T | Sample type (float or double). |
| Processors | Processor types. Must be greater than 0. |
Definition at line 43 of file ProcessorChain.h.
template<typename T , typename... Processors>
Returns the total latency in samples across all processors.
Reporters are detected at compile time via requires expressions and summed at runtime. Only processors providing a const getLatency() convertible to int contribute; a non-const getLatency() is a compile error rather than a silent zero.
- Note
- Latency is summed over ALL slots regardless of per-slot bypass, so the reported value stays constant when toggling bypass at runtime. This is deliberate: a fluctuating latency would force the host to re-issue plugin delay compensation on every bypass change.
Definition at line 128 of file ProcessorChain.h.