X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fconfig.cc;h=373b71df6b447685d8e96dab628b020d7ec2fb37;hp=0baaf487c58c05614ddfd0a91ada3baa0d632434;hb=234bca29f70aeeba4fffd67f987de876ff89b6cc;hpb=0cdc95e45cfb733cfb3312a462c460a19662d6c7 diff --git a/src/lib/config.cc b/src/lib/config.cc index 0baaf487c..373b71df6 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -163,6 +163,8 @@ Config::set_defaults () _gdc_username = optional(); _gdc_password = optional(); _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); @@ -481,6 +483,16 @@ try if (ic && *ic == "full") { _interface_complexity = INTERFACE_FULL; } + optional 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)) { @@ -855,6 +867,20 @@ Config::write_config () const 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) {