Use Film/Playlist for SPL management rather than special classes.
[dcpomatic.git] / src / wx / controls.h
index 5cfe96e3dc85079cfc6429a1b96f29e832c96556..dba981d1436e072bff1ff083c2fc27c42ed353dc 100644 (file)
@@ -33,24 +33,25 @@ class PlayerVideo;
 class wxToggleButton;
 class wxListCtrl;
 
+namespace dcp {
+       class CPL;
+}
+
 class Controls : public wxPanel
 {
 public:
        Controls (
                wxWindow* parent,
                boost::shared_ptr<FilmViewer>,
-               bool editor_controls = true,
-               bool dcp_directory = false
+               bool editor_controls = true
                );
 
        boost::shared_ptr<Film> film () const;
        void back_frame ();
        void forward_frame ();
 
-       void show_dcp_directory (bool s);
-
-       boost::signals2::signal<void (boost::filesystem::path)> DCPDirectorySelected;
-       boost::signals2::signal<void ()> DCPEjected;
+       void show_extended_player_controls (bool s);
+       void log (wxString s);
 
 private:
        void update_position_label ();
@@ -80,12 +81,19 @@ private:
        void film_changed ();
        void update_dcp_directory ();
        void dcp_directory_changed ();
-       void dcp_directory_selected ();
        void config_changed (int property);
+
+       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;
@@ -97,8 +105,13 @@ private:
        wxCheckBox* _outline_content;
        wxChoice* _eye;
        wxCheckBox* _jump_to_selected;
-       wxListCtrl* _dcp_directory;
-       std::vector<boost::filesystem::path> _dcp_directories;
+       wxListCtrl* _content_view;
+       wxListCtrl* _spl_view;
+       wxTextCtrl* _log;
+       wxButton* _add_button;
+       wxButton* _save_button;
+       wxButton* _load_button;
+       std::vector<boost::shared_ptr<Content> > _content;
        wxSlider* _slider;
        wxButton* _rewind_button;
        wxButton* _back_button;
@@ -116,5 +129,9 @@ private:
 
        ClosedCaptionsDialog* _closed_captions_dialog;
 
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+       boost::optional<dcp::ContentKind> _current_kind;
+#endif
+
        boost::signals2::scoped_connection _config_changed_connection;
 };