+ for (auto const& initial: _initial_paths) {
+ if (initial.second) {
+ root->add_child(initial.first)->add_child_text(initial.second->string());
+ }
+ }
+ root->add_child("UseISDCFNameByDefault")->add_child_text(_use_isdcf_name_by_default ? "1" : "0");
+ root->add_child("WriteKDMsToDisk")->add_child_text(_write_kdms_to_disk ? "1" : "0");
+ root->add_child("EmailKDMs")->add_child_text(_email_kdms ? "1" : "0");
+ root->add_child("DefaultKDMType")->add_child_text(dcp::formulation_to_string(_default_kdm_type));
+ root->add_child("AutoCropThreshold")->add_child_text(raw_convert<string>(_auto_crop_threshold));
+ if (_last_release_notes_version) {
+ root->add_child("LastReleaseNotesVersion")->add_child_text(*_last_release_notes_version);
+ }
+ if (_main_divider_sash_position) {
+ root->add_child("MainDividerSashPosition")->add_child_text(raw_convert<string>(*_main_divider_sash_position));
+ }
+ if (_main_content_divider_sash_position) {
+ root->add_child("MainContentDividerSashPosition")->add_child_text(raw_convert<string>(*_main_content_divider_sash_position));
+ }
+
+ root->add_child("DefaultAddFileLocation")->add_child_text(
+ _default_add_file_location == DefaultAddFileLocation::SAME_AS_LAST_TIME ? "last" : "project"
+ );
+
+ /* [XML] AllowSMPTEBv20 1 to allow the user to choose SMPTE (Bv2.0 only) as a standard, otherwise 0 */
+ root->add_child("AllowSMPTEBv20")->add_child_text(_allow_smpte_bv20 ? "1" : "0");
+ /* [XML] ISDCFNamePartLength Maximum length of the "name" part of an ISDCF name, which should be 14 according to the standard */
+ root->add_child("ISDCFNamePartLength")->add_child_text(raw_convert<string>(_isdcf_name_part_length));
+
+ root->add_child("GpuBinaryLocation")->add_child_text (_gpu_binary_location);
+ root->add_child("EnableGpu")->add_child_text ((_enable_gpu ? "1" : "0"));
+ root->add_child("SelectedGpu")->add_child_text (raw_convert<string> (_selected_gpu));
+ root->add_child("GpuLicenseServer")->add_child_text (_gpu_license_server);
+ root->add_child("GpuLicensePort")->add_child_text (raw_convert<string> (_gpu_license_port));
+ root->add_child("GpuLicense")->add_child_text (_gpu_license);
+
+ _export.write(root->add_child("Export"));
+
+ auto target = config_write_file();