Classes | |
| struct | Instance |
Typedefs | |
| using | Comp = signal::DiodeBridgeCompressor |
Functions | |
| float | diode_bridge_compressor_worst_case_gain () |
| Worst-case linear gain for the Forge registry (series law 8). | |
| CustomNodeType | make_diode_bridge_compressor_node (bool feedback=true, bool adaa=true) |
| feedback picks the registered type id; adaa is the antialiasing policy, frozen at registration following the saturator. | |
Variables | |
| constexpr const char * | kTypeId = "dynamics.diode_bridge_compressor" |
| Feedback detection — the lineage's own topology, and the DSP's default. | |
| constexpr const char * | kFeedforwardTypeId = "dynamics.diode_bridge_compressor_feedforward" |
| Feedforward detection — the same bridge, sensed from the input. | |
| constexpr state::ParamID | kThresholdDb = 1 |
| constexpr state::ParamID | kRatio = 2 |
| constexpr state::ParamID | kKneeDb = 3 |
| constexpr state::ParamID | kAttackMs = 4 |
| constexpr state::ParamID | kReleaseMs = 5 |
| constexpr state::ParamID | kMakeupDb = 6 |
| constexpr state::ParamID | kCharacter = 7 |
| constexpr state::ParamID | kMixPercent = 8 |
| constexpr state::ParamID | kScHpfHz = 9 |
| constexpr state::ParamID | kAutoRelease = 10 |
| float pulp::host::dynamics::diode::diode_bridge_compressor_worst_case_gain | ( | ) |
Worst-case linear gain for the Forge registry (series law 8).
The DSP's own static bound: makeup ceiling times both transformer brackets' peak gain, with the bridge contributing at most 1 because it is an attenuator. Its suite asserts that bound; this reports it rather than re-deriving it, so the two cannot drift.
| CustomNodeType pulp::host::dynamics::diode::make_diode_bridge_compressor_node | ( | bool | feedback = true, |
| bool | adaa = true ) |
feedback picks the registered type id; adaa is the antialiasing policy, frozen at registration following the saturator.
ADAA does not move this member's latency — it reports 0 either way, because the bridge is memoryless and the one-poles add phase rather than delay — so the reason it is frozen is the saturator's other one: it is a fidelity/CPU policy for the artifact's life, not a control anyone automates, and flipping it per sample would swap a memoryless evaluation for a difference quotient mid-waveform and click.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Feedforward detection — the same bridge, sensed from the input.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Feedback detection — the lineage's own topology, and the DSP's default.