Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
forge_distortion_catalog.hpp File Reference
#include <pulp/host/forge_param_descriptor.hpp>
#include <pulp/host/custom_node_type.hpp>
#include <pulp/signal/distortion.hpp>
#include <pulp/signal/oversampling.hpp>
#include <pulp/signal/units.hpp>
#include <cstddef>
#include <cstdint>
#include <string>

Go to the source code of this file.

Classes

struct  pulp::host::distortion::DistortionInstance

Namespaces

namespace  pulp
namespace  pulp::host
 Bounded event contracts shared by host ingress and graph-authored nodes.
namespace  pulp::host::distortion

Typedefs

using pulp::host::distortion::DiodeModel = signal::DiodeModel
using pulp::host::distortion::Topology = signal::ClipperTopology

Enumerations

enum class  pulp::host::distortion::OversampleTier : std::uint8_t { pulp::host::distortion::x1 , pulp::host::distortion::x2 , pulp::host::distortion::x4 , pulp::host::distortion::x8 }
 Oversampling tiers this node registers. More...

Functions

int pulp::host::distortion::oversample_factor (OversampleTier tier)
 Returns the integer oversampling factor for a registered tier.
const char * pulp::host::distortion::distortion_type_id (Topology topology, OversampleTier tier)
 Stable type id for a topology/tier realization.
const char * pulp::host::distortion::distortion_default_name (Topology topology)
 Default display name for a topology.
float pulp::host::distortion::distortion_worst_case_gain ()
 Worst-case linear gain for the Forge registry (series law 8).
CustomNodeType pulp::host::distortion::make_distortion_node (Topology topology, OversampleTier tier=OversampleTier::x4)
 One factory, eight registered realizations (2 topologies x 4 tiers).
ForgeNodeDescriptor pulp::host::distortion::distortion_descriptor ()
 Descriptor for the distortion family and its registered realizations.
int pulp::host::distortion::distortion_latency_samples (OversampleTier tier, double sample_rate)
 Reported latency for a tier at the supplied sample rate.

Variables

constexpr const char * pulp::host::distortion::kToGroundX1TypeId = "distortion.to_ground.x1"
constexpr const char * pulp::host::distortion::kToGroundX2TypeId = "distortion.to_ground.x2"
constexpr const char * pulp::host::distortion::kToGroundX4TypeId = "distortion.to_ground.x4"
constexpr const char * pulp::host::distortion::kToGroundX8TypeId = "distortion.to_ground.x8"
constexpr const char * pulp::host::distortion::kInLoopX1TypeId = "distortion.in_loop.x1"
constexpr const char * pulp::host::distortion::kInLoopX2TypeId = "distortion.in_loop.x2"
constexpr const char * pulp::host::distortion::kInLoopX4TypeId = "distortion.in_loop.x4"
constexpr const char * pulp::host::distortion::kInLoopX8TypeId = "distortion.in_loop.x8"
constexpr state::ParamID pulp::host::distortion::kDriveDb = 1
constexpr state::ParamID pulp::host::distortion::kSymmetry = 2
constexpr state::ParamID pulp::host::distortion::kDiodeModel = 3
constexpr state::ParamID pulp::host::distortion::kPreToneHz = 4
constexpr state::ParamID pulp::host::distortion::kPostToneHz = 5
constexpr state::ParamID pulp::host::distortion::kToneMix = 6
constexpr state::ParamID pulp::host::distortion::kOutputDb = 7
constexpr state::ParamID pulp::host::distortion::kPreGainDb = 8
constexpr float pulp::host::distortion::kDriveDbMin = 0.0f
 Drive range.
constexpr float pulp::host::distortion::kDriveDbMax = 40.0f
constexpr float pulp::host::distortion::kDriveDbDefault = 12.0f
constexpr float pulp::host::distortion::kOutputDbMin = -24.0f
 Output trim. [design parameter] default 0 dB, range −24 .. +12 dB.
constexpr float pulp::host::distortion::kOutputDbMax = 12.0f