From 706b335ac5c2c043e3ffd7a4be5fc93b2b13b176 Mon Sep 17 00:00:00 2001 From: N00MKRAD Date: Sun, 31 Jan 2021 13:46:02 +0100 Subject: [PATCH] Always delete temp folder if it has no interp frames --- Code/Main/AutoEncode.cs | 10 +++++++--- Code/Main/Interpolate.cs | 11 +++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Code/Main/AutoEncode.cs b/Code/Main/AutoEncode.cs index 6ed420a..442b5f2 100644 --- a/Code/Main/AutoEncode.cs +++ b/Code/Main/AutoEncode.cs @@ -132,16 +132,20 @@ namespace Flowframes.Main Logger.Log("[AutoEnc] Starting DeleteOldFramesAsync.", true, false, "ffmpeg"); Stopwatch sw = new Stopwatch(); sw.Restart(); + int counter = 0; foreach (int frame in frameLinesToEncode) { - bool delete = !FrameIsStillNeeded(interpFramesLines[frame], frame); - if (delete) // Make sure frames are no longer needed (e.g. for dupes) before deleting! + if (!FrameIsStillNeeded(interpFramesLines[frame], frame)) // Make sure frames are no longer needed (for dupes) before deleting! { string framePath = Path.Combine(interpFramesPath, interpFramesLines[frame]); File.WriteAllText(framePath, "THIS IS A DUMMY FILE - DO NOT DELETE ME"); // Overwrite to save space without breaking progress counter - await Task.Delay(1); } + + if(counter % 100 == 0) + await Task.Delay(1); + + counter++; } Logger.Log("[AutoEnc] DeleteOldFramesAsync finished in " + FormatUtils.TimeSw(sw), true, false, "ffmpeg"); diff --git a/Code/Main/Interpolate.cs b/Code/Main/Interpolate.cs index 4f439be..c6417c6 100644 --- a/Code/Main/Interpolate.cs +++ b/Code/Main/Interpolate.cs @@ -198,9 +198,16 @@ namespace Flowframes Program.mainForm.SetProgress(0); if (Config.GetInt("processingMode") == 0 && !Config.GetBool("keepTempFolder")) { - DialogResult dialogResult = MessageBox.Show($"Delete the temp folder (Yes) or keep it for resuming later (No)?", "Delete temporary files?", MessageBoxButtons.YesNo); - if (dialogResult == DialogResult.Yes) + if(IOUtils.GetAmountOfFiles(current.interpFolder, false) > ResumeUtils.minFrames) + { + DialogResult dialogResult = MessageBox.Show($"Delete the temp folder (Yes) or keep it for resuming later (No)?", "Delete temporary files?", MessageBoxButtons.YesNo); + if (dialogResult == DialogResult.Yes) + IOUtils.TryDeleteIfExists(current.tempFolder); + } + else + { IOUtils.TryDeleteIfExists(current.tempFolder); + } } AutoEncode.busy = false; Program.mainForm.SetWorking(false);