commit 731858bf0f0577de7a041f0ed8da724a81e896b2 Author: Bela Lubkin Date: Tue Sep 8 18:45:01 2020 -0700 Slight refinement to tape undo: do save a short tape if there's no save at all yet; generally allow longer tapes to overwrite shorter, below the 20s threshold. diff --git a/src/tape.c b/src/tape.c index 3be2ef1..c9a6b07 100644 --- a/src/tape.c +++ b/src/tape.c @@ -521,9 +521,11 @@ void SaveTapeForUndo(void) { // Only if a bit of playing has happened. This leaves the 'precious' // previous run undisturbed if no real amount of playing was done. - // (20s could be a setting) + // (20s could be a setting). Save short tape if no previous save, or + // to overwrite previous short save with longer one... - if (tape.length_seconds >= 20) { + if (tape.length_seconds >= 20 || + (tapeUndo.length_seconds < 20 && tape.length_frames >= tapeUndo.length_frames)) { tapeUndo = tape; } }