From f5b77fd3bbe448d7206a4f637dbcbdbb26591cb4 Mon Sep 17 00:00:00 2001 From: deagahelio <16138291+deagahelio@users.noreply.github.com> Date: Mon, 29 Mar 2021 09:17:50 -0300 Subject: [PATCH] Display correct time --- RedBookPlayer/Player.cs | 5 +++++ RedBookPlayer/PlayerView.xaml.cs | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/RedBookPlayer/Player.cs b/RedBookPlayer/Player.cs index f884beb..ebb3652 100644 --- a/RedBookPlayer/Player.cs +++ b/RedBookPlayer/Player.cs @@ -9,6 +9,7 @@ using CSCore.SoundOut; using CSCore; using NWaves.Audio; using NWaves.Filters.BiQuad; +using static Aaru.Decoders.CD.FullTOC; namespace RedBookPlayer { @@ -94,6 +95,7 @@ namespace RedBookPlayer public bool HasPreEmphasis { get; private set; } = false; public int TotalTracks { get; private set; } = 0; public int TotalIndexes { get; private set; } = 0; + public ulong TimeOffset { get; private set; } = 0; public AaruFormat Image { get; private set; } FullTOC.CDFullTOC toc; PlayerSource source; @@ -155,6 +157,9 @@ namespace RedBookPlayer LoadTrack(CurrentTrack); TotalTracks = image.Tracks.Count; + TrackDataDescriptor firstTrack = toc.TrackDescriptors.First(d => d.ADR == 1 && d.POINT == 1); + TimeOffset = (ulong)(firstTrack.PMIN * 60 * 75 + firstTrack.PSEC * 75 + firstTrack.PFRAME); + Initialized = true; source.Start(); diff --git a/RedBookPlayer/PlayerView.xaml.cs b/RedBookPlayer/PlayerView.xaml.cs index 86b2dc0..3e31d7a 100644 --- a/RedBookPlayer/PlayerView.xaml.cs +++ b/RedBookPlayer/PlayerView.xaml.cs @@ -140,9 +140,9 @@ namespace RedBookPlayer int[] numbers = new int[]{ player.CurrentTrack + 1, player.CurrentIndex, - (int)((player.CurrentSector / (75 * 60)) % 60), - (int)((player.CurrentSector / 75) % 60), - (int)(player.CurrentSector % 75), + (int)(((player.CurrentSector + player.TimeOffset) / (75 * 60)) % 60), + (int)(((player.CurrentSector + player.TimeOffset) / 75) % 60), + (int)((player.CurrentSector + player.TimeOffset) % 75), player.TotalTracks, player.TotalIndexes };