Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
forge_dynamics_catalog.hpp File Reference
#include <pulp/host/detail/forge_dynamics_catalog_descriptor.hpp>
#include <pulp/host/detail/forge_realization_identity.hpp>
#include <pulp/host/forge_param_descriptor.hpp>
#include <pulp/host/custom_node_type.hpp>
#include <pulp/signal/diode_bridge_compressor.hpp>
#include <pulp/signal/feedforward_compressor.hpp>
#include <pulp/signal/fet_compressor.hpp>
#include <pulp/signal/true_peak_limiter.hpp>
#include <pulp/signal/vca_compressor.hpp>
#include <algorithm>
#include <array>
#include <cmath>
#include <cstddef>
#include <cstdint>

Go to the source code of this file.

Classes

struct  pulp::host::dynamics::FeedforwardCompressorInstance
struct  pulp::host::dynamics::true_peak::Instance
struct  pulp::host::dynamics::vca::Instance
struct  pulp::host::dynamics::fet::Instance
struct  pulp::host::dynamics::diode::Instance

Namespaces

namespace  pulp
namespace  pulp::host
 Bounded event contracts shared by host ingress and graph-authored nodes.
namespace  pulp::host::dynamics
namespace  pulp::host::dynamics::true_peak
namespace  pulp::host::dynamics::vca
namespace  pulp::host::dynamics::fet
namespace  pulp::host::dynamics::diode

Typedefs

using pulp::host::dynamics::vca::Comp = signal::VcaCompressor
using pulp::host::dynamics::fet::Comp = signal::FetCompressor
using pulp::host::dynamics::diode::Comp = signal::DiodeBridgeCompressor

Functions

float pulp::host::dynamics::feedforward_compressor_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
CustomNodeType pulp::host::dynamics::make_feedforward_compressor_node (float lookahead_ms=0.0f)
 The transparent/modern compressor as a lowerable custom node.
CustomNodeType pulp::host::dynamics::true_peak::make_node (float lookahead_ms=5.0f, bool linked=true)
float pulp::host::dynamics::vca::vca_compressor_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
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().
float pulp::host::dynamics::fet::fet_compressor_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
CustomNodeType pulp::host::dynamics::fet::make_fet_compressor_node ()
float pulp::host::dynamics::diode::diode_bridge_compressor_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
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.

Variables

constexpr const char * pulp::host::dynamics::kFeedforwardCompressorTypeId = "dynamics.feedforward_compressor"
constexpr state::ParamID pulp::host::dynamics::kThresholdDb = 1
constexpr state::ParamID pulp::host::dynamics::kRatio = 2
constexpr state::ParamID pulp::host::dynamics::kKneeDb = 3
constexpr state::ParamID pulp::host::dynamics::kAttackMs = 4
constexpr state::ParamID pulp::host::dynamics::kReleaseMs = 5
constexpr state::ParamID pulp::host::dynamics::kDetectorMode = 6
constexpr state::ParamID pulp::host::dynamics::kRmsWindowMs = 7
constexpr state::ParamID pulp::host::dynamics::kProgramDependent = 9
constexpr state::ParamID pulp::host::dynamics::kMakeupDb = 10
constexpr state::ParamID pulp::host::dynamics::kAutoMakeup = 11
constexpr state::ParamID pulp::host::dynamics::kStereoLink = 12
constexpr float pulp::host::dynamics::kNodeMaxLookaheadMs = 10.0f
 This node's lookahead ceiling, in ms.
constexpr const char * pulp::host::dynamics::true_peak::kTypeId = "dynamics.true_peak_limiter"
constexpr state::ParamID pulp::host::dynamics::true_peak::kCeilingDbtp = 1
constexpr state::ParamID pulp::host::dynamics::true_peak::kReleaseMs = 2
constexpr const char * pulp::host::dynamics::vca::kTypeId = "dynamics.vca_compressor"
constexpr state::ParamID pulp::host::dynamics::vca::kThresholdDb = 1
constexpr state::ParamID pulp::host::dynamics::vca::kRatio = 2
constexpr state::ParamID pulp::host::dynamics::vca::kKneeDb = 3
constexpr state::ParamID pulp::host::dynamics::vca::kTimeMs = 4
constexpr state::ParamID pulp::host::dynamics::vca::kMakeupDb = 5
constexpr state::ParamID pulp::host::dynamics::vca::kMix = 6
constexpr state::ParamID pulp::host::dynamics::vca::kNegativeRatio = 7
constexpr state::ParamID pulp::host::dynamics::vca::kNegRatioAmount = 8
constexpr state::ParamID pulp::host::dynamics::vca::kCeilingDb = 9
constexpr const char * pulp::host::dynamics::fet::kTypeId = "dynamics.fet_compressor"
constexpr state::ParamID pulp::host::dynamics::fet::kInputGainDb = 1
constexpr state::ParamID pulp::host::dynamics::fet::kOutputGainDb = 2
constexpr state::ParamID pulp::host::dynamics::fet::kRatio = 3
constexpr state::ParamID pulp::host::dynamics::fet::kAttackUs = 4
constexpr state::ParamID pulp::host::dynamics::fet::kReleaseMs = 5
constexpr state::ParamID pulp::host::dynamics::fet::kKneeDb = 6
constexpr state::ParamID pulp::host::dynamics::fet::kTransformerAmount = 7
constexpr state::ParamID pulp::host::dynamics::fet::kMix = 8
constexpr float pulp::host::dynamics::fet::kRatioSteps = 4.0f
 The ratio switch's positions, in injection order: 4:1, 8:1, 12:1, 20:1, all-buttons-in.
constexpr const char * pulp::host::dynamics::diode::kTypeId = "dynamics.diode_bridge_compressor"
 Feedback detection — the lineage's own topology, and the DSP's default.
constexpr const char * pulp::host::dynamics::diode::kFeedforwardTypeId = "dynamics.diode_bridge_compressor_feedforward"
 Feedforward detection — the same bridge, sensed from the input.
constexpr state::ParamID pulp::host::dynamics::diode::kThresholdDb = 1
constexpr state::ParamID pulp::host::dynamics::diode::kRatio = 2
constexpr state::ParamID pulp::host::dynamics::diode::kKneeDb = 3
constexpr state::ParamID pulp::host::dynamics::diode::kAttackMs = 4
constexpr state::ParamID pulp::host::dynamics::diode::kReleaseMs = 5
constexpr state::ParamID pulp::host::dynamics::diode::kMakeupDb = 6
constexpr state::ParamID pulp::host::dynamics::diode::kCharacter = 7
constexpr state::ParamID pulp::host::dynamics::diode::kMixPercent = 8
constexpr state::ParamID pulp::host::dynamics::diode::kScHpfHz = 9
constexpr state::ParamID pulp::host::dynamics::diode::kAutoRelease = 10