Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
reaper.hpp
Go to the documentation of this file.
1#pragma once
2
89
92
94
98inline void apply_reaper(HostQuirks& q, HostVersion /*v*/) {
99 // Row 15 — REAPER-specific gesture/value ordering for the VST3
100 // automation reader; mis-ordered events otherwise produce spurious
101 // touch-automation lanes.
102 q.reaper_vst3_gesture_ordering = true;
103 // Row R1 — "Run FX while bypassed" routes process() calls to the
104 // plugin even when bypassed so tail state can drain cleanly.
105 q.reaper_process_while_bypassed = true;
106 // Row R2 — "send all keyboard input to plugin" passes keys to the
107 // editor in addition to REAPER's own shortcut handling; editors
108 // must distinguish consumed vs unconsumed.
109 q.reaper_keyboard_passthrough = true;
110 // Row R3 — REAPER's FX-route pin matrix is more permissive than
111 // typical VST3 hosts; accept channel-count-compatible arrangements
112 // even when the layout name doesn't match a standard one.
113 q.reaper_permissive_bus_arrangements = true;
114 // Row R4 — anticipative-FX renders call process() from a non-RT
115 // thread with variable buffer sizes; honor per-block variability
116 // without re-allocating.
117 q.reaper_anticipative_fx_buffer_variability = true;
118 // Row R6 — per-track FX-state save/restore can call setState
119 // mid-play; setState must stay RT-safe and callable at any time.
120 q.reaper_midsession_setstate = true;
121}
122
128 q.reaper_keyboard_only_space = true;
129}
130
149 q.reaper_auv3_in_process_preferred_size_sync = true;
150}
151
152} // namespace pulp::format::host_quirks
Per-host accommodation flags consumed by format adapters.
Host major/minor/patch version detection on top of HostType.
Definition ableton_live.hpp:39
void apply_reaper_keyboard(HostQuirks &q, HostVersion)
Populate REAPER keyboard-only-space flag onto q.
Definition reaper.hpp:127
void apply_reaper_auv3_in_process(HostQuirks &q, HostVersion)
Populate REAPER AU v3 in-process preferredContentSize lesson onto q.
Definition reaper.hpp:148
void apply_reaper(HostQuirks &q, HostVersion)
Populate REAPER's main 6 host-gated flags (rows 15 + R1-R4 + R6) onto q.
Definition reaper.hpp:98
Always-on / host-gated defensive behaviors that the adapters consult.
Definition host_quirks.hpp:66
Semver-ish host version.
Definition host_version.hpp:23