_tms_password = "";
_cinema_sound_processor = CinemaSoundProcessor::from_id (N_("dolby_cp750"));
_allow_any_dcp_frame_rate = false;
+ _allow_any_container = false;
_language = optional<string> ();
_default_still_length = 10;
_default_container = Ratio::from_id ("185");
for (int i = 0; i < NOTIFICATION_COUNT; ++i) {
_notification[i] = false;
}
+ _barco_username = optional<string>();
+ _barco_password = optional<string>();
+ _christie_username = optional<string>();
+ _christie_password = optional<string>();
+ _gdc_username = optional<string>();
+ _gdc_password = optional<string>();
+ _interface_complexity = INTERFACE_SIMPLE;
+ _player_mode = PLAYER_MODE_WINDOW;
+ _respect_kdm_validity_periods = false;
_allowed_dcp_frame_rates.clear ();
_allowed_dcp_frame_rates.push_back (24);
_maximum_j2k_bandwidth = f.optional_number_child<int> ("MaximumJ2KBandwidth").get_value_or (250000000);
_allow_any_dcp_frame_rate = f.optional_bool_child ("AllowAnyDCPFrameRate").get_value_or (false);
+ _allow_any_container = f.optional_bool_child ("AllowAnyContainer").get_value_or (false);
_log_types = f.optional_number_child<int> ("LogTypes").get_value_or (LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR);
_analyse_ebur128 = f.optional_bool_child("AnalyseEBUR128").get_value_or (true);
}
}
+ _barco_username = f.optional_string_child("BarcoUsername");
+ _barco_password = f.optional_string_child("BarcoPassword");
+ _christie_username = f.optional_string_child("ChristieUsername");
+ _christie_password = f.optional_string_child("ChristiePassword");
+ _gdc_username = f.optional_string_child("GDCUsername");
+ _gdc_password = f.optional_string_child("GDCPassword");
+
+ optional<string> ic = f.optional_string_child("InterfaceComplexity");
+ if (ic && *ic == "full") {
+ _interface_complexity = INTERFACE_FULL;
+ }
+ optional<string> pm = f.optional_string_child("PlayerMode");
+ if (pm && *pm == "window") {
+ _player_mode = PLAYER_MODE_WINDOW;
+ } else if (pm && *pm == "full") {
+ _player_mode = PLAYER_MODE_FULL;
+ } else if (pm && *pm == "dual") {
+ _player_mode = PLAYER_MODE_DUAL;
+ }
+
+ _respect_kdm_validity_periods = f.optional_bool_child("RespectKDMValidityPeriods").get_value_or(false);
+
/* Replace any cinemas from config.xml with those from the configured file */
if (boost::filesystem::exists (_cinemas_file)) {
cxml::Document f ("Cinemas");
root->add_child("MaximumJ2KBandwidth")->add_child_text (raw_convert<string> (_maximum_j2k_bandwidth));
/* [XML] AllowAnyDCPFrameRate 1 to allow users to specify any frame rate when creating DCPs, 0 to limit the GUI to standard rates */
root->add_child("AllowAnyDCPFrameRate")->add_child_text (_allow_any_dcp_frame_rate ? "1" : "0");
+ /* [XML] AllowAnyContainer 1 to allow users to user any container ratio for their DCP, 0 to limit the GUI to standard containers */
+ root->add_child("AllowAnyContainer")->add_child_text (_allow_any_container ? "1" : "0");
/* [XML] LogTypes Types of logging to write; a bitfield where 1 is general notes, 2 warnings, 4 errors, 8 debug information related
to encoding, 16 debug information related to encoding, 32 debug information for timing purposes, 64 debug information related
to sending email.
e->add_child_text (_notification[i] ? "1" : "0");
}
+ if (_barco_username) {
+ root->add_child("BarcoUsername")->add_child_text(*_barco_username);
+ }
+ if (_barco_password) {
+ root->add_child("BarcoPassword")->add_child_text(*_barco_password);
+ }
+
+ if (_christie_username) {
+ root->add_child("ChristieUsername")->add_child_text(*_christie_username);
+ }
+ if (_christie_password) {
+ root->add_child("ChristiePassword")->add_child_text(*_christie_password);
+ }
+
+ if (_gdc_username) {
+ root->add_child("GDCUsername")->add_child_text(*_gdc_username);
+ }
+ if (_gdc_password) {
+ root->add_child("GDCPassword")->add_child_text(*_gdc_password);
+ }
+
+ switch (_interface_complexity) {
+ case INTERFACE_SIMPLE:
+ root->add_child("InterfaceComplexity")->add_child_text("simple");
+ break;
+ case INTERFACE_FULL:
+ root->add_child("InterfaceComplexity")->add_child_text("full");
+ break;
+ }
+
+ switch (_player_mode) {
+ case PLAYER_MODE_WINDOW:
+ root->add_child("PlayerMode")->add_child_text("window");
+ break;
+ case PLAYER_MODE_FULL:
+ root->add_child("PlayerMode")->add_child_text("full");
+ break;
+ case PLAYER_MODE_DUAL:
+ root->add_child("PlayerMode")->add_child_text("dual");
+ break;
+ }
+
+ root->add_child("RespectKDMValidityPeriods")->add_child_text(_respect_kdm_validity_periods ? "1" : "0");
+
try {
doc.write_to_file_formatted(config_file().string());
} catch (xmlpp::exception& e) {