The editor-facing surface of the AAX data model. More...
#include <aax_editor.hpp>
Public Member Functions | |
| virtual | ~EditorHost ()=default |
| virtual Processor * | editor_processor ()=0 |
| The model-side Processor whose create_view() builds the editor. | |
| virtual state::StateStore * | editor_store ()=0 |
| The store the editor's Bindings read and write. | |
| virtual std::optional< ViewSize > | editor_view_size ()=0 |
| The plugin's declared ViewSize hints, or nullopt when it has no editor to size. | |
| virtual const PluginDefinition & | editor_definition () const =0 |
| The parameter/bus model this plugin registered with AAX. | |
| virtual void | release_editor_gestures ()=0 |
| Release any automation gesture still open. | |
| virtual void | set_editor_invalidation_handler (std::function< void()> handler) |
| Install the callback the model fires when the Processor behind editor_processor() is about to go away — the host removing or re-creating the algorithm instance the editor is bound to. | |
The editor-facing surface of the AAX data model.
AAX splits a plug-in into a host-side data model (AAX_CEffectParameters, which owns the parameters and the GUI) and a real-time algorithm that receives values as coefficient packets. The two never share a Processor: the algorithm's lives in its private data block, so the editor needs its own on the model side. The parameter manager — not either Processor — is the value authority; the model keeps this store and the manager in sync in both directions so the editor and the algorithm never drift.
The adapter's AAX_CEffectParameters subclass implements this, and PulpAaxEffectGUI resolves it from AAX_CEffectGUI::GetEffectParameters(). Declared here, free of AAX types, so the seam stays visible to code and tests that never see the SDK.
|
virtualdefault |
|
pure virtual |
The parameter/bus model this plugin registered with AAX.
|
pure virtual |
The model-side Processor whose create_view() builds the editor.
Null when the plugin declares no editor or the factory failed.
|
pure virtual |
The store the editor's Bindings read and write.
Null iff editor_processor() is null.
|
pure virtual |
The plugin's declared ViewSize hints, or nullopt when it has no editor to size.
Reachable before any editor exists — AAX asks for a size through GetViewSize independently of the window lifecycle, and the answer comes from Processor::view_size(), which needs no view tree.
|
pure virtual |
Release any automation gesture still open.
The editor calls this as it tears down: a window closed mid-drag would otherwise leave the host's automation record open with no editor left to close it.
|
inlinevirtual |
Install the callback the model fires when the Processor behind editor_processor() is about to go away — the host removing or re-creating the algorithm instance the editor is bound to.
The editor must tear down its view tree inside the callback; the Processor is deleted as soon as it returns. An empty function clears the hook.