summaryrefslogtreecommitdiff
path: root/src/lib/config.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-11-29 00:06:29 +0100
committerCarl Hetherington <cth@carlh.net>2022-11-29 00:15:02 +0100
commit00885f610bb9957c602a3aff92fa79066b2b2ef3 (patch)
tree024e5e361a0d3af54d99f791154b7f63066cd254 /src/lib/config.cc
parent716f05c1301bc5cd811df687875cafaf0d37ffd2 (diff)
Add default release territory configuration (#2375).
Diffstat (limited to 'src/lib/config.cc')
-rw-r--r--src/lib/config.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index d44abdfbf..4bc4f60f2 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -357,6 +357,7 @@ try
_default_j2k_bandwidth = f.optional_number_child<int>("DefaultJ2KBandwidth").get_value_or (200000000);
_default_audio_delay = f.optional_number_child<int>("DefaultAudioDelay").get_value_or (0);
_default_interop = f.optional_bool_child("DefaultInterop").get_value_or (false);
+
try {
auto al = f.optional_string_child("DefaultAudioLanguage");
if (al) {
@@ -364,6 +365,13 @@ try
}
} catch (std::runtime_error&) {}
+ try {
+ auto te = f.optional_string_child("DefaultTerritory");
+ if (te) {
+ _default_territory = dcp::LanguageTag::RegionSubtag(*te);
+ }
+ } catch (std::runtime_error&) {}
+
for (auto const& i: f.node_children("DefaultMetadata")) {
_default_metadata[i->string_attribute("key")] = i->content();
}
@@ -765,6 +773,10 @@ Config::write_config () const
/* [XML] DefaultAudioLanguage Default audio language to use for new films */
root->add_child("DefaultAudioLanguage")->add_child_text(_default_audio_language->to_string());
}
+ if (_default_territory) {
+ /* [XML] DefaultTerritory Default territory to use for new films */
+ root->add_child("DefaultTerritory")->add_child_text(_default_territory->subtag());
+ }
for (auto const& i: _default_metadata) {
auto c = root->add_child("DefaultMetadata");
c->set_attribute("key", i.first);