Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
projection_capability.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <string_view>
5
6namespace pulp::format {
7
13enum class ProjectionSurface : std::uint8_t { clap, vst3, lv2, wam, wclap, au };
14
15enum class ProjectionStatus : std::uint8_t { supported, unsupported };
16
19 std::string_view reason;
20
21 constexpr bool supported() const noexcept {
23 }
24};
25
32constexpr ProjectionResult projection_capability(ProjectionSurface surface, bool baked_processor,
33 bool bounded_descriptor) noexcept {
34 if (!baked_processor)
36 "graph-only descriptor has no baked Processor projection"};
37 if (!bounded_descriptor)
39 "descriptor bounds are missing or exceed adapter limits"};
40 switch (surface) {
47 return {ProjectionStatus::supported, {}};
48 }
49 return {ProjectionStatus::unsupported, "unknown projection surface"};
50}
51
52} // namespace pulp::format
Apple-only: the whole header is gated on APPLE so it stays an empty no-op on the Linux header-hygiene...
Definition au_factory_presets.hpp:33
Definition vst3_adapter.hpp:61
Definition wam_adapter.hpp:35
Definition clap_webview.hpp:21
What the product grants a device: the quota table indexed by capability tier and live thermal state.
Definition aax_editor.hpp:31
ProjectionStatus
Definition projection_capability.hpp:15
@ supported
Definition projection_capability.hpp:15
@ unsupported
Definition projection_capability.hpp:15
constexpr ProjectionResult projection_capability(ProjectionSurface surface, bool baked_processor, bool bounded_descriptor) noexcept
Return the bounded DSPX-07 projection decision for one target surface.
Definition projection_capability.hpp:32
ProjectionSurface
Product surfaces that can consume a baked Processor projection.
Definition projection_capability.hpp:13
@ wam
Definition projection_capability.hpp:13
@ wclap
Definition projection_capability.hpp:13
@ lv2
Definition projection_capability.hpp:13
@ au
Definition projection_capability.hpp:13
@ vst3
Definition projection_capability.hpp:13
@ clap
Definition projection_capability.hpp:13
Definition projection_capability.hpp:17
std::string_view reason
Definition projection_capability.hpp:19
ProjectionStatus status
Definition projection_capability.hpp:18
constexpr bool supported() const noexcept
Definition projection_capability.hpp:21