Put ISDCF name subtitle language in lower case if subs are burnt in.
authorCarl Hetherington <cth@carlh.net>
Thu, 10 Dec 2015 11:52:07 +0000 (11:52 +0000)
committerCarl Hetherington <cth@carlh.net>
Thu, 10 Dec 2015 11:52:07 +0000 (11:52 +0000)
ChangeLog
src/lib/film.cc
src/wx/dcp_panel.cc

index e0ce41586c3fc3ac690644864ca3d5e6694a2ae3..75b76db31826de06f2bbde244b1e53251c16fdd4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-10  Carl Hetherington  <cth@carlh.net>
+
+       * Put ISDCF name subtitle language in lower case if all subs are
+       burnt into the image.
+
 2015-12-08  Carl Hetherington  <cth@carlh.net>
 
        * Version 2.6.4 released.
index 8c12e70809de314159f7786ce46f973455366b3c..e066bfc50fe7bf0f48ebab851596c51c781cb7b6 100644 (file)
@@ -596,7 +596,27 @@ Film::isdcf_name (bool if_created_now) const
        if (!dm.audio_language.empty ()) {
                d << "_" << dm.audio_language;
                if (!dm.subtitle_language.empty()) {
-                       d << "-" << dm.subtitle_language;
+
+                       bool burnt_in = false;
+                       BOOST_FOREACH (shared_ptr<Content> i, content ()) {
+                               shared_ptr<SubtitleContent> sc = dynamic_pointer_cast<SubtitleContent> (i);
+                               if (!sc) {
+                                       continue;
+                               }
+
+                               if (sc->use_subtitles() && sc->burn_subtitles()) {
+                                       burnt_in = true;
+                               }
+                       }
+
+                       string language = dm.subtitle_language;
+                       if (burnt_in) {
+                               transform (language.begin(), language.end(), language.begin(), ::tolower);
+                       } else {
+                               transform (language.begin(), language.end(), language.begin(), ::toupper);
+                       }
+
+                       d << "-" << language;
                } else {
                        d << "-XX";
                }
index 10df6bbce9862de234e70ee95936bc0f7830ef92..3f4327cf8ffb837a8ddad07c6d1440bdc1d859d1 100644 (file)
@@ -404,6 +404,7 @@ DCPPanel::film_content_changed (int property)
 {
        if (property == AudioContentProperty::AUDIO_STREAMS ||
            property == SubtitleContentProperty::USE_SUBTITLES ||
+           property == SubtitleContentProperty::BURN_SUBTITLES ||
            property == VideoContentProperty::VIDEO_SCALE ||
            property == DCPContentProperty::REFERENCE_VIDEO ||
            property == DCPContentProperty::REFERENCE_AUDIO ||