_gdc_username = optional<string>();
_gdc_password = optional<string>();
_interface_complexity = INTERFACE_SIMPLE;
+ _player_mode = PLAYER_MODE_WINDOW;
+ _image_display = 0;
+ _respect_kdm_validity_periods = true;
+ _player_log_file = boost::none;
_allowed_dcp_frame_rates.clear ();
_allowed_dcp_frame_rates.push_back (24);
_gdc_password = f.optional_string_child("GDCPassword");
optional<string> ic = f.optional_string_child("InterfaceComplexity");
- if (ic && *ic == "simple") {
- _interface_complexity = INTERFACE_SIMPLE;
+ 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;
+ }
+
+ _image_display = f.optional_number_child<int>("ImageDisplay").get_value_or(0);
+ _respect_kdm_validity_periods = f.optional_bool_child("RespectKDMValidityPeriods").get_value_or(true);
+ _player_log_file = f.optional_string_child("PlayerLogFile");
/* Replace any cinemas from config.xml with those from the configured file */
if (boost::filesystem::exists (_cinemas_file)) {
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("ImageDisplay")->add_child_text(raw_convert<string>(_image_display));
+ root->add_child("RespectKDMValidityPeriods")->add_child_text(_respect_kdm_validity_periods ? "1" : "0");
+ if (_player_log_file) {
+ root->add_child("PlayerLogFile")->add_child_text(_player_log_file->string());
+ }
+
try {
doc.write_to_file_formatted(config_file().string());
} catch (xmlpp::exception& e) {