58#include <pulp/host/detail/forge_dynamics_catalog_descriptor.hpp>
59#include <pulp/host/detail/forge_realization_identity.hpp>
126inline constexpr const char*
kTypeId =
"dynamics.true_peak_limiter";
139 static double table_value(
const std::array<double, kControlTableSize>& table,
double value,
140 double minimum,
double maximum)
noexcept;
157inline constexpr const char*
kTypeId =
"dynamics.vca_compressor";
201inline constexpr const char*
kTypeId =
"dynamics.fet_compressor";
248inline constexpr const char*
kTypeId =
"dynamics.diode_bridge_compressor";
static constexpr double kRatioKDefault
Definition vca_compressor.hpp:165
The diode-bridge compressor lineage (Neve 2254 / 33609): gain reduction by pushing control current th...
The transparent, modern compressor: a log-domain feedforward design with a soft-knee gain computer an...
The FET compressor: a FEEDBACK-topology design in the documented 1176 lineage, with a FET operated as...
Definition forge_dynamics_catalog.hpp:245
constexpr state::ParamID kThresholdDb
Definition forge_dynamics_catalog.hpp:252
constexpr state::ParamID kMakeupDb
Definition forge_dynamics_catalog.hpp:257
constexpr state::ParamID kReleaseMs
Definition forge_dynamics_catalog.hpp:256
constexpr state::ParamID kMixPercent
Definition forge_dynamics_catalog.hpp:259
signal::DiodeBridgeCompressor Comp
Definition forge_dynamics_catalog.hpp:263
constexpr state::ParamID kKneeDb
Definition forge_dynamics_catalog.hpp:254
constexpr const char * kFeedforwardTypeId
Feedforward detection — the same bridge, sensed from the input.
Definition forge_dynamics_catalog.hpp:250
constexpr const char * kTypeId
Feedback detection — the lineage's own topology, and the DSP's default.
Definition forge_dynamics_catalog.hpp:248
constexpr state::ParamID kCharacter
Definition forge_dynamics_catalog.hpp:258
constexpr state::ParamID kScHpfHz
Definition forge_dynamics_catalog.hpp:260
float diode_bridge_compressor_worst_case_gain()
Worst-case linear gain for the Forge registry (series law 8).
constexpr state::ParamID kRatio
Definition forge_dynamics_catalog.hpp:253
constexpr state::ParamID kAutoRelease
Definition forge_dynamics_catalog.hpp:261
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 follow...
constexpr state::ParamID kAttackMs
Definition forge_dynamics_catalog.hpp:255
Definition forge_dynamics_catalog.hpp:199
constexpr float kRatioSteps
The ratio switch's positions, in injection order: 4:1, 8:1, 12:1, 20:1, all-buttons-in.
Definition forge_dynamics_catalog.hpp:217
float fet_compressor_worst_case_gain()
Worst-case linear gain for the Forge registry (series law 8).
signal::FetCompressor Comp
Definition forge_dynamics_catalog.hpp:219
constexpr state::ParamID kReleaseMs
Definition forge_dynamics_catalog.hpp:207
constexpr state::ParamID kTransformerAmount
Definition forge_dynamics_catalog.hpp:209
constexpr state::ParamID kMix
Definition forge_dynamics_catalog.hpp:210
constexpr state::ParamID kRatio
Definition forge_dynamics_catalog.hpp:205
constexpr state::ParamID kInputGainDb
Definition forge_dynamics_catalog.hpp:203
constexpr state::ParamID kKneeDb
Definition forge_dynamics_catalog.hpp:208
constexpr const char * kTypeId
Definition forge_dynamics_catalog.hpp:201
constexpr state::ParamID kOutputGainDb
Definition forge_dynamics_catalog.hpp:204
CustomNodeType make_fet_compressor_node()
constexpr state::ParamID kAttackUs
Definition forge_dynamics_catalog.hpp:206
Definition forge_dynamics_catalog.hpp:124
CustomNodeType make_node(float lookahead_ms=5.0f, bool linked=true)
constexpr const char * kTypeId
Definition forge_dynamics_catalog.hpp:126
constexpr state::ParamID kCeilingDbtp
Definition forge_dynamics_catalog.hpp:127
constexpr state::ParamID kReleaseMs
Definition forge_dynamics_catalog.hpp:128
Definition forge_dynamics_catalog.hpp:155
constexpr state::ParamID kTimeMs
Definition forge_dynamics_catalog.hpp:164
constexpr state::ParamID kNegativeRatio
Definition forge_dynamics_catalog.hpp:167
constexpr state::ParamID kMix
Definition forge_dynamics_catalog.hpp:166
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().
constexpr state::ParamID kMakeupDb
Definition forge_dynamics_catalog.hpp:165
constexpr state::ParamID kRatio
Definition forge_dynamics_catalog.hpp:162
constexpr const char * kTypeId
Definition forge_dynamics_catalog.hpp:157
signal::VcaCompressor Comp
Definition forge_dynamics_catalog.hpp:171
float vca_compressor_worst_case_gain()
Worst-case linear gain for the Forge registry (series law 8).
constexpr state::ParamID kNegRatioAmount
Definition forge_dynamics_catalog.hpp:168
constexpr state::ParamID kCeilingDb
Definition forge_dynamics_catalog.hpp:169
constexpr state::ParamID kKneeDb
Definition forge_dynamics_catalog.hpp:163
constexpr state::ParamID kThresholdDb
Definition forge_dynamics_catalog.hpp:161
Definition forge_dynamics_catalog.hpp:75
constexpr state::ParamID kReleaseMs
Definition forge_dynamics_catalog.hpp:86
constexpr state::ParamID kAutoMakeup
Definition forge_dynamics_catalog.hpp:93
constexpr state::ParamID kKneeDb
Definition forge_dynamics_catalog.hpp:84
constexpr state::ParamID kAttackMs
Definition forge_dynamics_catalog.hpp:85
constexpr state::ParamID kThresholdDb
Definition forge_dynamics_catalog.hpp:82
constexpr const char * kFeedforwardCompressorTypeId
Definition forge_dynamics_catalog.hpp:78
constexpr float kNodeMaxLookaheadMs
This node's lookahead ceiling, in ms.
Definition forge_dynamics_catalog.hpp:102
CustomNodeType make_feedforward_compressor_node(float lookahead_ms=0.0f)
The transparent/modern compressor as a lowerable custom node.
constexpr state::ParamID kMakeupDb
Definition forge_dynamics_catalog.hpp:92
constexpr state::ParamID kStereoLink
Definition forge_dynamics_catalog.hpp:94
constexpr state::ParamID kRmsWindowMs
Definition forge_dynamics_catalog.hpp:88
constexpr state::ParamID kDetectorMode
Definition forge_dynamics_catalog.hpp:87
constexpr state::ParamID kProgramDependent
Definition forge_dynamics_catalog.hpp:91
constexpr state::ParamID kRatio
Definition forge_dynamics_catalog.hpp:83
float feedforward_compressor_worst_case_gain()
Worst-case linear gain for the Forge registry (series law 8).
DiodeBridgeCompressorT< float > DiodeBridgeCompressor
Definition diode_bridge_compressor.hpp:961
VcaCompressorT< float > VcaCompressor
Definition vca_compressor.hpp:458
FeedforwardCompressorT< float > FeedforwardCompressor
Definition feedforward_compressor.hpp:494
TruePeakLimiterT< float > TruePeakLimiter
Definition true_peak_limiter.hpp:447
FetCompressorT< float > FetCompressor
Definition fet_compressor.hpp:901
uint32_t ParamID
Unique parameter identifier, stable across plugin versions.
Definition parameter.hpp:55
Definition custom_node_type.hpp:90
Definition forge_dynamics_catalog.hpp:104
signal::FeedforwardCompressor compressor
Definition forge_dynamics_catalog.hpp:105
Definition forge_dynamics_catalog.hpp:265
signal::DiodeBridgeCompressor compressor
Definition forge_dynamics_catalog.hpp:266
Definition forge_dynamics_catalog.hpp:221
signal::FetCompressor compressor
Definition forge_dynamics_catalog.hpp:222
Definition forge_dynamics_catalog.hpp:130
void set_controls(float ceiling_dbtp, float release_ms) noexcept
static constexpr std::size_t kControlTableSize
Definition forge_dynamics_catalog.hpp:131
void prepare(double sample_rate)
std::array< double, kControlTableSize > ceiling_table
Definition forge_dynamics_catalog.hpp:134
std::array< double, kControlTableSize > release_table
Definition forge_dynamics_catalog.hpp:135
float last_release_ms
Definition forge_dynamics_catalog.hpp:137
static double table_value(const std::array< double, kControlTableSize > &table, double value, double minimum, double maximum) noexcept
signal::TruePeakLimiter limiter
Definition forge_dynamics_catalog.hpp:132
float last_ceiling_dbtp
Definition forge_dynamics_catalog.hpp:136
bool prepared
Definition forge_dynamics_catalog.hpp:133
Definition forge_dynamics_catalog.hpp:173
signal::VcaCompressor compressor
Definition forge_dynamics_catalog.hpp:174
Fixed-capacity, look-ahead true-peak limiter for interleaved audio.
The VCA compressor: the dbx/Blackmer lineage, as a true-RMS, log-domain, single-time-constant feedfor...