#include "film.h"
#include "text_content.h"
#include <dcp/raw_convert.h>
-#include <dcp/interop_subtitle_asset.h>
-#include <dcp/smpte_subtitle_asset.h>
+#include <dcp/interop_text_asset.h>
+#include <dcp/smpte_text_asset.h>
#include <dcp/interop_load_font_node.h>
#include <libxml++/libxml++.h>
{
Content::examine (film, job);
- auto sc = load (path(0));
+ auto subtitle_asset = load(path(0));
- auto iop = dynamic_pointer_cast<dcp::InteropSubtitleAsset>(sc);
- auto smpte = dynamic_pointer_cast<dcp::SMPTESubtitleAsset>(sc);
+ auto iop = dynamic_pointer_cast<dcp::InteropTextAsset>(subtitle_asset);
+ auto smpte = dynamic_pointer_cast<dcp::SMPTETextAsset>(subtitle_asset);
if (smpte) {
- set_video_frame_rate (smpte->edit_rate().numerator);
+ set_video_frame_rate(film, smpte->edit_rate().numerator);
}
boost::mutex::scoped_lock lm (_mutex);
/* Default to turning these subtitles on */
only_text()->set_use (true);
- _length = ContentTime::from_seconds (sc->latest_subtitle_out().as_seconds());
+ _length = ContentTime::from_seconds(subtitle_asset->latest_text_out().as_seconds());
- sc->fix_empty_font_ids ();
+ subtitle_asset->fix_empty_font_ids();
- for (auto i: sc->load_font_nodes()) {
- only_text()->add_font(make_shared<Font>(i->id));
+ auto font_data = subtitle_asset->font_data();
+ for (auto node: subtitle_asset->load_font_nodes()) {
+ auto data = font_data.find(node->id);
+ if (data != font_data.end()) {
+ only_text()->add_font(make_shared<Font>(node->id, data->second));
+ } else {
+ only_text()->add_font(make_shared<Font>(node->id));
+ }
}
+
+ only_text()->add_font(make_shared<Font>(""));
}
DCPTime