projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add buttons to set trim from current playhead position (#372).
[dcpomatic.git]
/
src
/
wx
/
film_viewer.cc
diff --git
a/src/wx/film_viewer.cc
b/src/wx/film_viewer.cc
index e33a3c118dc92eedf9f63bb1b79c88c88d1834d8..bdbfc6c03ea780a6564a3a06b5c5e530ff81a2df 100644
(file)
--- a/
src/wx/film_viewer.cc
+++ b/
src/wx/film_viewer.cc
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2012-201
4
Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-201
5
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
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
@@
-130,8
+130,7
@@
FilmViewer::set_film (shared_ptr<Film> f)
_frame.reset ();
_frame.reset ();
- _slider->SetValue (0);
- set_position_text ();
+ update_position ();
if (!_film) {
return;
if (!_film) {
return;
@@
-213,7
+212,7
@@
FilmViewer::get (DCPTime p, bool accurate)
_position = p;
}
_position = p;
}
-
set_position_text
();
+
update_position
();
refresh_panel ();
_last_get_accurate = accurate;
refresh_panel ();
_last_get_accurate = accurate;
@@
-223,18
+222,8
@@
void
FilmViewer::timer ()
{
get (_position + DCPTime::from_frames (1, _film->video_frame_rate ()), true);
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::paint_panel ()
{
@@
-348,13
+337,23
@@
FilmViewer::check_play_state ()
}
void
}
void
-FilmViewer::
set_position_text
()
+FilmViewer::
update_position
()
{
if (!_film) {
{
if (!_film) {
+ _slider->SetValue (0);
_frame_number->SetLabel ("0");
_timecode->SetLabel ("0:0:0.0");
return;
}
_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 */
double const fps = _film->video_frame_rate ();
/* Count frame number from 1 ... not sure if this is the best idea */