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
+5
View File
@@ -214,6 +214,11 @@ void RunBatchCaptureItems(ReaSamplerSession& session)
src.startSeconds = unit.startSeconds;
src.endSeconds = unit.endSeconds;
src.sourceTracks.push_back(u.track);
// The unit's range IS this item's own extent (read above from
// D_POSITION/D_LENGTH) and it is the only selected item, so the
// selected-items render source prints exactly it — batch keeps the
// one-sample-per-item-at-item-extent semantics, unchanged.
src.itemExtentIsWindow = true;
if (std::string g = guidString(u.track); !g.empty())
src.trackGuids.push_back(std::move(g));