Player only detects pre-emphasis on track change

This commit is contained in:
deagahelio
2021-03-29 20:12:44 -03:00
parent 1720e31fb9
commit 84c32ef37f

View File

@@ -44,6 +44,16 @@ namespace RedBookPlayer
byte[] flagsData = Image.ReadSectorTag(Image.Tracks[CurrentTrack].TrackSequence, SectorTagType.CdTrackFlags);
HasPreEmphasis = ((CdFlags)flagsData[0]).HasFlag(CdFlags.PreEmphasis);
if (!HasPreEmphasis)
{
byte[] subchannel = Image.ReadSectorTag(
Image.Tracks[CurrentTrack].TrackStartSector,
SectorTagType.CdSectorSubchannel
);
HasPreEmphasis = (subchannel[3] & 0b01000000) != 0;
}
TotalIndexes = Image.Tracks[CurrentTrack].Indexes.Count;
CurrentIndex = Image.Tracks[CurrentTrack].Indexes.Keys.GetEnumerator().Current;
}
@@ -74,12 +84,6 @@ namespace RedBookPlayer
CurrentTrack--;
}
byte[] subchannel = Image.ReadSectorTag(0, SectorTagType.CdSectorSubchannel);
if (!HasPreEmphasis)
{
HasPreEmphasis = (subchannel[3] & 0b01000000) != 0;
}
foreach (var item in Image.Tracks[CurrentTrack].Indexes.Reverse())
{
if ((int)CurrentSector >= item.Value)