Basic display of markers above the playback timeline (#1921).
[dcpomatic.git] / src / wx / controls.cc
index ba069126877b95fae069125f1b46b0d3049ee333..a6f70c039528caa9c1197b6fe5e01c0804145034 100644 (file)
@@ -24,6 +24,7 @@
 #include "controls.h"
 #include "dcpomatic_button.h"
 #include "film_viewer.h"
+#include "markers_panel.h"
 #include "playhead_to_frame_dialog.h"
 #include "playhead_to_timecode_dialog.h"
 #include "static_text.h"
@@ -65,6 +66,7 @@ using namespace dcpomatic;
 
 Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor_controls)
        : wxPanel (parent)
+       , _markers (new MarkersPanel(this, viewer))
        , _slider (new wxSlider(this, wxID_ANY, 0, 0, 4096))
        , _viewer (viewer)
        , _slider_being_moved (false)
@@ -110,7 +112,12 @@ Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor
        _button_sizer = new wxBoxSizer (wxHORIZONTAL);
        h_sizer->Add (_button_sizer, 0, wxEXPAND);
 
-       h_sizer->Add (_slider, 1, wxEXPAND);
+       {
+               auto box = new wxBoxSizer (wxVERTICAL);
+               box->Add (_markers, 0, wxEXPAND);
+               box->Add (_slider, 0, wxEXPAND);
+               h_sizer->Add (box, 1, wxEXPAND);
+       }
 
        _v_sizer->Add (h_sizer, 0, wxEXPAND | wxALL, 6);
 
@@ -469,6 +476,8 @@ Controls::set_film (shared_ptr<Film> film)
 
        _film = film;
 
+       _markers->set_film (_film);
+
        if (_film) {
                _film_change_connection = _film->Change.connect (boost::bind(&Controls::film_change, this, _1, _2));
        }