Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
processor_signal_graph_binding.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <memory>
7
8namespace pulp::format {
9class Processor;
10}
11
12namespace pulp::host {
13
22 public:
23 static std::unique_ptr<ProcessorSignalGraphBinding> install(format::Processor& processor,
25 double sample_rate,
26 int maximum_block_size) noexcept;
27
31
33 return authority_;
34 }
35 const SignalGraphControlAuthority& authority() const noexcept {
36 return authority_;
37 }
38
39 struct Lease {
42
43 bool valid() const noexcept {
44 return authority != nullptr && runtime::AliveToken::is_alive(alive);
45 }
46 };
47 Lease lease() noexcept {
48 return {.authority = &authority_, .alive = lifetime_.capture()};
49 }
50
51 private:
53 double sample_rate, int maximum_block_size) noexcept;
54
55 format::Processor& processor_;
56 runtime::AliveToken lifetime_;
58};
59
63SignalGraphControlAuthority*
67
68} // namespace pulp::host
Definition processor.hpp:174
Lease lease() noexcept
Definition processor_signal_graph_binding.hpp:47
static std::unique_ptr< ProcessorSignalGraphBinding > install(format::Processor &processor, SignalGraph &graph, double sample_rate, int maximum_block_size) noexcept
SignalGraphControlAuthority & authority() noexcept
Definition processor_signal_graph_binding.hpp:32
const SignalGraphControlAuthority & authority() const noexcept
Definition processor_signal_graph_binding.hpp:35
ProcessorSignalGraphBinding(const ProcessorSignalGraphBinding &)=delete
ProcessorSignalGraphBinding & operator=(const ProcessorSignalGraphBinding &)=delete
The sole host-side authority for live graph modulation-route lifecycle.
Definition signal_graph_control.hpp:56
Definition signal_graph_runtime.hpp:83
Shared, fail-closed lifetime signal for callbacks that may outlive an owner.
Definition alive_token.hpp:19
std::shared_ptr< State > Handle
Definition alive_token.hpp:53
static bool is_alive(const Handle &handle) noexcept
Definition alive_token.hpp:143
What the product grants a device: the quota table indexed by capability tier and live thermal state.
Definition aax_editor.hpp:31
Definition graph_runtime_buffer_assignment.hpp:8
Bounded event contracts shared by host ingress and graph-authored nodes.
Definition anticipation_eligibility.hpp:9
ProcessorSignalGraphBinding::Lease create_processor_signal_graph_authority_lease(format::Processor &processor) noexcept
SignalGraphControlAuthority * create_processor_signal_graph_authority(format::Processor &processor) noexcept
Resolver used by the canonical standalone control host.
Definition processor_signal_graph_binding.hpp:39
bool valid() const noexcept
Definition processor_signal_graph_binding.hpp:43
SignalGraphControlAuthority * authority
Definition processor_signal_graph_binding.hpp:40
runtime::AliveToken::Handle alive
Definition processor_signal_graph_binding.hpp:41