Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
control_sample_region_target.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <functional>
5#include <memory>
7
8namespace pulp::host {
9class SignalGraph;
10struct BakedPlan;
12} // namespace pulp::host
13namespace pulp::state {
14class StateStore;
15}
16
17namespace pulp::inspect {
18
22 std::uint64_t value = 1;
23};
24
25class ControlSampleRegionTarget final {
26 public:
27 using FrozenProof = std::function<host::SampleRegionProof(std::uint32_t, int)>;
28 static std::shared_ptr<ControlSampleRegionTarget>
32 static std::shared_ptr<ControlSampleRegionTarget>
34 std::function<bool()> prepared);
36 bool can_read() const noexcept;
37 bool can_edit() const noexcept;
38 bool uses_state_store(const state::StateStore&) const noexcept;
39 void set_preparation_context(double sample_rate, int max_block_size) noexcept;
44
45 private:
46 struct Impl;
47 explicit ControlSampleRegionTarget(std::unique_ptr<Impl>);
48 std::unique_ptr<Impl> impl_;
49};
50
52 std::function<std::shared_ptr<ControlSampleRegionTarget>(const ControlAdmissionPlan&)>;
53
54} // namespace pulp::inspect
Definition signal_graph_runtime.hpp:83
Definition control_sample_region_target.hpp:25
bool uses_state_store(const state::StateStore &) const noexcept
void set_preparation_context(double sample_rate, int max_block_size) noexcept
std::function< host::SampleRegionProof(std::uint32_t, int)> FrozenProof
Definition control_sample_region_target.hpp:27
static std::shared_ptr< ControlSampleRegionTarget > editable(host::SignalGraph &, state::StateStore &, ControlSampleRegionGeneration &)
ControlExecutionOutcome read(const ControlAdmissionPlan &, const ControlRequestEnvelope &, const ControlExecutionContext &)
ControlExecutionOutcome edit(const ControlAdmissionPlan &, const ControlRequestEnvelope &, const ControlExecutionContext &)
static std::shared_ptr< ControlSampleRegionTarget > frozen(const host::BakedPlan &, state::StateStore &, ControlSampleRegionGeneration &, FrozenProof, std::function< bool()> prepared)
The plan and proof provider belong to the admitted signed processor.
Centralized parameter storage with lock-free value access.
Definition store.hpp:164
Bounded event contracts shared by host ingress and graph-authored nodes.
Definition anticipation_eligibility.hpp:9
Definition agent_context.hpp:7
std::function< std::shared_ptr< ControlSampleRegionTarget >(const ControlAdmissionPlan &)> ControlSampleRegionTargetResolver
Definition control_sample_region_target.hpp:51
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
STL namespace.
Definition baked_codec.hpp:55
Definition sample_region_proof.hpp:134
Immutable authority snapshot minted by ControlBroker after all seven permission terms pass.
Definition control_admission.hpp:58
Definition control_execution.hpp:38
Definition control_execution.hpp:14
Definition control_protocol.hpp:84
The host shares this authority with every topology publication for one graph.
Definition control_sample_region_target.hpp:21
std::uint64_t value
Definition control_sample_region_target.hpp:22