Remove assumption that GDC serials always start with 'A' (apparently there are other...
[dcpomatic.git] / src / wx / timeline.cc
index c6ce1527b0aaa549fc9690f781ddc40e24ba1f3e..9af8c3b85cb15ae4e0b11ae1fffc326d968bfcd1 100644 (file)
@@ -117,7 +117,7 @@ Timeline::Timeline(wxWindow* parent, ContentPanel* cp, shared_ptr<Film> film, Fi
        _main_canvas->Bind   (wxEVT_SCROLLWIN_PAGEDOWN,   boost::bind (&Timeline::scrolled,     this, _1));
        _main_canvas->Bind   (wxEVT_SCROLLWIN_THUMBTRACK, boost::bind (&Timeline::scrolled,     this, _1));
 
-       film_change (ChangeType::DONE, Film::Property::CONTENT);
+       film_change(ChangeType::DONE, FilmProperty::CONTENT);
 
        SetMinSize (wxSize (640, 4 * pixels_per_track() + 96));
 
@@ -175,6 +175,7 @@ void
 Timeline::paint_main ()
 {
        wxPaintDC dc (_main_canvas);
+       dc.Clear();
 
        auto film = _film.lock();
        if (film->content().empty()) {
@@ -237,16 +238,16 @@ Timeline::paint_main ()
 
 
 void
-Timeline::film_change (ChangeType type, Film::Property p)
+Timeline::film_change(ChangeType type, FilmProperty p)
 {
        if (type != ChangeType::DONE) {
                return;
        }
 
-       if (p == Film::Property::CONTENT || p == Film::Property::REEL_TYPE || p == Film::Property::REEL_LENGTH) {
+       if (p == FilmProperty::CONTENT || p == FilmProperty::REEL_TYPE || p == FilmProperty::REEL_LENGTH) {
                ensure_ui_thread ();
                recreate_views ();
-       } else if (p == Film::Property::CONTENT_ORDER) {
+       } else if (p == FilmProperty::CONTENT_ORDER) {
                Refresh ();
        }
 }
@@ -320,6 +321,7 @@ place (shared_ptr<const Film> film, TimelineViewList& views, int& tracks)
                }
 
                auto cv = dynamic_pointer_cast<TimelineContentView> (i);
+               DCPOMATIC_ASSERT(cv);
 
                int t = base;