From bef40f0ab9e7fc4257a349f0ae65b646e44046e2 Mon Sep 17 00:00:00 2001 From: James Crook Date: Wed, 14 Apr 2021 19:10:44 +0100 Subject: [PATCH] Bug 2743 - The first use of the "window" command in LOF files is ignored by Audacity --- src/ProjectFileManager.cpp | 5 +++-- src/import/ImportLOF.cpp | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ProjectFileManager.cpp b/src/ProjectFileManager.cpp index af8c70c64..82781b65c 100644 --- a/src/ProjectFileManager.cpp +++ b/src/ProjectFileManager.cpp @@ -971,8 +971,9 @@ void ProjectFileManager::OpenFile(const FilePath &fileNameArg, bool addtohistory { Import(fileName); } - - window.ZoomAfterImport(nullptr); + // Bug 2743: Don't zoom with lof. + if (!fileName.AfterLast('.').IsSameAs(wxT("lof"), false)) + window.ZoomAfterImport(nullptr); return; } diff --git a/src/import/ImportLOF.cpp b/src/import/ImportLOF.cpp index e33fc45d8..cf5a386da 100644 --- a/src/import/ImportLOF.cpp +++ b/src/import/ImportLOF.cpp @@ -309,6 +309,7 @@ void LOFImportFileHandle::lofOpenFiles(wxString* ln) wxString targetfile; wxString tokenholder = tok.GetNextToken(); + if (tokenholder.IsSameAs(wxT("window"), false)) { // set any duration/offset factors for last window, as all files were called @@ -501,7 +502,9 @@ void LOFImportFileHandle::doDurationAndScrollOffset() if (!mProject) return; + callScrollOffset = callScrollOffset && (scrollOffset != 0); bool doSomething = callDurationFactor || callScrollOffset; + if (callDurationFactor) { double longestDuration = TrackList::Get( *mProject ).GetEndTime(); @@ -509,7 +512,7 @@ void LOFImportFileHandle::doDurationAndScrollOffset() callDurationFactor = false; } - if (callScrollOffset && (scrollOffset != 0)) + if (callScrollOffset) { ProjectWindow::Get( *mProject ).TP_ScrollWindow(scrollOffset); callScrollOffset = false;