From 33e39ff72151c708bf306bbfa1e16d0f9b92a3d6 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Mon, 6 Sep 2021 05:02:40 +0100 Subject: [PATCH] Do not write index 0 for first session tracks in CDRWin disc images. Fixes #656 --- Aaru.Images/CDRWin/Write.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Aaru.Images/CDRWin/Write.cs b/Aaru.Images/CDRWin/Write.cs index 7747ef2e3..b5fe58db2 100644 --- a/Aaru.Images/CDRWin/Write.cs +++ b/Aaru.Images/CDRWin/Write.cs @@ -556,10 +556,13 @@ namespace Aaru.DiscImages if(track.TrackPregap > 0 && _isCd) { - _descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 0, msf.minute, msf.second, - msf.frame); + if(track.TrackSequence > _writingTracks.Where(t => t.TrackSession == track.TrackSession). + Min(t => t.TrackSequence)) + _descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 0, msf.minute, msf.second, + msf.frame); - msf = LbaToMsf(track.TrackStartSector + track.TrackPregap); + if(track.TrackSequence > 1) + msf = LbaToMsf(track.TrackStartSector + track.TrackPregap); _descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 1, msf.minute, msf.second, msf.frame);