Use content video frame rate rather than the DCP one when reading
authorCarl Hetherington <cth@carlh.net>
Fri, 20 Sep 2019 08:22:10 +0000 (10:22 +0200)
committerCarl Hetherington <cth@carlh.net>
Mon, 30 Sep 2019 22:20:04 +0000 (00:20 +0200)
trim start/end back from the UI.  See #1607.

Backported from 3e6214d3dce7deceb98436e416747aaff72bf561 in v2.15.x.

src/wx/timing_panel.cc

index f10815c..d3bdc92 100644 (file)
@@ -404,7 +404,6 @@ TimingPanel::trim_start_changed ()
        optional<FrameRateChange> ref_frc;
        optional<DCPTime> ref_ph;
 
-       ContentTime const trim = _trim_start->get (_parent->film()->video_frame_rate ());
 
        BOOST_FOREACH (shared_ptr<Content> i, _parent->selected ()) {
                if (i->position() <= ph && ph < i->end(_parent->film())) {
@@ -417,6 +416,7 @@ TimingPanel::trim_start_changed ()
                        ref_ph = ph - i->position() + DCPTime (i->trim_start(), ref_frc.get());
                }
 
+               ContentTime const trim = _trim_start->get (i->video_frame_rate().get_value_or(_parent->film()->video_frame_rate()));
                i->set_trim_start (trim);
        }
 
@@ -437,8 +437,8 @@ TimingPanel::trim_end_changed ()
 
        fv->set_coalesce_player_changes (true);
 
-       ContentTime const trim = _trim_end->get (_parent->film()->video_frame_rate ());
        BOOST_FOREACH (shared_ptr<Content> i, _parent->selected ()) {
+               ContentTime const trim = _trim_end->get (i->video_frame_rate().get_value_or(_parent->film()->video_frame_rate()));
                i->set_trim_end (trim);
        }