Tolerate problems when reading the contents of DCPs.
[dcpomatic.git] / src / lib / config.h
index b6a1a535d08e10f53db404d4e4b94bb4e28f8d08..0a332bcbb74abdc287153077a86601fe4d1cf00e 100644 (file)
@@ -93,6 +93,8 @@ public:
                SHOW_EXPERIMENTAL_AUDIO_PROCESSORS,
                AUDIO_MAPPING,
                AUTO_CROP_THRESHOLD,
+               ALLOW_SMPTE_BV20,
+               ISDCF_NAME_PART_LENGTH,
                OTHER
        };
 
@@ -603,6 +605,23 @@ public:
                return _main_content_divider_sash_position;
        }
 
+       enum class DefaultAddFileLocation {
+               SAME_AS_LAST_TIME,
+               SAME_AS_PROJECT
+       };
+
+       DefaultAddFileLocation default_add_file_location() const {
+               return _default_add_file_location;
+       }
+
+       bool allow_smpte_bv20() const {
+               return _allow_smpte_bv20;
+       }
+
+       int isdcf_name_part_length() const {
+               return _isdcf_name_part_length;
+       }
+
        /* SET (mostly) */
 
        void set_master_encoding_threads (int n) {
@@ -1172,6 +1191,18 @@ public:
                maybe_set(_main_content_divider_sash_position, position);
        }
 
+       void set_default_add_file_location(DefaultAddFileLocation location) {
+               maybe_set(_default_add_file_location, location);
+       }
+
+       void set_allow_smpte_bv20(bool allow) {
+               maybe_set(_allow_smpte_bv20, allow, ALLOW_SMPTE_BV20);
+       }
+
+       void set_isdcf_name_part_length(int length) {
+               maybe_set(_isdcf_name_part_length, length, ISDCF_NAME_PART_LENGTH);
+       }
+
        void changed (Property p = OTHER);
        boost::signals2::signal<void (Property)> Changed;
        /** Emitted if read() failed on an existing Config file.  There is nothing
@@ -1408,6 +1439,9 @@ private:
        boost::optional<std::string> _last_release_notes_version;
        boost::optional<int> _main_divider_sash_position;
        boost::optional<int> _main_content_divider_sash_position;
+       DefaultAddFileLocation _default_add_file_location;
+       bool _allow_smpte_bv20;
+       int _isdcf_name_part_length;
 
        ExportConfig _export;