Simplify some struct type names.

This commit is contained in:
2021-09-14 21:18:28 +01:00
parent e0047f5cc9
commit 675cd71d5c

View File

@@ -636,20 +636,20 @@ namespace Aaru.Decoders.CD
bool createC0Entry = false) bool createC0Entry = false)
{ {
var toc = new CDFullTOC(); var toc = new CDFullTOC();
Dictionary<byte, byte> sessionEndingTrack = new Dictionary<byte, byte>(); Dictionary<byte, byte> sessionEndingTrack = new();
toc.FirstCompleteSession = byte.MaxValue; toc.FirstCompleteSession = byte.MaxValue;
toc.LastCompleteSession = byte.MinValue; toc.LastCompleteSession = byte.MinValue;
List<TrackDataDescriptor> trackDescriptors = new List<TrackDataDescriptor>(); List<TrackDataDescriptor> trackDescriptors = new();
byte currentTrack = 0; byte currentTrack = 0;
foreach(Track track in tracks.OrderBy(t => t.TrackSession).ThenBy(t => t.TrackSequence)) foreach(Track track in tracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence))
{ {
if(track.TrackSession < toc.FirstCompleteSession) if(track.Session < toc.FirstCompleteSession)
toc.FirstCompleteSession = (byte)track.TrackSession; toc.FirstCompleteSession = (byte)track.Session;
if(track.TrackSession <= toc.LastCompleteSession) if(track.Session <= toc.LastCompleteSession)
{ {
currentTrack = (byte)track.TrackSequence; currentTrack = (byte)track.Sequence;
continue; continue;
} }
@@ -657,34 +657,32 @@ namespace Aaru.Decoders.CD
if(toc.LastCompleteSession > 0) if(toc.LastCompleteSession > 0)
sessionEndingTrack.Add(toc.LastCompleteSession, currentTrack); sessionEndingTrack.Add(toc.LastCompleteSession, currentTrack);
toc.LastCompleteSession = (byte)track.TrackSession; toc.LastCompleteSession = (byte)track.Session;
} }
if(!sessionEndingTrack.ContainsKey(toc.LastCompleteSession)) if(!sessionEndingTrack.ContainsKey(toc.LastCompleteSession))
sessionEndingTrack[toc.LastCompleteSession] = (byte)tracks. sessionEndingTrack[toc.LastCompleteSession] = (byte)tracks.
Where(t => t.TrackSession == Where(t => t.Session == toc.LastCompleteSession).
toc.LastCompleteSession). Max(t => t.Sequence);
Max(t => t.TrackSequence);
byte currentSession = 0; byte currentSession = 0;
foreach(Track track in tracks.OrderBy(t => t.TrackSession).ThenBy(t => t.TrackSequence)) foreach(Track track in tracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence))
{ {
trackFlags.TryGetValue((byte)track.TrackSequence, out byte trackControl); trackFlags.TryGetValue((byte)track.Sequence, out byte trackControl);
if(trackControl == 0 && if(trackControl == 0 &&
track.TrackType != TrackType.Audio) track.Type != TrackType.Audio)
trackControl = (byte)CdFlags.DataTrack; trackControl = (byte)CdFlags.DataTrack;
// Lead-Out // Lead-Out
if(track.TrackSession > currentSession && if(track.Session > currentSession &&
currentSession != 0) currentSession != 0)
{ {
(byte minute, byte second, byte frame) leadoutAmsf = LbaToMsf(track.TrackStartSector - 150); (byte minute, byte second, byte frame) leadoutAmsf = LbaToMsf(track.StartSector - 150);
(byte minute, byte second, byte frame) leadoutPmsf = (byte minute, byte second, byte frame) leadoutPmsf =
LbaToMsf(tracks.OrderBy(t => t.TrackSession).ThenBy(t => t.TrackSequence).Last(). LbaToMsf(tracks.OrderBy(t => t.Session).ThenBy(t => t.Sequence).Last().StartSector);
TrackStartSector);
// Lead-out // Lead-out
trackDescriptors.Add(new TrackDataDescriptor trackDescriptors.Add(new TrackDataDescriptor
@@ -719,14 +717,13 @@ namespace Aaru.Decoders.CD
} }
// Lead-in // Lead-in
if(track.TrackSession > currentSession) if(track.Session > currentSession)
{ {
currentSession = (byte)track.TrackSession; currentSession = (byte)track.Session;
sessionEndingTrack.TryGetValue(currentSession, out byte endingTrackNumber); sessionEndingTrack.TryGetValue(currentSession, out byte endingTrackNumber);
(byte minute, byte second, byte frame) leadinPmsf = (byte minute, byte second, byte frame) leadinPmsf =
LbaToMsf((tracks.FirstOrDefault(t => t.TrackSequence == endingTrackNumber)?.TrackEndSector ?? LbaToMsf((tracks.FirstOrDefault(t => t.Sequence == endingTrackNumber)?.EndSector ?? 0) + 1);
0) + 1);
// Starting track // Starting track
trackDescriptors.Add(new TrackDataDescriptor trackDescriptors.Add(new TrackDataDescriptor
@@ -735,7 +732,7 @@ namespace Aaru.Decoders.CD
POINT = 0xA0, POINT = 0xA0,
ADR = 1, ADR = 1,
CONTROL = trackControl, CONTROL = trackControl,
PMIN = (byte)track.TrackSequence PMIN = (byte)track.Sequence
}); });
// Ending track // Ending track
@@ -767,8 +764,8 @@ namespace Aaru.Decoders.CD
// Track // Track
trackDescriptors.Add(new TrackDataDescriptor trackDescriptors.Add(new TrackDataDescriptor
{ {
SessionNumber = (byte)track.TrackSession, SessionNumber = (byte)track.Session,
POINT = (byte)track.TrackSequence, POINT = (byte)track.Sequence,
ADR = 1, ADR = 1,
CONTROL = trackControl, CONTROL = trackControl,
PHOUR = 0, PHOUR = 0,