The editor-host contract: how a host (a format adapter, the standalone app, a test) opens, sizes, feeds and tears down a processor's editor without knowing what UI toolkit draws it. More...
#include <pulp/format/editor_host_kind.hpp>#include <pulp/format/plugin_descriptor.hpp>#include <pulp/state/parameter.hpp>#include <cstddef>#include <cstdint>#include <functional>#include <memory>#include <optional>#include <span>#include <string>#include <string_view>#include <unordered_map>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| class | pulp::format::ParamSubscription |
| Owns one ParamPort listener registration. More... | |
| class | pulp::format::ParamPort |
| Parameter access for an editor. More... | |
| class | pulp::format::StateStoreParamPort |
| The default ParamPort, over a processor's StateStore. More... | |
| struct | pulp::format::VisualChannelInfo |
| What a visual channel is. The strings stay valid for the life of the port. More... | |
| struct | pulp::format::VisualEvent |
| One occurrence on an events channel. More... | |
| class | pulp::format::VisualPort |
| Read access to the values and meters a processor publishes for its UI. More... | |
| struct | pulp::format::NativeParent |
| A native window to attach an editor to, owned by the host. More... | |
| struct | pulp::format::EditorSize |
| An editor size in logical pixels, with the backing scale factor that maps them to physical pixels (2.0 on a Retina display). More... | |
| struct | pulp::format::EditorKeyEvent |
| A key the host offers to the editor before acting on it itself. More... | |
| class | pulp::format::EditorAutomation |
| Optional automation surface of an editor, so tooling (the pulp control UI tools, tests) can see and drive any editor whatever draws it. More... | |
| class | pulp::format::Editor |
| One editor instance in one native window. More... | |
| struct | pulp::format::HostActionRequest |
| One host action and its arguments. More... | |
| class | pulp::format::EditorContext |
| What the host gives an editor. More... | |
| class | pulp::format::EditorFactory |
| Builds a processor's editors. 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. | |
| namespace | pulp::format |
| What the product grants a device: the quota table indexed by capability tier and live thermal state. | |
The editor-host contract: how a host (a format adapter, the standalone app, a test) opens, sizes, feeds and tears down a processor's editor without knowing what UI toolkit draws it.
The contract is deliberately small and UI-agnostic. It names no view, canvas, render or GPU type, so a processor that ships an editor and one that ships none compile against the same header, and any UI toolkit (a Pulp integration package, or a plug-in's own native code) can implement it.
Threading: unless a member says otherwise, every call in this contract runs on the host's main (UI) thread, including construction and destruction of editors. ParamPort::get() and ParamPort::info() may be called from any thread.