summaryrefslogtreecommitdiff
path: root/src/lib/film.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-09-23 17:05:01 +0200
committerCarl Hetherington <cth@carlh.net>2020-09-23 17:05:01 +0200
commit4f4a86fb43b00d251e44a7f4463fcb390c605212 (patch)
tree274f1b4fea5a5c0f3b4fab9f825f350ec45c8b2a /src/lib/film.cc
parent6b9f804bf49ceee0ebb9f06be123dccfee2a45ab (diff)
Add audio language configuration and pass it to libdcp.
Diffstat (limited to 'src/lib/film.cc')
-rw-r--r--src/lib/film.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 79ee20cfb..ea0a2bdd7 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -166,6 +166,7 @@ Film::Film (optional<boost::filesystem::path> dir)
, _user_explicit_container (false)
, _user_explicit_resolution (false)
, _name_language (dcp::LanguageTag("en-US"))
+ , _audio_language (dcp::LanguageTag("en-US"))
, _release_territory (dcp::LanguageTag::RegionSubtag("US"))
, _version_number (1)
, _status (dcp::FINAL)
@@ -473,6 +474,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("AudioLanguage")->add_child_text(_audio_language.to_string());
root->add_child("ReleaseTerritory")->add_child_text(_release_territory.subtag());
root->add_child("VersionNumber")->add_child_text(raw_convert<string>(_version_number));
root->add_child("Status")->add_child_text(dcp::status_to_string(_status));
@@ -636,6 +638,10 @@ Film::read_metadata (optional<boost::filesystem::path> path)
if (name_language) {
_name_language = dcp::LanguageTag (*name_language);
}
+ optional<string> audio_language = f.optional_string_child("AudioLanguage");
+ if (audio_language) {
+ _audio_language = dcp::LanguageTag (*audio_language);
+ }
optional<string> release_territory = f.optional_string_child("ReleaseTerritory");
if (release_territory) {
_release_territory = dcp::LanguageTag::RegionSubtag (*release_territory);
@@ -1945,6 +1951,14 @@ Film::set_name_language (dcp::LanguageTag lang)
void
+Film::set_audio_language (dcp::LanguageTag lang)
+{
+ ChangeSignaller<Film> ch (this, AUDIO_LANGUAGE);
+ _audio_language = lang;
+}
+
+
+void
Film::set_release_territory (dcp::LanguageTag::RegionSubtag region)
{
ChangeSignaller<Film> ch (this, RELEASE_TERRITORY);