Skip to content

Commit c309375

Browse files
author
LetsPlentendo-CH
committed
Correctly round to milliseconds
1 parent 8be52c6 commit c309375

5 files changed

Lines changed: 20 additions & 8 deletions

File tree

FinalRetimeWindow.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<Label Grid.Row="2" Grid.Column="1" Content="Loads:" HorizontalAlignment="Center" Margin="0,10,0,0" VerticalAlignment="Top" FontSize="15"/>
2727
<Label x:Name="WLoads" Grid.Row="3" Content="--:--.---" HorizontalAlignment="Center" Margin="0,10,0,0" VerticalAlignment="Top" FontSize="15"/>
2828
<Label x:Name="Loads" Grid.Row="3" Grid.Column="1" Content="--:--.---" HorizontalAlignment="Center" Margin="0,10,0,0" VerticalAlignment="Top" FontSize="15"/>
29-
<Label Grid.Row="4" Grid.ColumnSpan="2" Content="Generated with LoadRetimer v1.0.0" HorizontalAlignment="Center" FontSize="10" />
29+
<Label Grid.Row="4" Grid.ColumnSpan="2" Content="Generated with LoadRetimer v1.1.0" HorizontalAlignment="Center" FontSize="10" />
3030
<Button Grid.Row="5" Grid.ColumnSpan="2" Content="Close" Click="Button_Click" />
3131
</Grid>
3232
</Window>

FinalRetimeWindow.xaml.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ public FinalRetimeWindow() {
1212

1313
public FinalRetimeWindow(TimeSpan wloads, TimeSpan loads) {
1414
InitializeComponent();
15-
WLoads.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", wloads);
16-
Loads.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", loads);
17-
WOLoads.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", wloads - loads);
15+
WLoads.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", Helper.RoundTimeSpanMillis(wloads));
16+
Loads.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", Helper.RoundTimeSpanMillis(loads));
17+
WOLoads.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", Helper.RoundTimeSpanMillis(wloads - loads));
1818
}
1919

2020
private void Button_Click(object sender, RoutedEventArgs e) {

Info.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<Grid.ColumnDefinitions>
1818
<ColumnDefinition Width="1*" />
1919
</Grid.ColumnDefinitions>
20-
<Label Content="Load Retimer v1.0.0" HorizontalAlignment="Center" Margin="0,10,0,0" VerticalAlignment="Top" FontSize="25"/>
20+
<Label Content="Load Retimer v1.1.0" HorizontalAlignment="Center" Margin="0,10,0,0" VerticalAlignment="Top" FontSize="25"/>
2121
<TextBlock Grid.Row="1" HorizontalAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Top" Padding="2,0,0,0">
2222
Controls:<LineBreak/>
2323
A/D: go back/forwards 1 frame<LineBreak/>

LoadInfo.xaml.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,18 @@ private void TryCalculate() {
3939
LoadFrameDurationF.Content = "---";
4040
LoadFrameDurationS.Content = "---";
4141
if (frameStart > -1) {
42-
LoadFrameBeginS.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", new TimeSpan((long)(frameStart / MainWindow.frameRate * 10_000_000)));
42+
TimeSpan tmp = new TimeSpan((long)(frameStart / MainWindow.frameRate * 10_000_000));
43+
LoadFrameBeginS.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", Helper.RoundTimeSpanMillis(tmp));
4344
}
4445
if (frameEnd > -1) {
45-
LoadFrameEndS.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", new TimeSpan((long)(frameEnd / MainWindow.frameRate * 10_000_000)));
46+
TimeSpan tmp = new TimeSpan((long)(frameEnd / MainWindow.frameRate * 10_000_000));
47+
LoadFrameEndS.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", Helper.RoundTimeSpanMillis(tmp));
4648
}
4749
if (frameStart > -1 && frameEnd > -1) {
4850
int frameDuration = FrameDuration();
4951
LoadFrameDurationF.Content = String.Format("{0} frames", frameDuration);
50-
LoadFrameDurationS.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", new TimeSpan((long)(frameDuration / MainWindow.frameRate * 10_000_000)));
52+
TimeSpan tmp = new TimeSpan((long)(frameDuration / MainWindow.frameRate * 10_000_000));
53+
LoadFrameDurationS.Content = String.Format("{0:hh\\:mm\\:ss\\.fff}", Helper.RoundTimeSpanMillis(tmp));
5154
}
5255
}
5356

MainWindow.xaml.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ public MainWindow() {
9595
timerAnalyzer.Tick += Analyzer_Tick;
9696
timerAnalyzer.Start();
9797
}
98+
9899
private void ButtonPlayPause_Click(object sender, RoutedEventArgs e) {
99100
if (!Video.IsOpen) return;
100101
if (Video.MediaState == Unosquare.FFME.Common.MediaPlaybackState.Play) {
@@ -441,4 +442,12 @@ private void Window_SizeChanged(object sender, SizeChangedEventArgs e) {
441442
}
442443
}
443444
}
445+
446+
class Helper {
447+
public static TimeSpan RoundTimeSpanMillis(TimeSpan ts) {
448+
long ticks = (long) Math.Round(ts.Ticks / 10_000.0) * 10_000;
449+
var res = new TimeSpan(ticks);
450+
return res;
451+
}
452+
}
444453
}

0 commit comments

Comments
 (0)