Add empty playlist list and configuration option.
[dcpomatic.git] / src / wx / controls.h
index 968ffa92100456be51f13d2434f6eaae13712e68..2c0b84d8d3870a20c0e2a0bdafcb0293e78e3d8b 100644 (file)
@@ -21,7 +21,6 @@
 #include "lib/dcpomatic_time.h"
 #include "lib/types.h"
 #include "lib/film.h"
-#include "lib/spl_entry.h"
 #include <wx/wx.h>
 #include <boost/shared_ptr.hpp>
 #include <boost/signals2.hpp>
@@ -34,6 +33,10 @@ class PlayerVideo;
 class wxToggleButton;
 class wxListCtrl;
 
+namespace dcp {
+       class CPL;
+}
+
 class Controls : public wxPanel
 {
 public:
@@ -50,8 +53,6 @@ public:
        void show_extended_player_controls (bool s);
        void log (wxString s);
 
-       boost::signals2::signal<void (std::list<SPLEntry>)> SPLChanged;
-
 private:
        void update_position_label ();
        void update_position_slider ();
@@ -78,15 +79,20 @@ private:
        void started ();
        void stopped ();
        void film_changed ();
-       void update_dcp_directory ();
-       void dcp_directory_changed ();
+       void update_content_directory ();
        void config_changed (int property);
-       boost::optional<boost::filesystem::path> selected_dcp () const;
+
+       typedef std::pair<boost::shared_ptr<dcp::CPL>, boost::filesystem::path> CPL;
+
+       boost::shared_ptr<Content> selected_content () const;
 #ifdef DCPOMATIC_VARIANT_SWAROOP
        void pause_clicked ();
        void stop_clicked ();
 #endif
        void add_clicked ();
+       void save_clicked ();
+       void load_clicked ();
+       void add_content_to_list (boost::shared_ptr<Content> content, wxListCtrl* list);
 
        boost::shared_ptr<Film> _film;
        boost::shared_ptr<FilmViewer> _viewer;
@@ -98,11 +104,14 @@ private:
        wxCheckBox* _outline_content;
        wxChoice* _eye;
        wxCheckBox* _jump_to_selected;
-       wxListCtrl* _dcp_directory;
+       wxListCtrl* _content_view;
        wxListCtrl* _spl_view;
+       wxListCtrl* _current_spl_view;
        wxTextCtrl* _log;
        wxButton* _add_button;
-       std::vector<boost::filesystem::path> _dcp_directories;
+       wxButton* _save_button;
+       wxButton* _load_button;
+       std::vector<boost::shared_ptr<Content> > _content;
        wxSlider* _slider;
        wxButton* _rewind_button;
        wxButton* _back_button;
@@ -117,9 +126,12 @@ private:
        wxToggleButton* _play_button;
 #endif
        boost::optional<std::string> _active_job;
-       std::list<SPLEntry> _spl;
 
        ClosedCaptionsDialog* _closed_captions_dialog;
 
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+       boost::optional<dcp::ContentKind> _current_kind;
+#endif
+
        boost::signals2::scoped_connection _config_changed_connection;
 };