More c++ tidying.
[dcpomatic.git] / src / lib / dcp_subtitle_content.cc
index 21a50c1990db485f4c20c3b71ba4349f20cd6e0d..2c5d98e498387b285bf4286720395a1e6d17d382 100644 (file)
 #include <dcp/smpte_subtitle_asset.h>
 #include <dcp/interop_load_font_node.h>
 #include <libxml++/libxml++.h>
-#include <boost/foreach.hpp>
 
 #include "i18n.h"
 
 using std::string;
 using std::list;
-using boost::shared_ptr;
-using boost::dynamic_pointer_cast;
+using std::shared_ptr;
+using std::dynamic_pointer_cast;
 using dcp::raw_convert;
+using namespace dcpomatic;
 
 DCPSubtitleContent::DCPSubtitleContent (boost::filesystem::path path)
        : Content (path)
@@ -68,15 +68,11 @@ DCPSubtitleContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
        /* Default to turning these subtitles on */
        only_text()->set_use (true);
 
-       if (iop) {
-               only_text()->set_language (iop->language ());
-       } else if (smpte) {
-               only_text()->set_language (smpte->language().get_value_or (""));
-       }
-
        _length = ContentTime::from_seconds (sc->latest_subtitle_out().as_seconds ());
 
-       BOOST_FOREACH (shared_ptr<dcp::LoadFontNode> i, sc->load_font_nodes ()) {
+       sc->fix_empty_font_ids ();
+
+       for (auto i: sc->load_font_nodes()) {
                only_text()->add_font (shared_ptr<Font> (new Font (i->id)));
        }
 }
@@ -84,10 +80,16 @@ DCPSubtitleContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
 DCPTime
 DCPSubtitleContent::full_length (shared_ptr<const Film> film) const
 {
-       FrameRateChange const frc (active_video_frame_rate(film), film->video_frame_rate());
+       FrameRateChange const frc (film, shared_from_this());
        return DCPTime (_length, frc);
 }
 
+DCPTime
+DCPSubtitleContent::approximate_length () const
+{
+       return DCPTime (_length, FrameRateChange());
+}
+
 string
 DCPSubtitleContent::summary () const
 {