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

Configuration for an ExternalBinding: the getter/setter that back a UI control whose value is NOT a StateStore parameter — e.g. More...

#include <external_binding.hpp>

Public Attributes

std::function< float()> get {}
 Read the current plain (un-normalized) value. Required.
std::function< void(float)> set {}
 Write a new plain value. Required for an editable control.
ParamRange range {}
 Maps plain <-> normalized [0,1].
std::function< void()> begin_gesture {}
 Optional host-undo gesture boundaries, called exactly like StateStore gestures around a drag/edit.
std::function< void()> end_gesture {}
std::string name {}
 Display metadata for the widget (label / value formatting). Optional.
std::string unit {}

Detailed Description

Configuration for an ExternalBinding: the getter/setter that back a UI control whose value is NOT a StateStore parameter — e.g.

a parameter owned by an embedding host's own parameter tree, or a computed/derived value.

All callbacks are invoked on the UI thread only — never the audio thread.

Member Data Documentation

◆ begin_gesture

std::function<void()> pulp::state::ExternalBindingConfig::begin_gesture {}

Optional host-undo gesture boundaries, called exactly like StateStore gestures around a drag/edit.

Either or both may be empty.

◆ end_gesture

std::function<void()> pulp::state::ExternalBindingConfig::end_gesture {}

◆ get

std::function<float()> pulp::state::ExternalBindingConfig::get {}

Read the current plain (un-normalized) value. Required.

◆ name

std::string pulp::state::ExternalBindingConfig::name {}

Display metadata for the widget (label / value formatting). Optional.

◆ range

ParamRange pulp::state::ExternalBindingConfig::range {}

Maps plain <-> normalized [0,1].

Defaults to identity ([0,1]); set an explicit range for anything else — normalized mapping is never assumed.

◆ set

std::function<void(float)> pulp::state::ExternalBindingConfig::set {}

Write a new plain value. Required for an editable control.

◆ unit

std::string pulp::state::ExternalBindingConfig::unit {}

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