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:
+13
-26
@@ -179,38 +179,25 @@ RazorRange razorUnionBounds(const std::vector<RazorRange>& ranges) {
|
||||
}
|
||||
|
||||
const std::vector<CaptureActionDef>& captureActionTable() {
|
||||
// Built once (function-local static): two SCOPE actions x two tail variants.
|
||||
// The None rows are exact bounds (byte-identical to today); the …_TAIL rows are
|
||||
// the paired TailMode::Auto "…with tail" variants (Daniel's lean over silently
|
||||
// flipping the exact-bounds default — spec §Open questions). Ids are FOREVER-
|
||||
// STABLE — never edit a shipped string. Each action infers its range
|
||||
// (razor-else-time) at fire time and enforces its FX-scope invariant via
|
||||
// fxBypassPlanFor. The M7 CAPTURE_TRACKS_WET / CAPTURE_ITEMS_WET /
|
||||
// CAPTURE_RAZOR_WET ids are RETIRED (mirror-unregistered in main.cpp); the
|
||||
// CAPTURE_MASTER scope action is REMOVED (its id is likewise mirror-
|
||||
// unregistered) — to capture the master you render a track.
|
||||
// Built once (function-local static): two SCOPE actions, item + track. Both
|
||||
// exact bounds by default; the tail mode a capture applies is read from the
|
||||
// docked-panel setting at fire time (tail_control + bank_panel), so tail is NOT
|
||||
// a per-action variant. Ids are FOREVER-STABLE — never edit a shipped string.
|
||||
// Each action infers its range (razor-else-time) at fire time and enforces its
|
||||
// FX-scope invariant via fxBypassPlanFor. The M7 CAPTURE_TRACKS_WET /
|
||||
// CAPTURE_ITEMS_WET / CAPTURE_RAZOR_WET ids are RETIRED (mirror-unregistered in
|
||||
// main.cpp); the CAPTURE_MASTER scope action is REMOVED (its id is likewise
|
||||
// mirror-unregistered) — to capture the master you render a track.
|
||||
static const std::vector<CaptureActionDef> table = {
|
||||
// Item scope, exact bounds — item/take FX only.
|
||||
// Item scope — item/take FX only.
|
||||
{"CEREBELLUM_REASAMPLER_CAPTURE_ITEM",
|
||||
"ReaSampler: capture selected item(s)", "item",
|
||||
CaptureScope::Item, TailMode::None},
|
||||
CaptureScope::Item},
|
||||
|
||||
// Track scope, exact bounds — item FX + the track's own FX.
|
||||
// Track scope — item FX + the track's own FX.
|
||||
{"CEREBELLUM_REASAMPLER_CAPTURE_TRACK",
|
||||
"ReaSampler: capture selected track(s)", "track",
|
||||
CaptureScope::Track, TailMode::None},
|
||||
|
||||
// Item scope with Auto tail — captures the take-FX decay past the range end,
|
||||
// trimmed to -72 dB. NEW forever-stable id.
|
||||
{"CEREBELLUM_REASAMPLER_CAPTURE_ITEM_TAIL",
|
||||
"ReaSampler: capture selected item(s) with tail", "item",
|
||||
CaptureScope::Item, TailMode::Auto},
|
||||
|
||||
// Track scope with Auto tail — captures the track's own reverb/delay decay
|
||||
// past the range end, trimmed to -72 dB. NEW forever-stable id.
|
||||
{"CEREBELLUM_REASAMPLER_CAPTURE_TRACK_TAIL",
|
||||
"ReaSampler: capture selected track(s) with tail", "track",
|
||||
CaptureScope::Track, TailMode::Auto},
|
||||
CaptureScope::Track},
|
||||
};
|
||||
return table;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user