Classes | |
| struct | SaturatorInstance |
Typedefs | |
| using | Shape = signal::SaturatorShape |
| using | AliasPolicy = signal::SaturatorAliasPolicy |
Functions | |
| const char * | saturator_type_id (Shape shape) |
| const char * | saturator_default_name (Shape shape) |
| const char * | alias_policy_id (AliasPolicy policy) noexcept |
| Shape | normalized_shape (Shape shape) noexcept |
| AliasPolicy | normalized_alias_policy (AliasPolicy policy) noexcept |
| float | saturator_worst_case_gain (Shape shape) |
| The largest gain this realization can present, for the Forge registry's worst_case_gain row (series law 8). | |
| CustomNodeType | make_saturator_node (Shape shape, AliasPolicy alias_policy=AliasPolicy::adaa) |
| One factory, four registered realizations. | |
| ForgeNodeDescriptor | saturator_descriptor () |
Variables | |
| constexpr const char * | kTanhTypeId = "saturator.tanh" |
| constexpr const char * | kAtanTypeId = "saturator.atan" |
| constexpr const char * | kCubicTypeId = "saturator.cubic" |
| constexpr const char * | kSinhArcTypeId = "saturator.sinh_arc" |
| constexpr state::ParamID | kDriveDb = 1 |
| constexpr state::ParamID | kBias = 2 |
| constexpr state::ParamID | kTonePreHz = 3 |
| constexpr state::ParamID | kMix = 4 |
| constexpr state::ParamID | kOutputTrimDb = 5 |
| constexpr state::ParamID | kToneTracking = 6 |
| constexpr state::ParamID | kToneDeHz = 7 |
| constexpr state::ParamID | kPreBoostDb = 8 |
|
inlinenoexcept |
|
inline |
One factory, four registered realizations.
alias_policy is a construction-time choice because it determines latency_samples(); see the header note.
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
The largest gain this realization can present, for the Forge registry's worst_case_gain row (series law 8).
Exactly 1.0 while bias is zero, because every shape is globally compressive past the origin. With bias it is 1 / f'(b), which the DSP computes and its test suite asserts across the full drive/bias grid. This function reports the bound at the node's own bias CEILING, since a baked param can be automated anywhere in its declared range and the registry entry has to cover all of it.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |