#include <algorithm>#include <atomic>#include <bit>#include <cctype>#include <cmath>#include <cstdint>#include <functional>#include <limits>#include <optional>#include <string>#include <string_view>#include <vector>Go to the source code of this file.
Classes | |
| struct | pulp::state::BaseOffsetValue |
| Canonical automation value shared by graph, Processor, and timeline delivery. More... | |
| struct | pulp::state::ParamRange |
| Defines the numeric range of a parameter, including normalization. More... | |
| struct | pulp::state::SkewedRange< T > |
| Skew-aware normalized range with optional symmetric center. More... | |
| struct | pulp::state::ParamInfo |
| Immutable parameter metadata, registered once at plugin initialization. More... | |
| class | pulp::state::ParamValue |
| Thread-safe atomic parameter value for lock-free audio/UI communication. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::state |
| SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the bulk, observable state a step sequencer / mod-matrix / pattern engine holds outside its automatable parameter set (e.g. | |
Typedefs | |
| using | pulp::state::ParamID = uint32_t |
| Unique parameter identifier, stable across plugin versions. | |
| using | pulp::state::ParamChangeCallback = std::function<void(ParamID id, float new_value)> |
| Callback signature for parameter change notifications. | |
Enumerations | |
| enum class | pulp::state::BaseOffsetRefusal : std::uint8_t { pulp::state::None , pulp::state::NonFiniteBase , pulp::state::NonFiniteOffset , pulp::state::OutOfRange } |
| enum class | pulp::state::ParamRate { pulp::state::ControlRate , pulp::state::AudioRate } |
| Parameter update-rate classification. More... | |
| enum class | pulp::state::ParamKind { pulp::state::Continuous , pulp::state::Integer , pulp::state::Toggle , pulp::state::Enum } |
| Author-declared parameter semantics. More... | |
| enum class | pulp::state::ParamDesignation { pulp::state::None , pulp::state::Bypass , pulp::state::Reset } |
| Declared semantic role of a parameter. More... | |
Functions | |
| BaseOffsetRefusal | pulp::state::validate_base_offset (BaseOffsetValue value, float minimum, float maximum) noexcept |
| bool | pulp::state::is_discrete_param (const ParamInfo &info) |
| float | pulp::state::value_from_host_normalized (const ParamInfo &info, double normalized) |
| The plain value a host means by a normalized write. | |
| double | pulp::state::host_normalized_from_value (const ParamInfo &info, float value) |
The normalized value to report to a host for value: the inverse of value_from_host_normalized(), in double precision for a linear range, so a value the host reads back (a default, an output parameter) maps to exactly the same plain value when the host writes it again. | |
| bool | pulp::state::is_boolean_param (const ParamInfo &info) |
| uint32_t | pulp::state::param_value_count (const ParamInfo &info) |
| float | pulp::state::constrain_param_value (const ParamInfo &info, float value) |
| std::optional< float > | pulp::state::param_value_for_label (const ParamInfo &info, std::string_view text) |
| bool | pulp::state::is_bypass_param (const ParamInfo &info) |
Decide whether info is a bypass control. | |
| bool | pulp::state::is_modulatable_param (const ParamInfo &info) |
Decide whether a host may apply a modulation offset to info. | |
| bool | pulp::state::is_hidden_param (const ParamInfo &info) |
| Whether the host should omit this parameter from its generic parameter list and automation lanes. | |
| bool | pulp::state::is_read_only_param (const ParamInfo &info) |
| Whether the host may read this parameter but must not write it. | |
| bool | pulp::state::is_automatable_param (const ParamInfo &info) |
| Whether the host may record and play back automation for this parameter. | |