51#include <unordered_map>
73 : cancel_(std::move(cancel)) {}
75 : cancel_(std::exchange(other.cancel_, {})) {}
79 cancel_ = std::exchange(other.cancel_, {});
91 if (
auto cancel = std::exchange(cancel_, {}))
95 explicit operator bool() const noexcept {
96 return static_cast<bool>(cancel_);
100 std::function<void()> cancel_;
126 virtual std::span<const state::ParamInfo>
params()
const = 0;
150 const auto* i =
info(
id);
151 return i ? i->range.normalize(
get(
id)) : 0.0f;
156 if (
const auto* i =
info(
id))
157 set(
id, i->range.denormalize(normalized));
194 std::span<const state::ParamInfo>
params()
const override;
228 std::shared_ptr<Link> link_;
281 std::span<
float> peak) noexcept = 0;
297 if (c.shape == shape && c.name == name)
399 error =
"input injection is not supported by this editor";
404 virtual bool observe(std::string_view , std::string& ) {
462 const auto s =
size();
What the host gives an editor.
Definition editor_host.hpp:529
virtual EditorHostKind host_kind() const =0
Whether the editor runs inside a plug-in host or the standalone app.
virtual bool request_resize(const EditorSize &size)=0
Ask the host to resize the editor's window to size.
virtual ~EditorContext()=default
virtual bool host_action(const HostActionRequest &request)=0
Ask the host to take request.
virtual void * query_extension(std::string_view)
A host capability beyond the members above, by stable string id, or null when this host does not offe...
Definition editor_host.hpp:567
virtual VisualPort * visuals()=0
The processor's published values and meters, or null when it declares none.
virtual ParamPort & params()=0
Parameter access. Several editors may share one port.
Centralized parameter storage with lock-free value access.
Definition store.hpp:164
Definition child_process_manager.hpp:18
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
uint32_t ParamID
Unique parameter identifier, stable across plugin versions.
Definition parameter.hpp:55
Immutable parameter metadata, registered once at plugin initialization.
Definition parameter.hpp:316