refactor(capture): expose offline tail as docked-panel toggle
Replace the ...-with-tail variant actions with a pure tail_control module + a docked-panel footer toggle (Off/Auto/Manual) read by CAPTURE_ITEM/TRACK. Default None (byte-identical); Manual fixed 2s, in-memory session lifetime. Tail mechanism unchanged; retired the variant ids.
This commit is contained in:
@@ -384,14 +384,18 @@ Neither is in scope now; both are single-constant seams so promotion is cheap.
|
||||
trailing edge, and the tail is appended after `ENDPOS`. But a range that itself
|
||||
ends in near-silence before a loud transient is the edge case to check the trim
|
||||
doesn't over-eat.)
|
||||
- **Auto as the action default?** Should the two shipped capture actions
|
||||
(`CAPTURE_ITEM` / `CAPTURE_TRACK`, currently all TailMode::None
|
||||
per `render_settings.cpp §captureActionTable`) flip to Auto tail by default once
|
||||
this ships, or should tail be a separate action variant / a modifier? Product call
|
||||
for Daniel. **Leaning:** a per-action-family toggle or a paired "…with tail"
|
||||
variant rather than silently changing the existing actions' behavior — the current
|
||||
exact-bounds default is a documented contract and some captures (chops, wavetable
|
||||
grabs) want no tail. Not blocking the offline implementation; the request-level
|
||||
contract (three tail states) is independent of which action sets which.
|
||||
- **Auto as the action default? — DECIDED (2026-07-23).** The two shipped capture
|
||||
actions (`CAPTURE_ITEM` / `CAPTURE_TRACK`) stay `TailMode::None` by default; the
|
||||
tail mode is exposed as a **settings toggle in the docked bank panel** (None / Auto
|
||||
/ Manual — the footer strip, `bank_panel.cpp` + pure `tail_control`), and the plain
|
||||
capture actions READ that toggle when building the `CaptureRequest`. Chosen over the
|
||||
earlier "…with tail" paired-action lean: one toggle covers all three states without
|
||||
doubling the action count, and the exact-bounds contract still holds because the
|
||||
toggle defaults to None. The setting is an extension-session setting (default None;
|
||||
persists across project loads and panel open/close within a REAPER session; resets to
|
||||
None only on extension unload — i.e. fresh REAPER session; project persistence across
|
||||
REAPER restarts is a follow-on). Manual ships a fixed 2 s default; a
|
||||
fine-adjust affordance (+/- click zones or scroll) is a follow-on. The verify /
|
||||
null-test capture still always runs `TailMode::None` regardless of the toggle.
|
||||
- **Realtime tail sequencing.** Confirmed a **follow-on** to the offline tail — do
|
||||
not block offline on it. Filed as a separate PLAN point.
|
||||
|
||||
Reference in New Issue
Block a user