return _tms_protocol;
}
+ bool tms_passive() const {
+ return _tms_passive;
+ }
+
/** @return The IP address of a TMS that we can copy DCPs to */
std::string tms_ip () const {
return _tms_ip;
return _default_still_length;
}
- Ratio const * default_container () const {
- return _default_container;
- }
-
DCPContentType const * default_dcp_content_type () const {
return _default_dcp_content_type;
}
return _default_interop;
}
+ boost::optional<dcp::LanguageTag> default_audio_language() const {
+ return _default_audio_language;
+ }
+
std::map<std::string, std::string> default_metadata () const {
return _default_metadata;
}
return _last_release_notes_version;
}
+ boost::optional<int> main_divider_sash_position() const {
+ return _main_divider_sash_position;
+ }
+
+ boost::optional<int> main_content_divider_sash_position() const {
+ return _main_content_divider_sash_position;
+ }
+
/* SET (mostly) */
void set_master_encoding_threads (int n) {
maybe_set (_tms_protocol, p);
}
+ void set_tms_passive(bool passive) {
+ maybe_set(_tms_passive, passive);
+ }
+
/** @param i IP address of a TMS that we can copy DCPs to */
void set_tms_ip (std::string i) {
maybe_set (_tms_ip, i);
maybe_set (_default_still_length, s);
}
- void set_default_container (Ratio const * c) {
- maybe_set (_default_container, c);
- }
-
void set_default_dcp_content_type (DCPContentType const * t) {
maybe_set (_default_dcp_content_type, t);
}
maybe_set (_default_interop, i);
}
+ void set_default_audio_language(dcp::LanguageTag tag) {
+ maybe_set(_default_audio_language, tag);
+ }
+
+ void unset_default_audio_language() {
+ maybe_set(_default_audio_language, boost::optional<dcp::LanguageTag>());
+ }
+
void set_default_metadata (std::map<std::string, std::string> const& metadata) {
maybe_set (_default_metadata, metadata);
}
maybe_set (_last_release_notes_version, version);
}
+ void unset_last_release_notes_version() {
+ maybe_set(_last_release_notes_version, boost::optional<std::string>());
+ }
+
ExportConfig& export_config() {
return _export;
}
+ void set_main_divider_sash_position(int position) {
+ maybe_set(_main_divider_sash_position, position);
+ }
+
+ void set_main_content_divider_sash_position(int position) {
+ maybe_set(_main_content_divider_sash_position, position);
+ }
+
void changed (Property p = OTHER);
boost::signals2::signal<void (Property)> Changed;
/** Emitted if read() failed on an existing Config file. There is nothing
a listener can do about it: this is just for information.
*/
- static boost::signals2::signal<void ()> FailedToLoad;
+ enum class LoadFailure {
+ CONFIG,
+ CINEMAS,
+ DKDM_RECIPIENTS
+ };
+ static boost::signals2::signal<void (LoadFailure)> FailedToLoad;
/** Emitted if read() issued a warning which the user might want to know about */
static boost::signals2::signal<void (std::string)> Warning;
/** Emitted if there is a something wrong the contents of our config. Handler can call
private:
Config ();
void read () override;
+ void read_config();
+ void read_cinemas();
+ void read_dkdm_recipients();
void set_defaults ();
void set_kdm_email_to_default ();
void set_notification_email_to_default ();
std::vector<std::string> _servers;
bool _only_servers_encode;
FileTransferProtocol _tms_protocol;
+ bool _tms_passive;
/** The IP address of a TMS that we can copy DCPs to */
std::string _tms_ip;
/** The path on a TMS that we should write DCPs to */
boost::optional<std::string> _language;
/** Default length of still image content (seconds) */
int _default_still_length;
- Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
int _default_dcp_audio_channels;
std::string _dcp_issuer;
int _default_j2k_bandwidth;
int _default_audio_delay;
bool _default_interop;
+ boost::optional<dcp::LanguageTag> _default_audio_language;
std::map<std::string, std::string> _default_metadata;
/** Default directory to offer to write KDMs to; if it's not set,
the home directory will be offered.
RoughDuration _default_kdm_duration;
double _auto_crop_threshold;
boost::optional<std::string> _last_release_notes_version;
+ boost::optional<int> _main_divider_sash_position;
+ boost::optional<int> _main_content_divider_sash_position;
ExportConfig _export;