From: Carl Hetherington Date: Wed, 30 Sep 2015 13:56:47 +0000 (+0100) Subject: Fix recently-broken video frame rate override control sensitivity. X-Git-Tag: v2.3.12~1 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=a14d71f1aaac3054ed6a9042f91862082d9ea1b7;p=dcpomatic.git Fix recently-broken video frame rate override control sensitivity. --- diff --git a/ChangeLog b/ChangeLog index 7d10859fa..5fa89b771 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2015-09-30 c.hetherington + + * Fix broken video frame rate override control. + 2015-09-30 Carl Hetherington * Version 2.3.11 released. diff --git a/src/wx/timing_panel.cc b/src/wx/timing_panel.cc index 5d74773b2..e416a671c 100644 --- a/src/wx/timing_panel.cc +++ b/src/wx/timing_panel.cc @@ -248,37 +248,31 @@ TimingPanel::film_content_changed (int property) update_play_length (); } - if (property == VideoContentProperty::VIDEO_FRAME_RATE) { - set check; + if (property == VideoContentProperty::VIDEO_FRAME_RATE || property == SubtitleContentProperty::SUBTITLE_VIDEO_FRAME_RATE) { + set check_vc; shared_ptr vc; + int count_sc = 0; + shared_ptr sc; BOOST_FOREACH (shared_ptr i, _parent->selected ()) { - shared_ptr t = dynamic_pointer_cast (i); - if (t) { - check.insert (t->video_frame_rate ()); - vc = t; + shared_ptr vt = dynamic_pointer_cast (i); + if (vt) { + check_vc.insert (vt->video_frame_rate ()); + vc = vt; } + shared_ptr st = dynamic_pointer_cast (i); + if (st) { + ++count_sc; + sc = st; + } + } - if (check.size() == 1) { - checked_set (_video_frame_rate, raw_convert (vc->video_frame_rate (), 5)); - _video_frame_rate->Enable (true); - } else { - checked_set (_video_frame_rate, wxT ("")); - _video_frame_rate->Enable (false); - } - } - if (property == SubtitleContentProperty::SUBTITLE_VIDEO_FRAME_RATE) { - shared_ptr check; - int count = 0; - BOOST_FOREACH (shared_ptr i, _parent->selected ()) { - shared_ptr t = dynamic_pointer_cast (i); - if (t) { - check = t; - ++count; + if (check_vc.size() == 1 || count_sc == 1) { + if (vc) { + checked_set (_video_frame_rate, raw_convert (vc->video_frame_rate (), 5)); + } else if (sc) { + checked_set (_video_frame_rate, raw_convert (sc->subtitle_video_frame_rate (), 5)); } - } - if (count == 1) { - checked_set (_video_frame_rate, raw_convert (check->subtitle_video_frame_rate (), 5)); _video_frame_rate->Enable (true); } else { checked_set (_video_frame_rate, wxT (""));