Fix ignore_video checker for separate-3D content (#2246).
[dcpomatic.git] / src / lib / config.h
index 29f401755b06cf814db5c1cb2207848099053d9e..e425a976cf6c2315dfe31dd3129e33866c5c2571 100644 (file)
@@ -28,6 +28,7 @@
 
 
 #include "audio_mapping.h"
+#include "rough_duration.h"
 #include "state.h"
 #include "types.h"
 #include <dcp/name_format.h>
@@ -91,6 +92,7 @@ public:
                HISTORY,
                SHOW_EXPERIMENTAL_AUDIO_PROCESSORS,
                AUDIO_MAPPING,
+               AUTO_CROP_THRESHOLD,
                OTHER
        };
 
@@ -167,6 +169,10 @@ public:
                return _allow_any_container;
        }
 
+       bool allow_96khz_audio () const {
+               return _allow_96khz_audio;
+       }
+
        bool show_experimental_audio_processors () const {
                return _show_experimental_audio_processors;
        }
@@ -567,6 +573,13 @@ public:
                return _default_kdm_type;
        }
 
+       RoughDuration default_kdm_duration () const {
+               return _default_kdm_duration;
+       }
+
+       double auto_crop_threshold () const {
+               return _auto_crop_threshold;
+       }
 
        /* SET (mostly) */
 
@@ -651,6 +664,10 @@ public:
                maybe_set (_allow_any_container, a);
        }
 
+       void set_allow_96hhz_audio (bool a) {
+               maybe_set (_allow_96khz_audio, a);
+       }
+
        void set_show_experimental_audio_processors (bool e) {
                maybe_set (_show_experimental_audio_processors, e, SHOW_EXPERIMENTAL_AUDIO_PROCESSORS);
        }
@@ -1088,6 +1105,14 @@ public:
                maybe_set (_default_kdm_type, type);
        }
 
+       void set_default_kdm_duration (RoughDuration duration) {
+               maybe_set (_default_kdm_duration, duration);
+       }
+
+       void set_auto_crop_threshold (double threshold) {
+               maybe_set (_auto_crop_threshold, threshold, AUTO_CROP_THRESHOLD);
+       }
+
        void changed (Property p = OTHER);
        boost::signals2::signal<void (Property)> Changed;
        /** Emitted if read() failed on an existing Config file.  There is nothing
@@ -1108,7 +1133,7 @@ public:
 
        static boost::signals2::signal<bool (BadReason)> Bad;
 
-       void write () const;
+       void write () const override;
        void write_config () const;
        void write_cinemas () const;
        void write_dkdm_recipients () const;
@@ -1135,7 +1160,7 @@ public:
 
 private:
        Config ();
-       void read ();
+       void read () override;
        void set_defaults ();
        void set_kdm_email_to_default ();
        void set_notification_email_to_default ();
@@ -1199,6 +1224,7 @@ private:
            https://www.dcpomatic.com/forum/viewtopic.php?f=2&t=1119&p=4468
        */
        bool _allow_any_container;
+       bool _allow_96khz_audio;
        /** Offer the upmixers in the audio processor settings */
        bool _show_experimental_audio_processors;
        boost::optional<std::string> _language;
@@ -1307,6 +1333,8 @@ private:
        bool _write_kdms_to_disk;
        bool _email_kdms;
        dcp::Formulation _default_kdm_type;
+       RoughDuration _default_kdm_duration;
+       double _auto_crop_threshold;
 
        static int const _current_version;