X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fconfig.cc;h=9fdf572070b79eee467d7b0613f46b4e8fe224e6;hb=1f7f758273eb3c98356438da897b7709f8cb87f0;hp=4376ff0575c7e4faaa82284301343a34ab550f9a;hpb=fe99d14e3047e9302e94db372923c92291016f1c;p=dcpomatic.git diff --git a/src/lib/config.cc b/src/lib/config.cc index 4376ff057..9fdf57207 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -72,7 +72,8 @@ Config::Config () void Config::set_defaults () { - _num_local_encoding_threads = max (2U, boost::thread::hardware_concurrency ()); + _master_encoding_threads = max (2U, boost::thread::hardware_concurrency ()); + _server_encoding_threads = max (2U, boost::thread::hardware_concurrency ()); _server_port_base = 6192; _use_any_servers = true; _servers.clear (); @@ -116,7 +117,8 @@ Config::set_defaults () _dcp_metadata_filename_format = dcp::NameFormat ("%t"); _dcp_asset_filename_format = dcp::NameFormat ("%t"); _jump_to_selected = true; - _sound_output = optional (); + _preview_sound = false; + _preview_sound_output = optional (); _allowed_dcp_frame_rates.clear (); _allowed_dcp_frame_rates.push_back (24); @@ -161,7 +163,13 @@ try optional version = f.optional_number_child ("Version"); - _num_local_encoding_threads = f.number_child ("NumLocalEncodingThreads"); + if (f.optional_number_child("NumLocalEncodingThreads")) { + _master_encoding_threads = _server_encoding_threads = f.optional_number_child("NumLocalEncodingThreads").get(); + } else { + _master_encoding_threads = f.number_child("MasterEncodingThreads"); + _server_encoding_threads = f.number_child("ServerEncodingThreads"); + } + _default_directory = f.optional_string_child ("DefaultDirectory"); if (_default_directory && _default_directory->empty ()) { /* We used to store an empty value for this to mean "none set" */ @@ -309,11 +317,9 @@ try _kdm_filename_format = dcp::NameFormat (f.optional_string_child("KDMFilenameFormat").get_value_or ("KDM %f %c %s")); _dcp_metadata_filename_format = dcp::NameFormat (f.optional_string_child("DCPMetadataFilenameFormat").get_value_or ("%t")); _dcp_asset_filename_format = dcp::NameFormat (f.optional_string_child("DCPAssetFilenameFormat").get_value_or ("%t")); -<<<<<<< 8de6a5d1d054bab25ab0d86bc48442d9d6adb849 _jump_to_selected = f.optional_bool_child("JumpToSelected").get_value_or (true); -======= - _sound_output = f.optional_string_child("SoundOutput"); ->>>>>>> First bits of audio support. + _preview_sound = f.optional_bool_child("PreviewSound").get_value_or (false); + _preview_sound_output = f.optional_string_child("PreviewSoundOutput"); /* Replace any cinemas from config.xml with those from the configured file */ if (boost::filesystem::exists (_cinemas_file)) { @@ -324,6 +330,13 @@ try } catch (...) { if (have_existing ("config.xml")) { + + /* Make a copy of the configuration */ + try { + boost::filesystem::copy_file (path ("config.xml", false), path ("config.xml.backup", false)); + boost::filesystem::copy_file (path ("cinemas.xml", false), path ("cinemas.xml.backup", false)); + } catch (...) {} + /* We have a config file but it didn't load */ FailedToLoad (); } @@ -386,7 +399,8 @@ Config::write_config () const xmlpp::Element* root = doc.create_root_node ("Config"); root->add_child("Version")->add_child_text ("2"); - root->add_child("NumLocalEncodingThreads")->add_child_text (raw_convert (_num_local_encoding_threads)); + root->add_child("MasterEncodingThreads")->add_child_text (raw_convert (_master_encoding_threads)); + root->add_child("ServerEncodingThreads")->add_child_text (raw_convert (_server_encoding_threads)); if (_default_directory) { root->add_child("DefaultDirectory")->add_child_text (_default_directory->string ()); } @@ -481,13 +495,11 @@ Config::write_config () const root->add_child("KDMContainerNameFormat")->add_child_text (_kdm_container_name_format.specification ()); root->add_child("DCPMetadataFilenameFormat")->add_child_text (_dcp_metadata_filename_format.specification ()); root->add_child("DCPAssetFilenameFormat")->add_child_text (_dcp_asset_filename_format.specification ()); -<<<<<<< 8de6a5d1d054bab25ab0d86bc48442d9d6adb849 root->add_child("JumpToSelected")->add_child_text (_jump_to_selected ? "1" : "0"); -======= - if (_sound_output) { - root->add_child("SoundOutput")->add_child_text (_sound_output.get()); + root->add_child("PreviewSound")->add_child_text (_preview_sound ? "1" : "0"); + if (_preview_sound_output) { + root->add_child("PreviewSoundOutput")->add_child_text (_preview_sound_output.get()); } ->>>>>>> First bits of audio support. try { doc.write_to_file_formatted (path("config.xml").string ());