summaryrefslogtreecommitdiff
path: root/src/lib/film.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-01-05 01:28:19 +0100
committerCarl Hetherington <cth@carlh.net>2024-01-05 17:06:21 +0100
commit43cca4d3a11e077b3e75c713b95942cc3afc9eb1 (patch)
treebbbf9102ec0e6fbd0cab778d9ce834cb52b5a9fc /src/lib/film.cc
parentcb330f076f72000d028b11e88702addb0a2ab480 (diff)
Add new "territory type" so that INT-T{D,L} can be chosen (#2704).
Diffstat (limited to 'src/lib/film.cc')
-rw-r--r--src/lib/film.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index a5b393cc1..5b6b44892 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -426,6 +426,7 @@ Film::metadata (bool with_content_paths) const
root->add_child("ContentVersion")->add_child_text(i);
}
root->add_child("NameLanguage")->add_child_text(_name_language.to_string());
+ root->add_child("TerritoryType")->add_child_text(territory_type_to_string(_territory_type));
if (_release_territory) {
root->add_child("ReleaseTerritory")->add_child_text(_release_territory->subtag());
}
@@ -617,6 +618,10 @@ Film::read_metadata (optional<boost::filesystem::path> path)
if (name_language) {
_name_language = dcp::LanguageTag (*name_language);
}
+ auto territory_type = f.optional_string_child("TerritoryType");
+ if (territory_type) {
+ _territory_type = string_to_territory_type(*territory_type);
+ }
auto release_territory = f.optional_string_child("ReleaseTerritory");
if (release_territory) {
_release_territory = dcp::LanguageTag::RegionSubtag (*release_territory);
@@ -977,7 +982,11 @@ Film::isdcf_name (bool if_created_now) const
isdcf_name += "-XX";
}
- if (_release_territory) {
+ if (_territory_type == TerritoryType::INTERNATIONAL_TEXTED) {
+ isdcf_name += "_INT-TD";
+ } else if (_territory_type == TerritoryType::INTERNATIONAL_TEXTLESS) {
+ isdcf_name += "_INT-TL";
+ } else if (_release_territory) {
auto territory = _release_territory->subtag();
isdcf_name += "_" + to_upper (territory);
if (!_ratings.empty()) {
@@ -2207,3 +2216,11 @@ Film::last_written_by_earlier_than(int major, int minor, int micro) const
return our_micro < micro;
}
+
+void
+Film::set_territory_type(TerritoryType type)
+{
+ FilmChangeSignaller ch(this, FilmProperty::TERRITORY_TYPE);
+ _territory_type = type;
+}
+