swaroop: required monitors checks.
[dcpomatic.git] / src / lib / config.h
index 80bb48d32cfb3a15d68acfb786721fca71ba7143..a470bf391ab02bdefed27c1d9cf81b7d08e3e261 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "isdcf_metadata.h"
 #include "types.h"
+#include "edid.h"
 #include <dcp/name_format.h>
 #include <dcp/certificate_chain.h>
 #include <dcp/encrypted_kdm.h>
@@ -79,7 +80,6 @@ public:
                PLAYER_DCP_DIRECTORY,
 #ifdef DCPOMATIC_VARIANT_SWAROOP
                PLAYER_BACKGROUND_IMAGE,
-               PLAYER_WATERMARK,
 #endif
                OTHER
        };
@@ -503,8 +503,20 @@ public:
                return _kdm_server_url;
        }
 
-       boost::optional<boost::filesystem::path> player_watermark () const {
-               return _player_watermark;
+       std::string player_watermark_theatre () const {
+               return _player_watermark_theatre;
+       }
+
+       int player_watermark_period () const {
+               return _player_watermark_period;
+       }
+
+       int player_watermark_duration () const {
+               return _player_watermark_duration;
+       }
+
+       std::vector<Monitor> required_monitors () const {
+               return _required_monitors;
        }
 #endif
 
@@ -971,16 +983,20 @@ public:
                maybe_set (_kdm_server_url, s);
        }
 
-       void set_player_watermark (boost::filesystem::path p) {
-               maybe_set (_player_watermark, p, PLAYER_WATERMARK);
+       void set_player_watermark_theatre (std::string p) {
+               maybe_set (_player_watermark_theatre, p);
        }
 
-       void unset_player_watermark () {
-               if (!_player_watermark) {
-                       return;
-               }
-               _player_watermark = boost::none;
-               changed (PLAYER_WATERMARK);
+       void set_player_watermark_period (int minutes) {
+               maybe_set (_player_watermark_period, minutes);
+       }
+
+       void set_player_watermark_duration (int milliseconds) {
+               maybe_set (_player_watermark_duration, milliseconds);
+       }
+
+       void set_required_monitors (std::vector<Monitor> monitors) {
+               maybe_set (_required_monitors, monitors);
        }
 #endif
 
@@ -1180,7 +1196,12 @@ private:
 #ifdef DCPOMATIC_VARIANT_SWAROOP
        boost::optional<boost::filesystem::path> _player_background_image;
        std::string _kdm_server_url;
-       boost::optional<boost::filesystem::path> _player_watermark;
+       std::string _player_watermark_theatre;
+       /** watermark period in minutes */
+       int _player_watermark_period;
+       /** watermark duration in milliseconds */
+       int _player_watermark_duration;
+       std::vector<Monitor> _required_monitors;
 #endif
 
        static int const _current_version;