mirror of
https://github.com/aaru-dps/RedBookPlayer.git
synced 2025-12-16 19:24:41 +00:00
Display total CD time and proper indexes for tracks
This commit is contained in:
@@ -56,7 +56,7 @@ namespace RedBookPlayer
|
||||
|
||||
TrackHasEmphasis = ApplyDeEmphasis;
|
||||
|
||||
TotalIndexes = Image.Tracks[CurrentTrack].Indexes.Count;
|
||||
TotalIndexes = Image.Tracks[CurrentTrack].Indexes.Keys.Max();
|
||||
CurrentIndex = Image.Tracks[CurrentTrack].Indexes.Keys.GetEnumerator().Current;
|
||||
}
|
||||
}
|
||||
@@ -103,6 +103,7 @@ namespace RedBookPlayer
|
||||
public int TotalTracks { get; private set; } = 0;
|
||||
public int TotalIndexes { get; private set; } = 0;
|
||||
public ulong TimeOffset { get; private set; } = 0;
|
||||
public ulong TotalTime { get; private set; } = 0;
|
||||
int volume = 100;
|
||||
public int Volume
|
||||
{
|
||||
@@ -189,17 +190,22 @@ namespace RedBookPlayer
|
||||
soundOut.Stop();
|
||||
}
|
||||
|
||||
CurrentTrack = 0;
|
||||
LoadTrack(0);
|
||||
|
||||
if (autoPlay)
|
||||
{
|
||||
soundOut.Play();
|
||||
}
|
||||
|
||||
CurrentTrack = 0;
|
||||
LoadTrack(0);
|
||||
else
|
||||
{
|
||||
TotalIndexes = 0;
|
||||
}
|
||||
|
||||
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);
|
||||
TotalTime = TimeOffset + image.Tracks.Last().TrackEndSector;
|
||||
|
||||
Initialized = true;
|
||||
|
||||
@@ -318,6 +324,7 @@ namespace RedBookPlayer
|
||||
}
|
||||
|
||||
soundOut.Play();
|
||||
TotalIndexes = Image.Tracks[CurrentTrack].Indexes.Keys.Max();
|
||||
}
|
||||
|
||||
public void Pause()
|
||||
|
||||
@@ -57,13 +57,26 @@
|
||||
<Image Name="TotalTracksDigit2" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<StackPanel>
|
||||
<StackPanel Margin="0,0,32,0">
|
||||
<TextBlock Margin="0,0,0,4">INDEXES</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<Image Name="TotalIndexesDigit1" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
<Image Name="TotalIndexesDigit2" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<StackPanel>
|
||||
<TextBlock Margin="0,0,0,4">TOTAL</TextBlock>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<Image Name="TotalTimeDigit1" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
<Image Name="TotalTimeDigit2" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
<Image Width="11" Height="51" Source="/Assets/:.png"></Image>
|
||||
<Image Name="TotalTimeDigit3" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
<Image Name="TotalTimeDigit4" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
<Image Width="11" Height="51" Source="/Assets/:.png"></Image>
|
||||
<Image Name="TotalTimeDigit5" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
<Image Name="TotalTimeDigit6" Width="42" Height="51" Source="/Assets/-.png"></Image>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="0,0,0,16">
|
||||
<Button Click="EnableDeEmphasisButton_Click" IsVisible="{Binding !ApplyDeEmphasis}" Width="200" Margin="0,0,16,0">Enable De-Emphasis</Button>
|
||||
|
||||
@@ -139,11 +139,14 @@ namespace RedBookPlayer
|
||||
int[] numbers = new int[]{
|
||||
Player.CurrentTrack + 1,
|
||||
Player.CurrentIndex,
|
||||
(int)(((Player.CurrentSector + Player.TimeOffset) / (75 * 60)) % 60),
|
||||
(int)((Player.CurrentSector + Player.TimeOffset) / (75 * 60)),
|
||||
(int)(((Player.CurrentSector + Player.TimeOffset) / 75) % 60),
|
||||
(int)((Player.CurrentSector + Player.TimeOffset) % 75),
|
||||
Player.TotalTracks,
|
||||
Player.TotalIndexes
|
||||
Player.TotalIndexes,
|
||||
(int)(Player.TotalTime / (75 * 60)),
|
||||
(int)((Player.TotalTime / 75) % 60),
|
||||
(int)(Player.TotalTime % 75),
|
||||
};
|
||||
|
||||
string digitString = String.Join("", numbers.Select(i => i.ToString().PadLeft(2, '0').Substring(0, 2)));
|
||||
@@ -199,7 +202,7 @@ namespace RedBookPlayer
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
digits = new Image[14];
|
||||
digits = new Image[20];
|
||||
|
||||
digits[0] = this.FindControl<Image>("TrackDigit1");
|
||||
digits[1] = this.FindControl<Image>("TrackDigit2");
|
||||
@@ -220,6 +223,13 @@ namespace RedBookPlayer
|
||||
digits[12] = this.FindControl<Image>("TotalIndexesDigit1");
|
||||
digits[13] = this.FindControl<Image>("TotalIndexesDigit2");
|
||||
|
||||
digits[14] = this.FindControl<Image>("TotalTimeDigit1");
|
||||
digits[15] = this.FindControl<Image>("TotalTimeDigit2");
|
||||
digits[16] = this.FindControl<Image>("TotalTimeDigit3");
|
||||
digits[17] = this.FindControl<Image>("TotalTimeDigit4");
|
||||
digits[18] = this.FindControl<Image>("TotalTimeDigit5");
|
||||
digits[19] = this.FindControl<Image>("TotalTimeDigit6");
|
||||
|
||||
currentTrack = this.FindControl<TextBlock>("CurrentTrack");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user