#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>
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)
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 ());
}
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);