|
DSPark 1.8.0
Header-only C++20 DSP for real-time and offline audio
|
The dry signal of the wrappers' soft bypass, delayed by the plugin's latency. More...
#include <DSParkPlugin.h>
Public Member Functions | |
| void | prepare (int maxLatency, int maxBlock) |
| void | reset () noexcept |
| int | capacity (int n) const noexcept |
| void | process (float *const *dry, int numChannels, int n, int latency) noexcept |
The dry signal of the wrappers' soft bypass, delayed by the plugin's latency.
Hosts keep compensating a bypassed plugin's reported latency (delaying every other track by it), so the bypassed output must arrive exactly as late as the processed one: blending the raw input instead would shift the track early by the latency and comb the crossfade. Every input sample is written into a per-channel ring whether or not the bypass is engaged, so the delayed history is already in place when it is. Allocated in prepare() (host setup thread); process() is allocation-free.
Definition at line 780 of file DSParkPlugin.h.
|
inlinenoexcept |
Largest latency the ring can reproduce for an n-frame block.
Definition at line 802 of file DSParkPlugin.h.
|
inline |
Allocates for latencies up to maxLatency with blocks up to maxBlock frames (both clamped to sane bounds).
Definition at line 785 of file DSParkPlugin.h.
|
inlinenoexcept |
Replaces the n frames of each dry channel by the input of latency frames earlier (clamped to the capacity: a latency that grew past what prepare() sized for stays as aligned as the ring allows).
Definition at line 809 of file DSParkPlugin.h.
|
inlinenoexcept |
Clears the history (transport jumps).
Definition at line 795 of file DSParkPlugin.h.