/*
- Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
_frame.reset ();
- _slider->SetValue (0);
- set_position_text ();
+ update_position ();
if (!_film) {
return;
_position = p;
}
- set_position_text ();
+ update_position ();
refresh_panel ();
_last_get_accurate = accurate;
FilmViewer::timer ()
{
get (_position + DCPTime::from_frames (1, _film->video_frame_rate ()), true);
-
- DCPTime const len = _film->length ();
-
- if (len.get ()) {
- int const new_slider_position = 4096 * _position.get() / len.get();
- if (new_slider_position != _slider->GetValue()) {
- _slider->SetValue (new_slider_position);
- }
- }
}
-
void
FilmViewer::paint_panel ()
{
}
void
-FilmViewer::set_position_text ()
+FilmViewer::update_position ()
{
if (!_film) {
+ _slider->SetValue (0);
_frame_number->SetLabel ("0");
_timecode->SetLabel ("0:0:0.0");
return;
}
+
+ DCPTime const len = _film->length ();
+
+ if (len.get ()) {
+ int const new_slider_position = 4096 * _position.get() / len.get();
+ if (new_slider_position != _slider->GetValue()) {
+ _slider->SetValue (new_slider_position);
+ }
+ }
double const fps = _film->video_frame_rate ();
/* Count frame number from 1 ... not sure if this is the best idea */