From b07e018310a349059ce13e7b275339b721da9938 Mon Sep 17 00:00:00 2001 From: 4am Date: Mon, 7 Mar 2022 15:34:55 -0500 Subject: [PATCH] support removing tracks from woz with FLUX chunk --- wozardry.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wozardry.py b/wozardry.py index fc8426e..1e7b0d3 100755 --- a/wozardry.py +++ b/wozardry.py @@ -709,15 +709,17 @@ class WozDiskImage: return self.remove(self.track_num_to_half_phase(track_num)) def clean(self): - """removes tracks from self.tracks that are not referenced from self.tmap, and adjusts remaining self.tmap indices""" - if self.flux: return + """removes tracks from self.tracks that are not referenced from self.tmap/flux, and adjusts remaining indices""" i = 0 while i < len(self.tracks): - if i not in self.tmap: + if (i not in self.tmap) and (i not in self.flux): del self.tracks[i] for adjust in range(len(self.tmap)): if (self.tmap[adjust] >= i) and (self.tmap[adjust] != 0xFF): self.tmap[adjust] -= 1 + for adjust in range(len(self.flux)): + if (self.flux[adjust] >= i) and (self.flux[adjust] != 0xFF): + self.flux[adjust] -= 1 else: i += 1