projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix off-by-one channel when editing audio map levels numerically.
[dcpomatic.git]
/
src
/
wx
/
controls.cc
diff --git
a/src/wx/controls.cc
b/src/wx/controls.cc
index 3e06664607d8617a158af7fbe74780b3ebb84774..7cd31634dd218792998ffccf4bfb594ad279f82c 100644
(file)
--- a/
src/wx/controls.cc
+++ b/
src/wx/controls.cc
@@
-52,6
+52,7
@@
using boost::optional;
using boost::shared_ptr;
using boost::weak_ptr;
using boost::dynamic_pointer_cast;
using boost::shared_ptr;
using boost::weak_ptr;
using boost::dynamic_pointer_cast;
+using namespace dcpomatic;
Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor_controls)
: wxPanel (parent)
Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor_controls)
: wxPanel (parent)
@@
-208,11
+209,15
@@
Controls::slider_moved (bool page)
DCPTime t (_slider->GetValue() * _film->length().get() / 4096);
t = t.round (_film->video_frame_rate());
DCPTime t (_slider->GetValue() * _film->length().get() / 4096);
t = t.round (_film->video_frame_rate());
- /* Ensure that we hit the end of the film at the end of the slider */
+ /* Ensure that we hit the end of the film at the end of the slider. In particular, we
+ need to do an accurate seek in case there isn't a keyframe near the end.
+ */
+ bool accurate = false;
if (t >= _film->length ()) {
t = _film->length() - _viewer->one_video_frame();
if (t >= _film->length ()) {
t = _film->length() - _viewer->one_video_frame();
+ accurate = true;
}
}
- _viewer->seek (t,
fals
e);
+ _viewer->seek (t,
accurat
e);
update_position_label ();
log (
update_position_label ();
log (