X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fwx%2Fmarkers_panel.cc;h=463f06758f1aae7575f82f9a54eb88767012e90a;hb=a231f5ec72af46a4f747b1be7249ee8549f6b7fb;hp=a110da105f5cb36318365b4119f2408e6b1af710;hpb=a4d0c85dba60e2837814bd100547189b9a193fff;p=dcpomatic.git diff --git a/src/wx/markers_panel.cc b/src/wx/markers_panel.cc index a110da105..463f06758 100644 --- a/src/wx/markers_panel.cc +++ b/src/wx/markers_panel.cc @@ -23,6 +23,7 @@ #include "markers.h" #include "markers_panel.h" #include "wx_util.h" +#include "lib/film.h" #include LIBDCP_DISABLE_WARNINGS #include @@ -53,7 +54,7 @@ enum { static constexpr auto line_to_label_gap = 2; -MarkersPanel::MarkersPanel (wxWindow* parent, weak_ptr viewer) +MarkersPanel::MarkersPanel(wxWindow* parent, FilmViewer& viewer) : wxPanel (parent, wxID_ANY, wxDefaultPosition, wxSize(-1, 16)) , _viewer (viewer) { @@ -82,7 +83,7 @@ MarkersPanel::set_film (weak_ptr weak_film) void -MarkersPanel::film_changed (ChangeType type, Film::Property property) +MarkersPanel::film_changed(ChangeType type, FilmProperty property) { if (type != ChangeType::DONE) { return; @@ -93,7 +94,7 @@ MarkersPanel::film_changed (ChangeType type, Film::Property property) return; } - if (property == Film::Property::MARKERS || property == Film::Property::CONTENT || property == Film::Property::CONTENT_ORDER || property == Film::Property::VIDEO_FRAME_RATE) { + if (property == FilmProperty::MARKERS || property == FilmProperty::CONTENT || property == FilmProperty::CONTENT_ORDER || property == FilmProperty::VIDEO_FRAME_RATE) { update_from_film (film); } } @@ -222,9 +223,7 @@ void MarkersPanel::mouse_left_down () { if (_over) { - auto viewer = _viewer.lock (); - DCPOMATIC_ASSERT (viewer); - viewer->seek (_markers[*_over].time, true); + _viewer.seek(_markers[*_over].time, true); } } @@ -253,12 +252,11 @@ void MarkersPanel::move_marker_to_current_position () { auto film = _film.lock (); - auto viewer = _viewer.lock (); - if (!film || !viewer || !_menu_marker) { + if (!film || !_menu_marker) { return; } - film->set_marker (*_menu_marker, viewer->position()); + film->set_marker(*_menu_marker, _viewer.position()); } @@ -266,12 +264,11 @@ void MarkersPanel::remove_marker () { auto film = _film.lock (); - auto viewer = _viewer.lock (); - if (!film || !viewer || !_menu_marker) { + if (!film || !_menu_marker) { return; } - film->unset_marker (*_menu_marker); + film->unset_marker(*_menu_marker); } @@ -279,12 +276,11 @@ void MarkersPanel::add_marker (wxCommandEvent& ev) { auto film = _film.lock (); - auto viewer = _viewer.lock (); - if (!film || !viewer) { + if (!film) { return; } auto marker = static_cast(ev.GetId() - ID_add_base); - film->set_marker (marker, viewer->position()); + film->set_marker(marker, _viewer.position()); }