boost::filesystem::path default_directory_or (boost::filesystem::path a) const;
boost::filesystem::path default_kdm_directory_or (boost::filesystem::path a) const;
+ void load_from_zip(boost::filesystem::path zip_file);
+
enum Property {
USE_ANY_SERVERS,
SERVERS,
SHOW_EXPERIMENTAL_AUDIO_PROCESSORS,
AUDIO_MAPPING,
AUTO_CROP_THRESHOLD,
+ ALLOW_SMPTE_BV20,
+ ISDCF_NAME_PART_LENGTH,
+#ifdef DCPOMATIC_GROK
+ GROK,
+#endif
OTHER
};
NAG_32_ON_64,
NAG_TOO_MANY_DROPPED_FRAMES,
NAG_BAD_SIGNER_CHAIN_VALIDITY,
+ NAG_BAD_SIGNER_DN_QUALIFIER,
NAG_COUNT
};
return _player_mode;
}
+ bool player_restricted_menus() const {
+ return _player_restricted_menus;
+ }
+
+ bool playlist_editor_restricted_menus() const {
+ return _playlist_editor_restricted_menus;
+ }
+
int image_display () const {
return _image_display;
}
return _default_add_file_location;
}
+ bool allow_smpte_bv20() const {
+ return _allow_smpte_bv20;
+ }
+
+#ifdef DCPOMATIC_GROK
+ class Grok
+ {
+ public:
+ Grok() = default;
+ Grok(cxml::ConstNodePtr node);
+
+ void as_xml(xmlpp::Element* node) const;
+
+ bool enable = false;
+ boost::filesystem::path binary_location;
+ int selected = 0;
+ std::string licence_server;
+ int licence_port = 5000;
+ std::string licence;
+ };
+
+ boost::optional<Grok> grok() const {
+ return _grok;
+ }
+#endif
+
+ int isdcf_name_part_length() const {
+ return _isdcf_name_part_length;
+ }
+
/* SET (mostly) */
void set_master_encoding_threads (int n) {
maybe_set(_default_add_file_location, location);
}
+ void set_allow_smpte_bv20(bool allow) {
+ maybe_set(_allow_smpte_bv20, allow, ALLOW_SMPTE_BV20);
+ }
+
+#ifdef DCPOMATIC_GROK
+ void set_grok(Grok const& grok);
+#endif
+
+ 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
BAD_SIGNER_INCONSISTENT, ///< signer chain is somehow inconsistent
BAD_DECRYPTION_INCONSISTENT, ///< KDM decryption chain is somehow inconsistent
BAD_SIGNER_VALIDITY_TOO_LONG, ///< signer certificate validity periods are >10 years
+ BAD_SIGNER_DN_QUALIFIER, ///< some signer certificate has a bad dnQualifier (DoM #2716).
};
static boost::signals2::signal<bool (BadReason)> Bad;
boost::optional<std::string> _gdc_username;
boost::optional<std::string> _gdc_password;
PlayerMode _player_mode;
+ bool _player_restricted_menus = false;
+ bool _playlist_editor_restricted_menus = false;
int _image_display;
VideoViewType _video_view_type;
bool _respect_kdm_validity_periods;
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;
+
+#ifdef DCPOMATIC_GROK
+ boost::optional<Grok> _grok;
+#endif
ExportConfig _export;