DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
Loading...
Searching...
No Matches
dspark::plugin::HasSidechain Concept Reference

Sidechain capability. Implement the two-buffer process - the same shape DSPark's own dynamics take: More...

#include <DSParkPlugin.h>

Concept definition

template<typename P>
concept dspark::plugin::HasSidechain = requires(P p, AudioBufferView<float> io,
AudioBufferView<float> sc) {
p.processBlock(io, sc);
}
Sidechain capability. Implement the two-buffer process - the same shape DSPark's own dynamics take:

Detailed Description

Sidechain capability. Implement the two-buffer process - the same shape DSPark's own dynamics take:

void processBlock(dspark::AudioBufferView<float> io,
dspark::AudioBufferView<float> sidechain) noexcept;
Non-owning view over audio channel data.
Definition AudioBuffer.h:50

and every format backend grows a second input the host can route into: a VST3 aux bus, a CLAP non-main port, an AU input element - all named "Sidechain". The key view always mirrors the main width (mono main, mono key) and the wrapper guarantees it is valid and frame-aligned with io (pre-allocated silence when the host has nothing connected), so the plugin never branches on availability. Treat the sidechain as read-only. Replaces the single-buffer processBlock - implement one or the other, not both.

Definition at line 312 of file DSParkPlugin.h.