s/use_template/take_settings_from/g
[dcpomatic.git] / src / lib / dcp_subtitle_content.cc
index e8ac75e36b8eb7cca0818b390d3bc3cf1b50187f..8fee0b2ed29a7ee8ce836d548bc5b88676a613a6 100644 (file)
@@ -20,9 +20,9 @@
 
 #include "font.h"
 #include "dcp_subtitle_content.h"
-#include "raw_convert.h"
 #include "film.h"
 #include "subtitle_content.h"
+#include <dcp/raw_convert.h>
 #include <dcp/interop_subtitle_asset.h>
 #include <dcp/smpte_subtitle_asset.h>
 #include <dcp/interop_load_font_node.h>
@@ -35,6 +35,7 @@ using std::string;
 using std::list;
 using boost::shared_ptr;
 using boost::dynamic_pointer_cast;
+using dcp::raw_convert;
 
 DCPSubtitleContent::DCPSubtitleContent (shared_ptr<const Film> film, boost::filesystem::path path)
        : Content (film, path)
@@ -56,19 +57,21 @@ DCPSubtitleContent::examine (shared_ptr<Job> job)
 
        shared_ptr<dcp::SubtitleAsset> sc = load (path (0));
 
-       /* Default to turning these subtitles on */
-       subtitle->set_use (true);
+       shared_ptr<dcp::InteropSubtitleAsset> iop = dynamic_pointer_cast<dcp::InteropSubtitleAsset> (sc);
+       shared_ptr<dcp::SMPTESubtitleAsset> smpte = dynamic_pointer_cast<dcp::SMPTESubtitleAsset> (sc);
+       if (smpte) {
+               set_video_frame_rate (smpte->edit_rate().numerator);
+       }
 
        boost::mutex::scoped_lock lm (_mutex);
 
-       shared_ptr<dcp::InteropSubtitleAsset> iop = dynamic_pointer_cast<dcp::InteropSubtitleAsset> (sc);
+       /* Default to turning these subtitles on */
+       subtitle->set_use (true);
+
        if (iop) {
                subtitle->set_language (iop->language ());
-       }
-       shared_ptr<dcp::SMPTESubtitleAsset> smpte = dynamic_pointer_cast<dcp::SMPTESubtitleAsset> (sc);
-       if (smpte) {
+       } else if (smpte) {
                subtitle->set_language (smpte->language().get_value_or (""));
-               set_video_frame_rate (smpte->edit_rate().numerator);
        }
 
        _length = ContentTime::from_seconds (sc->latest_subtitle_out().as_seconds ());
@@ -98,10 +101,10 @@ DCPSubtitleContent::technical_summary () const
 }
 
 void
-DCPSubtitleContent::as_xml (xmlpp::Node* node) const
+DCPSubtitleContent::as_xml (xmlpp::Node* node, bool with_paths) const
 {
        node->add_child("Type")->add_child_text ("DCPSubtitle");
-       Content::as_xml (node);
+       Content::as_xml (node, with_paths);
 
        if (subtitle) {
                subtitle->as_xml (node);