_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;
+ _player_dcp_directory = boost::none;
+ _player_kdm_directory = boost::none;
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ _player_background_image = boost::none;
+#endif
_allowed_dcp_frame_rates.clear ();
_allowed_dcp_frame_rates.push_back (24);
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");
+ _player_dcp_directory = f.optional_string_child("PlayerDCPDirectory");
+ _player_kdm_directory = f.optional_string_child("PlayerKDMDirectory");
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ _player_background_image = f.optional_string_child("PlayerBackgroundImage");
+#endif
/* 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());
+ }
+ if (_player_dcp_directory) {
+ root->add_child("PlayerDCPDirectory")->add_child_text(_player_dcp_directory->string());
+ }
+ if (_player_kdm_directory) {
+ root->add_child("PlayerKDMDirectory")->add_child_text(_player_kdm_directory->string());
+ }
+#ifdef DCPOMATIC_VARIANT_SWAROOP
+ if (_player_background_image) {
+ root->add_child("PlayerBackgroundImage")->add_child_text(_player_background_image->string());
+ }
+#endif
+
try {
doc.write_to_file_formatted(config_file().string());
} catch (xmlpp::exception& e) {