Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::NativeImportBindingContext Class Reference

#include <design_import.hpp>

Public Member Functions

virtual ~NativeImportBindingContext ()
 Descriptor string_view fields passed to bind_* callbacks are borrowed and valid only for the duration of the callback.
bool claim_import_binding (View &view, std::string_view route_id)
 Claim a materialized view/route pair before installing callbacks.
void reset_import_binding_claims ()
virtual void bind_knob (Knob &knob, const NativeImportBindingDescriptor &descriptor)
virtual void bind_fader (Fader &fader, const NativeImportBindingDescriptor &descriptor)
virtual void bind_meter (Meter &meter, const NativeImportMeterBindingDescriptor &descriptor)
virtual void bind_toggle_button (ToggleButton &button, const NativeImportBindingDescriptor &descriptor)
virtual void bind_choice_button (ToggleButton &button, const NativeImportChoiceBindingDescriptor &descriptor)
virtual void bind_xy_pad (XYPad &pad, const NativeImportXYPadBindingDescriptor &descriptor)
virtual void bind_waveform_display (WaveformView &waveform, const NativeImportWaveformBindingDescriptor &descriptor)
virtual void bind_text_editor (TextEditor &editor, const NativeImportTextBindingDescriptor &descriptor)
virtual void bind_host_action (TextButton &button, const NativeImportHostActionDescriptor &descriptor)
virtual void bind_segmented (SegmentedControl &segmented, const NativeImportSegmentedBindingDescriptor &descriptor)
 A segmented selector.
virtual void bind_stepper (Stepper &stepper, const NativeImportStepperBindingDescriptor &descriptor)
 A stepper.
virtual void bind_checkbox (Checkbox &checkbox, const NativeImportBindingDescriptor &descriptor)
virtual void bind_level_display (View &view, LevelDisplay &display, const NativeImportMeterBindingDescriptor &descriptor)
virtual void bind_series_display (View &view, SeriesDisplay &display, const NativeImportWaveformBindingDescriptor &descriptor)

Constructor & Destructor Documentation

◆ ~NativeImportBindingContext()

virtual pulp::view::NativeImportBindingContext::~NativeImportBindingContext ( )
virtual

Descriptor string_view fields passed to bind_* callbacks are borrowed and valid only for the duration of the callback.

Binding contexts must copy any descriptor fields they retain.

Member Function Documentation

◆ bind_checkbox()

virtual void pulp::view::NativeImportBindingContext::bind_checkbox ( Checkbox & checkbox,
const NativeImportBindingDescriptor & descriptor )
inlinevirtual

◆ bind_choice_button()

virtual void pulp::view::NativeImportBindingContext::bind_choice_button ( ToggleButton & button,
const NativeImportChoiceBindingDescriptor & descriptor )
inlinevirtual

◆ bind_fader()

virtual void pulp::view::NativeImportBindingContext::bind_fader ( Fader & fader,
const NativeImportBindingDescriptor & descriptor )
inlinevirtual

◆ bind_host_action()

virtual void pulp::view::NativeImportBindingContext::bind_host_action ( TextButton & button,
const NativeImportHostActionDescriptor & descriptor )
inlinevirtual

◆ bind_knob()

virtual void pulp::view::NativeImportBindingContext::bind_knob ( Knob & knob,
const NativeImportBindingDescriptor & descriptor )
inlinevirtual

◆ bind_level_display()

virtual void pulp::view::NativeImportBindingContext::bind_level_display ( View & view,
LevelDisplay & display,
const NativeImportMeterBindingDescriptor & descriptor )
inlinevirtual

◆ bind_meter()

virtual void pulp::view::NativeImportBindingContext::bind_meter ( Meter & meter,
const NativeImportMeterBindingDescriptor & descriptor )
inlinevirtual

◆ bind_segmented()

virtual void pulp::view::NativeImportBindingContext::bind_segmented ( SegmentedControl & segmented,
const NativeImportSegmentedBindingDescriptor & descriptor )
inlinevirtual

A segmented selector.

segment_count travels with the binding because the value a segment writes is a function of how many there are, and the host cannot see the control's segments from the descriptor alone. Use selector_segment_value() / selector_segment_index() (design_ir.hpp) for both directions rather than restating the arithmetic — a host that maps one way while the panel maps the other lights the wrong segment for the value it just wrote.

◆ bind_series_display()

virtual void pulp::view::NativeImportBindingContext::bind_series_display ( View & view,
SeriesDisplay & display,
const NativeImportWaveformBindingDescriptor & descriptor )
inlinevirtual

◆ bind_stepper()

virtual void pulp::view::NativeImportBindingContext::bind_stepper ( Stepper & stepper,
const NativeImportStepperBindingDescriptor & descriptor )
inlinevirtual

A stepper.

Its range and grid travel with the binding because the widget reports a PLAIN value (7 voices) while the parameter behind it is normalized. Use stepper_normalized_value() / stepper_plain_value() (design_ir.hpp) for both directions rather than restating the arithmetic.

◆ bind_text_editor()

virtual void pulp::view::NativeImportBindingContext::bind_text_editor ( TextEditor & editor,
const NativeImportTextBindingDescriptor & descriptor )
inlinevirtual

◆ bind_toggle_button()

virtual void pulp::view::NativeImportBindingContext::bind_toggle_button ( ToggleButton & button,
const NativeImportBindingDescriptor & descriptor )
inlinevirtual

◆ bind_waveform_display()

virtual void pulp::view::NativeImportBindingContext::bind_waveform_display ( WaveformView & waveform,
const NativeImportWaveformBindingDescriptor & descriptor )
inlinevirtual

◆ bind_xy_pad()

virtual void pulp::view::NativeImportBindingContext::bind_xy_pad ( XYPad & pad,
const NativeImportXYPadBindingDescriptor & descriptor )
inlinevirtual

◆ claim_import_binding()

bool pulp::view::NativeImportBindingContext::claim_import_binding ( View & view,
std::string_view route_id )

Claim a materialized view/route pair before installing callbacks.

Returns false if this context already claimed the same view/route, allowing repeated binder calls on the same tree/context to fail closed. Rebuilt view trees can be bound with the same context because claims are keyed by a per-View lifetime id in addition to the View address. Call reset_import_binding_claims() before deliberately rebinding the same materialized tree.

◆ reset_import_binding_claims()

void pulp::view::NativeImportBindingContext::reset_import_binding_claims ( )

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