capture: render a ranged item capture time-bounded — the selected-items source can't narrow a window, only a full-extent one uses it

sourceModeForScope now takes the item extent vs. the requested window. Full-extent item captures and the batch keep the old path unchanged.
This commit is contained in:
2026-08-01 19:43:06 -04:00
parent 8bf6841f7b
commit 5e3ea6c851
16 changed files with 407 additions and 20 deletions
+6
View File
@@ -34,6 +34,12 @@ struct ResolvedSource
double endSeconds = 0.0;
std::vector<MediaTrack*> sourceTracks;
std::vector<std::string> trackGuids;
// Item scope only: does the selected items' own extent already print
// [startSeconds, endSeconds)? Feeds sourceModeForScope. Defaults false so a
// hand-built source fails closed to the time-bounded render — a caller whose
// range IS the item extent (batch item capture) says so explicitly.
bool itemExtentIsWindow = false;
};
// Reads every track's P_RAZOREDITS and returns the union of parsed track-audio