Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
control_host_development_executor.hpp
Go to the documentation of this file.
1#pragma once
2
7
8#include <chrono>
9#include <cstdint>
10#include <functional>
11#include <memory>
12#include <optional>
13#include <string>
14#include <string_view>
15#include <vector>
16
17namespace pulp::inspect {
18
19inline constexpr std::size_t kControlDevelopmentMaximumTextBytes = 4096;
20
22 std::string selector;
23 bool include_geometry = true;
24};
25
27 std::string tree_json;
28 std::uint64_t generation = 0;
29 std::size_t node_count = 0;
30};
31
32enum class ControlDiagnosticSeverity : std::uint8_t { Info, Warning, Error };
33
39
41 std::uint64_t sequence = 0;
42 std::string level;
43 std::string message;
44};
45
47 std::vector<ControlLogEntry> entries;
48 std::uint64_t next_sequence = 0;
49};
50
52 std::uint64_t sequence = 0;
53 bool note_on = true;
54 std::uint8_t channel = 0;
55 std::uint8_t note = 0;
56 double velocity = 0.0;
57};
58
60 std::uint64_t sequence = 0;
61 bool playing = false;
62 double position_beats = 0.0;
63 double tempo_bpm = 120.0;
64};
65
67 std::optional<std::string> anchor_id;
68 std::optional<bool> bypass;
69 std::optional<bool> locked;
70 std::vector<std::pair<std::string, double>> constants;
71 std::optional<std::string> highlight_node_id;
72 std::optional<bool> repaint_flash;
73};
74
76 bool applied = false;
77 std::uint64_t generation = 0;
78 std::string explanation;
79};
80
85
88 std::shared_ptr<InspectorMainThreadRpc> main_thread_rpc;
89 std::function<std::optional<ControlUiObservation>(const ControlUiObservationRequest&)>
91 std::function<std::vector<ControlDiagnosticItem>()> read_diagnostics;
92 std::function<ControlLogPage(std::uint64_t after_sequence, std::size_t limit)> read_logs;
97 std::chrono::milliseconds artifact_lifetime = std::chrono::minutes(15);
98};
99
105 public:
106 static std::unique_ptr<ControlHostDevelopmentExecutor>
109
112
114 void end_authority(std::string_view opaque_authority_id,
115 TestInputReleaseReason reason) noexcept;
116 void end_controller_scope(std::string_view controller_principal,
117 TestInputReleaseReason reason) noexcept;
118 void disconnect() noexcept;
119 bool ready() const;
120
121 private:
122 struct State;
123 explicit ControlHostDevelopmentExecutor(std::shared_ptr<State> state,
125 std::shared_ptr<State> state_;
126 ControlOperationExecutor executor_;
127};
128
129} // namespace pulp::inspect
ControlHostDevelopmentExecutor & operator=(const ControlHostDevelopmentExecutor &)=delete
static std::unique_ptr< ControlHostDevelopmentExecutor > create(ControlHostDevelopmentExecutorConfig config)
ControlHostDevelopmentExecutor(const ControlHostDevelopmentExecutor &)=delete
ControlOperationExecutor executor() const
void end_authority(std::string_view opaque_authority_id, TestInputReleaseReason reason) noexcept
void end_controller_scope(std::string_view controller_principal, TestInputReleaseReason reason) noexcept
Definition agent_context.hpp:7
constexpr std::size_t kControlDevelopmentMaximumTextBytes
Definition control_host_development_executor.hpp:19
ControlDiagnosticSeverity
Definition control_host_development_executor.hpp:32
@ Warning
Definition control_host_development_executor.hpp:32
@ Info
Definition control_host_development_executor.hpp:32
@ Error
Definition control_host_development_executor.hpp:32
TestInputReleaseReason
Definition test_input.hpp:43
std::function< ControlExecutionOutcome( const ControlAdmissionPlan &, const ControlRequestEnvelope &, const ControlExecutionContext &)> ControlOperationExecutor
Trusted in-process adapter contract.
Definition control_execution.hpp:56
@ State
Definition capabilities.hpp:44
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
STL namespace.
Definition control_host_development_executor.hpp:75
bool applied
Definition control_host_development_executor.hpp:76
std::uint64_t generation
Definition control_host_development_executor.hpp:77
std::string explanation
Definition control_host_development_executor.hpp:78
Definition control_host_development_executor.hpp:66
std::optional< bool > repaint_flash
Definition control_host_development_executor.hpp:72
std::optional< std::string > anchor_id
Definition control_host_development_executor.hpp:67
std::optional< std::string > highlight_node_id
Definition control_host_development_executor.hpp:71
std::optional< bool > bypass
Definition control_host_development_executor.hpp:68
std::vector< std::pair< std::string, double > > constants
Definition control_host_development_executor.hpp:70
std::optional< bool > locked
Definition control_host_development_executor.hpp:69
Definition control_host_development_executor.hpp:34
std::string id
Definition control_host_development_executor.hpp:35
ControlDiagnosticSeverity severity
Definition control_host_development_executor.hpp:36
std::string message
Definition control_host_development_executor.hpp:37
Definition control_host_development_executor.hpp:81
ControlRegistration registration
Definition control_host_development_executor.hpp:82
ControlManifest manifest
Definition control_host_development_executor.hpp:83
Definition control_host_development_executor.hpp:86
std::shared_ptr< InspectorMainThreadRpc > main_thread_rpc
Definition control_host_development_executor.hpp:88
std::function< ControlAuthoringApplyResult(const ControlAuthoringChanges &)> apply_authoring
Definition control_host_development_executor.hpp:96
std::chrono::milliseconds artifact_lifetime
Definition control_host_development_executor.hpp:97
std::function< ControlLogPage(std::uint64_t after_sequence, std::size_t limit)> read_logs
Definition control_host_development_executor.hpp:92
std::function< std::optional< ControlUiObservation >(const ControlUiObservationRequest &)> observe_ui
Definition control_host_development_executor.hpp:90
std::function< TestInputApplyResult(const ControlTestNoteInput &)> apply_test_note
Definition control_host_development_executor.hpp:93
std::function< void(TestInputReleaseReason)> release_test_input
Definition control_host_development_executor.hpp:95
ControlHostDevelopmentBinding binding
Definition control_host_development_executor.hpp:87
std::function< std::vector< ControlDiagnosticItem >()> read_diagnostics
Definition control_host_development_executor.hpp:91
std::function< TestInputApplyResult(const ControlTestTransportInput &)> apply_test_transport
Definition control_host_development_executor.hpp:94
Definition control_host_development_executor.hpp:40
std::uint64_t sequence
Definition control_host_development_executor.hpp:41
std::string message
Definition control_host_development_executor.hpp:43
std::string level
Definition control_host_development_executor.hpp:42
Definition control_host_development_executor.hpp:46
std::uint64_t next_sequence
Definition control_host_development_executor.hpp:48
std::vector< ControlLogEntry > entries
Definition control_host_development_executor.hpp:47
Definition control_manifest.hpp:67
Definition control_identity.hpp:190
Definition control_host_development_executor.hpp:51
std::uint8_t channel
Definition control_host_development_executor.hpp:54
bool note_on
Definition control_host_development_executor.hpp:53
double velocity
Definition control_host_development_executor.hpp:56
std::uint8_t note
Definition control_host_development_executor.hpp:55
std::uint64_t sequence
Definition control_host_development_executor.hpp:52
Definition control_host_development_executor.hpp:59
bool playing
Definition control_host_development_executor.hpp:61
double tempo_bpm
Definition control_host_development_executor.hpp:63
double position_beats
Definition control_host_development_executor.hpp:62
std::uint64_t sequence
Definition control_host_development_executor.hpp:60
Definition control_host_development_executor.hpp:21
std::string selector
Definition control_host_development_executor.hpp:22
bool include_geometry
Definition control_host_development_executor.hpp:23
Definition control_host_development_executor.hpp:26
std::uint64_t generation
Definition control_host_development_executor.hpp:28
std::size_t node_count
Definition control_host_development_executor.hpp:29
std::string tree_json
Definition control_host_development_executor.hpp:27
Definition test_input.hpp:30