1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 17:30:17 +01:00

AUP3: Many corrections and (safe) speed ups

This reenables synchronous mode by default.  However, for processing
where a power cut or crash can be tolerated, synchronous and journaling
are disabled.  Once the processing is complete, they are reenabled.

Types of processing that are like this are "Save As", "Backup Project",
and "Vacuuming". They all write to a separate project file while
running, so the real project file is safe.

Unfortunately, effects are back to be slow and sluggish.

I believe I've address all of the weird file corruption issues and
I'll continue to continue testing for these.
This commit is contained in:
Leland Lucius
2020-07-17 16:17:42 -05:00
parent c0ec20a641
commit 93d9303c3d
5 changed files with 345 additions and 242 deletions

View File

@@ -670,11 +670,17 @@ void ProjectFileManager::CloseLock()
// there's no memory leak.
if (mLastSavedTracks)
{
auto &project = mProject;
auto &projectFileIO = ProjectFileIO::Get(project);
for (auto wt : mLastSavedTracks->Any<WaveTrack>())
{
wt->CloseLock();
}
// Attempt to vacuum the project
projectFileIO.Vacuum(mLastSavedTracks);
mLastSavedTracks->Clear();
mLastSavedTracks.reset();
}