Make a note about ISDCFMetadata SubtitleLanguage being set (part of #1516).
authorCarl Hetherington <cth@carlh.net>
Wed, 3 Apr 2019 00:37:21 +0000 (00:37 +0000)
committerCarl Hetherington <cth@carlh.net>
Wed, 3 Apr 2019 00:37:21 +0000 (00:37 +0000)
src/lib/film.cc
src/lib/isdcf_metadata.cc
src/lib/isdcf_metadata.h

index caa95c6be0e0d76d0bef0a5defc163d15929ed5b..c70e82cdacb0c2890d993777779fb370d4c522ba 100644 (file)
@@ -478,6 +478,13 @@ Film::read_metadata (optional<boost::filesystem::path> path)
                _isdcf_date = boost::gregorian::from_undelimited_string (f.string_child ("DCIDate"));
        }
 
+       list<string> notes;
+
+       if (_isdcf_metadata.has_subtitle_language) {
+               notes.push_back(_("This film had a subtitle language, configured within the ISDCF metadata dialogue, which will be ignored by this version of DCP-o-matic.  "
+                                 "Please set the language for each piece of subtitle or closed-caption content in the film."));
+       }
+
        {
                optional<string> c = f.optional_string_child ("DCPContentType");
                if (c) {
@@ -530,8 +537,6 @@ Film::read_metadata (optional<boost::filesystem::path> path)
        _reencode_j2k = f.optional_bool_child("ReencodeJ2K").get_value_or(false);
        _user_explicit_video_frame_rate = f.optional_bool_child("UserExplicitVideoFrameRate").get_value_or(false);
 
-       list<string> notes;
-       /* This method is the only one that can return notes (so far) */
        _playlist->set_from_xml (shared_from_this(), f.node_child ("Playlist"), _state_version, notes);
 
        /* Write backtraces to this film's directory, until another film is loaded */
index 5e689ee273080e89a4d26b0743c5c304b02bc384..0d7d02cde52ce0447677814b68baf2e7a0726b5d 100644 (file)
@@ -33,6 +33,8 @@ using dcp::raw_convert;
 ISDCFMetadata::ISDCFMetadata (cxml::ConstNodePtr node)
        : content_version (node->number_child<int> ("ContentVersion"))
        , audio_language (node->string_child ("AudioLanguage"))
+         /* Old versions contained this tag, but not these details are held in content */
+       , has_subtitle_language (static_cast<bool>(node->optional_node_child("SubtitleLanguage")))
        , territory (node->string_child ("Territory"))
        , rating (node->string_child ("Rating"))
        , studio (node->string_child ("Studio"))
index 0c70fb6bc49666a3ba63626de4a939ff9514e41d..20f840416bf377c969f17f415b6813dbbecde652 100644 (file)
@@ -46,6 +46,7 @@ public:
 
        int content_version;
        std::string audio_language;
+       bool has_subtitle_language;
        std::string territory;
        std::string rating;
        std::string studio;