Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::host::dynamics::vca Namespace Reference

Classes

struct  Instance

Typedefs

using Comp = signal::VcaCompressor

Functions

float vca_compressor_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
CustomNodeType make_vca_compressor_node (float lookahead_ms=0.0f, double attack_release_k=Comp::kRatioKDefault)
 lookahead_ms is a construction-time argument, not a param: it IS this member's latency_samples().

Variables

constexpr const char * kTypeId = "dynamics.vca_compressor"
constexpr state::ParamID kThresholdDb = 1
constexpr state::ParamID kRatio = 2
constexpr state::ParamID kKneeDb = 3
constexpr state::ParamID kTimeMs = 4
constexpr state::ParamID kMakeupDb = 5
constexpr state::ParamID kMix = 6
constexpr state::ParamID kNegativeRatio = 7
constexpr state::ParamID kNegRatioAmount = 8
constexpr state::ParamID kCeilingDb = 9

Typedef Documentation

◆ Comp

Function Documentation

◆ make_vca_compressor_node()

CustomNodeType pulp::host::dynamics::vca::make_vca_compressor_node ( float lookahead_ms = 0.0f,
double attack_release_k = Comp::kRatioKDefault )

lookahead_ms is a construction-time argument, not a param: it IS this member's latency_samples().

The DSP sizes its ring for the whole declared range at prepare(), so any value in range is allocation-free — it is frozen here for the host's sake, not the allocator's.

◆ vca_compressor_worst_case_gain()

float pulp::host::dynamics::vca::vca_compressor_worst_case_gain ( )

Worst-case linear gain for the Forge registry (series law 8).

Feedforward topology: the detector reads the input, so there is no loop to bound. The gain command is bounded above by the makeup ceiling and below by −ceiling_db, and the DSP suite asserts both rather than assuming them — this is that asserted upper bound, not a fresh estimate.

Variable Documentation

◆ kCeilingDb

state::ParamID pulp::host::dynamics::vca::kCeilingDb = 9
inlineconstexpr

◆ kKneeDb

state::ParamID pulp::host::dynamics::vca::kKneeDb = 3
inlineconstexpr

◆ kMakeupDb

state::ParamID pulp::host::dynamics::vca::kMakeupDb = 5
inlineconstexpr

◆ kMix

state::ParamID pulp::host::dynamics::vca::kMix = 6
inlineconstexpr

◆ kNegativeRatio

state::ParamID pulp::host::dynamics::vca::kNegativeRatio = 7
inlineconstexpr

◆ kNegRatioAmount

state::ParamID pulp::host::dynamics::vca::kNegRatioAmount = 8
inlineconstexpr

◆ kRatio

state::ParamID pulp::host::dynamics::vca::kRatio = 2
inlineconstexpr

◆ kThresholdDb

state::ParamID pulp::host::dynamics::vca::kThresholdDb = 1
inlineconstexpr

◆ kTimeMs

state::ParamID pulp::host::dynamics::vca::kTimeMs = 4
inlineconstexpr

◆ kTypeId

const char* pulp::host::dynamics::vca::kTypeId = "dynamics.vca_compressor"
inlineconstexpr