X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftiming_panel.cc;h=cc0639b4ccfd500609c879e41c36df016d4b1b36;hb=e385ef84b198d9ec51c3d2a117d8ef8cfb7292d1;hp=34702463cd80cf7efac1436ebccfe5732868cd5e;hpb=e8204f55c981493b99814f71a50b3c3d62601032;p=dcpomatic.git diff --git a/src/wx/timing_panel.cc b/src/wx/timing_panel.cc index 34702463c..cc0639b4c 100644 --- a/src/wx/timing_panel.cc +++ b/src/wx/timing_panel.cc @@ -80,36 +80,42 @@ TimingPanel::film_content_changed (int property) if (cl.size() == 1) { content = cl.front (); } + + int const film_video_frame_rate = _editor->film()->video_frame_rate (); if (property == ContentProperty::POSITION) { if (content) { - _position->set (content->position (), _editor->film()->video_frame_rate ()); + _position->set (content->position (), film_video_frame_rate); } else { - _position->set (0, 24); + _position->set (DCPTime () , 24); } - } else if (property == ContentProperty::LENGTH || property == VideoContentProperty::VIDEO_FRAME_RATE) { + } else if ( + property == ContentProperty::LENGTH || + property == VideoContentProperty::VIDEO_FRAME_RATE || + property == VideoContentProperty::VIDEO_FRAME_TYPE + ) { if (content) { - _full_length->set (content->full_length (), _editor->film()->video_frame_rate ()); - _play_length->set (content->length_after_trim (), _editor->film()->video_frame_rate ()); + _full_length->set (content->full_length (), film_video_frame_rate); + _play_length->set (content->length_after_trim (), film_video_frame_rate); } else { - _full_length->set (0, 24); - _play_length->set (0, 24); + _full_length->set (DCPTime (), 24); + _play_length->set (DCPTime (), 24); } } else if (property == ContentProperty::TRIM_START) { if (content) { - _trim_start->set (content->trim_start (), _editor->film()->video_frame_rate ()); - _play_length->set (content->length_after_trim (), _editor->film()->video_frame_rate ()); + _trim_start->set (content->trim_start (), film_video_frame_rate); + _play_length->set (content->length_after_trim (), film_video_frame_rate); } else { - _trim_start->set (0, 24); - _play_length->set (0, 24); + _trim_start->set (DCPTime (), 24); + _play_length->set (DCPTime (), 24); } } else if (property == ContentProperty::TRIM_END) { if (content) { - _trim_end->set (content->trim_end (), _editor->film()->video_frame_rate ()); - _play_length->set (content->length_after_trim (), _editor->film()->video_frame_rate ()); + _trim_end->set (content->trim_end (), film_video_frame_rate); + _play_length->set (content->length_after_trim (), film_video_frame_rate); } else { - _trim_end->set (0, 24); - _play_length->set (0, 24); + _trim_end->set (DCPTime (), 24); + _play_length->set (DCPTime (), 24); } } @@ -149,7 +155,8 @@ TimingPanel::full_length_changed () if (c.size() == 1) { shared_ptr ic = dynamic_pointer_cast (c.front ()); if (ic && ic->still ()) { - ic->set_video_length (rint (_full_length->get (_editor->film()->video_frame_rate()) * ic->video_frame_rate() / TIME_HZ)); + /* XXX: No effective FRC here... is this right? */ + ic->set_video_length (ContentTime (_full_length->get (_editor->film()->video_frame_rate()), FrameRateChange (1, 1))); } } } @@ -196,8 +203,8 @@ TimingPanel::set_video_frame_rate () shared_ptr ic = dynamic_pointer_cast (c.front ()); if (ic) { ic->set_video_frame_rate (lexical_cast (wx_to_std (_video_frame_rate->GetValue ()))); - _set_video_frame_rate->Enable (false); } + _set_video_frame_rate->Enable (false); } }