summaryrefslogtreecommitdiff
path: root/src/lib/film.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-06-01 11:28:48 +0200
committerCarl Hetherington <cth@carlh.net>2021-06-01 14:25:17 +0200
commitddd767fd647b2fd585d75ada000d3d01c4c43cb2 (patch)
treea8807a0e60aac0cf39adee3a7a2d7c5c37cb94ad /src/lib/film.h
parent8a0ab373363c34daf5d926e951ee79fc422fdb3d (diff)
Put audio language back in the Film.
It feels neat to have audio language in the audio tab, to match the subtitle language in the subtitle tab. It also avoids the potential confusion of there being an audio language setting in the DCP metadata but no subtitle language setting. However: - I am yet to find a need to describe multiple audio languages in the same DCP (all previous users of Film::audio_languages() were just taking the first language off the list). - As Carsten points out it's fiddly to have to set the audio language for 5 separate-channel WAV files, for example (you wouldn't actually have had to do this, but it would have felt like you did). I think subtitle language remains neater where it is (per-content) as there is this additional subtitle language metadata and it makes much more sense (and is much more likely) that there are multiple subtitle languages in a DCP than it does multiple audio languages.
Diffstat (limited to 'src/lib/film.h')
-rw-r--r--src/lib/film.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/film.h b/src/lib/film.h
index bb868ffad..d46f5e6b7 100644
--- a/src/lib/film.h
+++ b/src/lib/film.h
@@ -186,7 +186,11 @@ public:
std::list<dcpomatic::DCPTimePeriod> reels () const;
std::list<int> mapped_audio_channels () const;
- std::vector<dcp::LanguageTag> audio_languages () const;
+
+ boost::optional<dcp::LanguageTag> audio_language () const {
+ return _audio_language;
+ }
+
std::pair<boost::optional<dcp::LanguageTag>, std::vector<dcp::LanguageTag>> subtitle_languages () const;
std::string content_summary (dcpomatic::DCPTimePeriod period) const;
@@ -395,6 +399,7 @@ public:
return _luminance;
}
+
/* SET */
void set_directory (boost::filesystem::path);
@@ -439,6 +444,7 @@ public:
void set_two_d_version_of_three_d (bool t);
void set_distributor (boost::optional<std::string> d = boost::none);
void set_luminance (boost::optional<dcp::Luminance> l = boost::none);
+ void set_audio_language (boost::optional<dcp::LanguageTag> language);
void add_ffoc_lfoc (Markers& markers) const;
@@ -546,6 +552,7 @@ private:
bool _red_band = false;
bool _two_d_version_of_three_d = false;
boost::optional<dcp::Luminance> _luminance;
+ boost::optional<dcp::LanguageTag> _audio_language;
int _state_version;