Fix vacuous bounds test and stale/circular comments from the settle

Replace the self-comparing render-window loop with a genuinely discriminating
floor-vs-exact check; correct two stale claims; mark the Auto/Manual floor-parity
premise as unverified; drop the STARTPOS/ENDPOS comment's circular justification.
This commit is contained in:
2026-08-02 17:08:11 -04:00
parent 8331df2e91
commit 4c7e0507a1
4 changed files with 32 additions and 25 deletions
+3 -5
View File
@@ -464,11 +464,9 @@ CaptureResult OfflineRenderBackend::capture(const CaptureRequest& request) {
// millisecond (render_settings.h's kRenderBoundsTimeSelection).
//
// RENDER_STARTPOS/ENDPOS are written anyway, to the same window. The header
// (~3045-3046) documents them as mode-0-only, but the DAW run that settled this
// channel had both stores holding the identical window, so it cannot distinguish
// "mode 2 ignored them" from "mode 2 read them and they happened to agree". Writing
// them keeps the two stores agreeing rather than resting exactness on that
// distinction; a stale leftover here could only ever misalign a render silently.
// (~3045-3046) documents them as mode-0-only, so on mode 2 this is a cheap,
// fully-restored (ScopedRenderSettings) defensive write against that
// documentation being an incomplete account of what the renderer reads.
GetSetProjectInfo(proj, "RENDER_BOUNDSFLAG",
static_cast<double>(kRenderBoundsTimeSelection), true);
GetSetProjectInfo(proj, "RENDER_STARTPOS", request.startSeconds, true);