Add empty playlist list and configuration option.
[dcpomatic.git] / src / lib / config.h
index baf446df318738c1176a7bc4188b9ddb1a961881..23286ddb0164e62fcb8e122c6f9f36d483c72f08 100644 (file)
@@ -77,7 +77,7 @@ public:
                SOUND,
                SOUND_OUTPUT,
                INTERFACE_COMPLEXITY,
-               PLAYER_DCP_DIRECTORY,
+               PLAYER_CONTENT_DIRECTORY,
                HISTORY,
 #ifdef DCPOMATIC_VARIANT_SWAROOP
                PLAYER_BACKGROUND_IMAGE,
@@ -487,8 +487,12 @@ public:
                return _player_log_file;
        }
 
-       boost::optional<boost::filesystem::path> player_dcp_directory () const {
-               return _player_dcp_directory;
+       boost::optional<boost::filesystem::path> player_content_directory () const {
+               return _player_content_directory;
+       }
+
+       boost::optional<boost::filesystem::path> player_playlist_directory () const {
+               return _player_playlist_directory;
        }
 
        boost::optional<boost::filesystem::path> player_kdm_directory () const {
@@ -521,6 +525,10 @@ public:
        }
 #endif
 
+       bool allow_spl_editing () const {
+               return _allow_spl_editing;
+       }
+
        /* SET (mostly) */
 
        void set_master_encoding_threads (int n) {
@@ -943,16 +951,28 @@ public:
                changed ();
        }
 
-       void set_player_dcp_directory (boost::filesystem::path p) {
-               maybe_set (_player_dcp_directory, p, PLAYER_DCP_DIRECTORY);
+       void set_player_content_directory (boost::filesystem::path p) {
+               maybe_set (_player_content_directory, p, PLAYER_CONTENT_DIRECTORY);
        }
 
-       void unset_player_dcp_directory () {
-               if (!_player_dcp_directory) {
+       void unset_player_content_directory () {
+               if (!_player_content_directory) {
                        return;
                }
-               _player_dcp_directory = boost::none;
-               changed (PLAYER_DCP_DIRECTORY);
+               _player_content_directory = boost::none;
+               changed (PLAYER_CONTENT_DIRECTORY);
+       }
+
+       void set_player_playlist_directory (boost::filesystem::path p) {
+               maybe_set (_player_playlist_directory, p);
+       }
+
+       void unset_player_playlist_directory () {
+               if (!_player_playlist_directory) {
+                       return;
+               }
+               _player_playlist_directory = boost::none;
+               changed ();
        }
 
        void set_player_kdm_directory (boost::filesystem::path p) {
@@ -1001,6 +1021,10 @@ public:
        }
 #endif
 
+       void set_allow_spl_editing (bool s) {
+               maybe_set (_allow_spl_editing, s);
+       }
+
        void changed (Property p = OTHER);
        boost::signals2::signal<void (Property)> Changed;
        /** Emitted if read() failed on an existing Config file.  There is nothing
@@ -1192,7 +1216,8 @@ private:
            in the dual-screen player mode.  DCPs on the list can be loaded
            for playback.
        */
-       boost::optional<boost::filesystem::path> _player_dcp_directory;
+       boost::optional<boost::filesystem::path> _player_content_directory;
+       boost::optional<boost::filesystem::path> _player_playlist_directory;
        boost::optional<boost::filesystem::path> _player_kdm_directory;
 #ifdef DCPOMATIC_VARIANT_SWAROOP
        boost::optional<boost::filesystem::path> _player_background_image;
@@ -1204,6 +1229,7 @@ private:
        int _player_watermark_duration;
        std::vector<Monitor> _required_monitors;
 #endif
+       bool _allow_spl_editing;
 
        static int const _current_version;