Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
standalone_control_host.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
5namespace pulp::format {
6class Processor;
7namespace detail {
9}
10}
11
12namespace pulp::state {
13class StateStore;
14}
15
16namespace pulp::view {
17class View;
18class WindowHost;
19}
20
21namespace pulp::format {
22
23class ViewBridge;
24
29
37 public:
38 virtual ~StandaloneControlHost() = default;
39
43 virtual bool start(Processor& processor, state::StateStore& store,
44 detail::StandaloneTestInputHost* test_input = nullptr,
45 double sample_rate = 0.0,
48
53 return true;
54 }
55
57 virtual void stop() noexcept = 0;
58
62 virtual bool ready() const noexcept { return true; }
63
67 virtual void poll() noexcept {}
68};
69
70using StandaloneControlHostFactory = std::unique_ptr<StandaloneControlHost> (*)();
71
73 bool factory_installed = false;
74 std::unique_ptr<StandaloneControlHost> host;
75};
76
77namespace detail {
78
82
87
88} // namespace detail
89} // namespace pulp::format
Definition processor.hpp:174
Optional host-side control composition for one ordinary StandaloneApp.
Definition standalone_control_host.hpp:36
virtual ~StandaloneControlHost()=default
virtual bool attach_editor(ViewBridge &, view::View &, view::WindowHost &)
Complete a deferred UI-capable startup against the editor that the Standalone is actually presenting.
Definition standalone_control_host.hpp:52
virtual void poll() noexcept
Run bounded host-main work admitted by the broker.
Definition standalone_control_host.hpp:67
virtual bool ready() const noexcept
Whether the host can still serve the broker connection.
Definition standalone_control_host.hpp:62
virtual bool start(Processor &processor, state::StateStore &store, detail::StandaloneTestInputHost *test_input=nullptr, double sample_rate=0.0, StandaloneControlUiMode ui_mode=StandaloneControlUiMode::Headless)=0
Called after the processor has registered its complete parameter catalog and the Standalone app has o...
virtual void stop() noexcept=0
Revoke host-side authority before the processor or StateStore retires.
Definition view_bridge.hpp:76
Bounded control-thread to audio-thread bridge for standalone inspector test input.
Definition standalone.hpp:282
Centralized parameter storage with lock-free value access.
Definition store.hpp:164
Definition view.hpp:73
Definition window_host.hpp:113
The plugin processor interface.
Definition device_quotas.hpp:67
bool install_standalone_control_host_factory(StandaloneControlHostFactory factory) noexcept
Installs the single generated factory for this executable.
StandaloneControlHostCreation create_standalone_control_host()
Creates the explicitly installed host.
What the product grants a device: the quota table indexed by capability tier and live thermal state.
Definition aax_editor.hpp:31
StandaloneControlUiMode
Definition standalone_control_host.hpp:25
@ DeferToEditor
Definition standalone_control_host.hpp:27
@ Headless
Definition standalone_control_host.hpp:26
std::unique_ptr< StandaloneControlHost >(*)() StandaloneControlHostFactory
Definition standalone_control_host.hpp:70
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
Definition standalone_control_host.hpp:72
std::unique_ptr< StandaloneControlHost > host
Definition standalone_control_host.hpp:74
bool factory_installed
Definition standalone_control_host.hpp:73