Fix setting of fade in/out on multiple pieces of content at the same time (#1934).
[dcpomatic.git] / src / wx / video_panel.cc
index b9c09cc69672007c6d76c7117a01ad817ee8d466..ce6b08f26f408f112e2b40d150ca3ec88f09eb7d 100644 (file)
@@ -326,14 +326,14 @@ void
 VideoPanel::film_changed (Film::Property property)
 {
        switch (property) {
-       case Film::VIDEO_FRAME_RATE:
-       case Film::CONTAINER:
-       case Film::RESOLUTION:
+       case Film::Property::VIDEO_FRAME_RATE:
+       case Film::Property::CONTAINER:
+       case Film::Property::RESOLUTION:
                setup_description ();
                setup_sensitivity ();
                break;
-       case Film::REEL_TYPE:
-       case Film::INTEROP:
+       case Film::Property::REEL_TYPE:
+       case Film::Property::INTEROP:
                setup_sensitivity ();
                break;
        default:
@@ -635,18 +635,20 @@ VideoPanel::setup_sensitivity ()
 void
 VideoPanel::fade_in_changed ()
 {
-       for (auto i: _parent->selected_video ()) {
+       auto const hmsf = _fade_in->get();
+       for (auto i: _parent->selected_video()) {
                double const vfr = i->active_video_frame_rate (_parent->film());
-               i->video->set_fade_in (_fade_in->get(vfr).frames_round(vfr));
+               i->video->set_fade_in (dcpomatic::ContentTime(hmsf, vfr).frames_round(vfr));
        }
 }
 
 void
 VideoPanel::fade_out_changed ()
 {
-       for (auto i: _parent->selected_video ()) {
+       auto const hmsf = _fade_out->get();
+       for (auto i: _parent->selected_video()) {
                double const vfr = i->active_video_frame_rate (_parent->film());
-               i->video->set_fade_out (_fade_out->get(vfr).frames_round(vfr));
+               i->video->set_fade_out (dcpomatic::ContentTime(hmsf, vfr).frames_round(vfr));
        }
 }