Reasonably straightforward stuff; main things are adding
[dcpomatic.git] / src / lib / subtitle_content.cc
index da3b97e2ffd3942f87f452181b97fe5315de8f63..48c9e9cf6c8fb673df9f8b94582be870ba3d896c 100644 (file)
@@ -45,6 +45,7 @@ int const SubtitleContentProperty::USE_SUBTITLES = 504;
 int const SubtitleContentProperty::BURN_SUBTITLES = 505;
 int const SubtitleContentProperty::SUBTITLE_LANGUAGE = 506;
 int const SubtitleContentProperty::FONTS = 507;
+int const SubtitleContentProperty::SUBTITLE_VIDEO_FRAME_RATE = 508;
 
 SubtitleContent::SubtitleContent (shared_ptr<const Film> film)
        : Content (film)
@@ -85,17 +86,17 @@ SubtitleContent::SubtitleContent (shared_ptr<const Film> film, cxml::ConstNodePt
        }
 
        if (version >= 7) {
-               _subtitle_x_offset = node->number_child<float> ("SubtitleXOffset");
-               _subtitle_y_offset = node->number_child<float> ("SubtitleYOffset");
+               _subtitle_x_offset = node->number_child<double> ("SubtitleXOffset");
+               _subtitle_y_offset = node->number_child<double> ("SubtitleYOffset");
        } else {
-               _subtitle_y_offset = node->number_child<float> ("SubtitleOffset");
+               _subtitle_y_offset = node->number_child<double> ("SubtitleOffset");
        }
 
        if (version >= 10) {
-               _subtitle_x_scale = node->number_child<float> ("SubtitleXScale");
-               _subtitle_y_scale = node->number_child<float> ("SubtitleYScale");
+               _subtitle_x_scale = node->number_child<double> ("SubtitleXScale");
+               _subtitle_y_scale = node->number_child<double> ("SubtitleYScale");
        } else {
-               _subtitle_x_scale = _subtitle_y_scale = node->number_child<float> ("SubtitleScale");
+               _subtitle_x_scale = _subtitle_y_scale = node->number_child<double> ("SubtitleScale");
        }
 
        _subtitle_language = node->optional_string_child ("SubtitleLanguage").get_value_or ("");
@@ -274,7 +275,9 @@ SubtitleContent::identifier () const
           types of subtitle content involve fonts.
        */
        BOOST_FOREACH (shared_ptr<Font> f, _fonts) {
-               s << f->file().get_value_or ("Default");
+               for (int i = 0; i < FontFiles::VARIANTS; ++i) {
+                       s << "_" << f->file(static_cast<FontFiles::Variant>(i)).get_value_or ("Default");
+               }
        }
 
        /* The language is for metadata only, and doesn't affect