Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::host::ForgeParamDescriptor Struct Reference

#include <forge_param_descriptor.hpp>

Public Member Functions

 ForgeParamDescriptor ()=default
 ForgeParamDescriptor (std::string_view key_in, state::ParamID id_in, std::string_view label_in, std::string_view unit_in, std::string_view description_in, ForgeParamKind kind_in, ForgeParamCurve curve_in, std::vector< ForgeParamChoice > choices_in={}, std::vector< std::string_view > modes_in={})

Public Attributes

std::string_view key
 Stable machine key, snake_case, unique within its node.
state::ParamID id = 0
 The baked parameter this describes.
std::string_view label
std::string_view unit
 Unit symbol as displayed ("dB", "Hz", "ms", "%"). Empty when unitless.
std::string_view description
ForgeParamKind kind = ForgeParamKind::continuous
ForgeParamCurve curve = ForgeParamCurve::linear
std::vector< ForgeParamChoice > choices
 Required and non-empty when kind is stepped; empty otherwise.
std::vector< std::string_view > realization_modes
 Empty means the parameter exists on every realization.

Constructor & Destructor Documentation

◆ ForgeParamDescriptor() [1/2]

pulp::host::ForgeParamDescriptor::ForgeParamDescriptor ( )
default

◆ ForgeParamDescriptor() [2/2]

pulp::host::ForgeParamDescriptor::ForgeParamDescriptor ( std::string_view key_in,
state::ParamID id_in,
std::string_view label_in,
std::string_view unit_in,
std::string_view description_in,
ForgeParamKind kind_in,
ForgeParamCurve curve_in,
std::vector< ForgeParamChoice > choices_in = {},
std::vector< std::string_view > modes_in = {} )
inline

Member Data Documentation

◆ choices

std::vector<ForgeParamChoice> pulp::host::ForgeParamDescriptor::choices

Required and non-empty when kind is stepped; empty otherwise.

◆ curve

ForgeParamCurve pulp::host::ForgeParamDescriptor::curve = ForgeParamCurve::linear

◆ description

std::string_view pulp::host::ForgeParamDescriptor::description

◆ id

state::ParamID pulp::host::ForgeParamDescriptor::id = 0

The baked parameter this describes.

Must match a CustomNodeBakedParam id on the node, which is what the completeness check proves.

◆ key

std::string_view pulp::host::ForgeParamDescriptor::key

Stable machine key, snake_case, unique within its node.

Never change one — downstream graphs are authored against it.

◆ kind

ForgeParamKind pulp::host::ForgeParamDescriptor::kind = ForgeParamKind::continuous

◆ label

std::string_view pulp::host::ForgeParamDescriptor::label

◆ realization_modes

std::vector<std::string_view> pulp::host::ForgeParamDescriptor::realization_modes

Empty means the parameter exists on every realization.

Otherwise it exists only on the named ones — some families deliberately omit a control that would be inert (an Ampex deck has no selectable EQ standard), and an inert control presented as live is a worse answer than an absent one.

◆ unit

std::string_view pulp::host::ForgeParamDescriptor::unit

Unit symbol as displayed ("dB", "Hz", "ms", "%"). Empty when unitless.


The documentation for this struct was generated from the following file: