+ DCPDecoder decoder (shared_from_this(), film()->log());
+ BOOST_FOREACH (shared_ptr<dcp::Reel> i, decoder.reels()) {
+ if (!i->main_subtitle()) {
+ why_not.push_back (_("The DCP does not have subtitles in all reels."));
+ return false;
+ }
+ }
+
+ return can_reference (bind (&Content::subtitle, _1), _("There is other subtitle content overlapping this DCP; remove it."), why_not);
+}
+
+void
+DCPContent::use_template (shared_ptr<const Content> c)
+{
+ shared_ptr<const DCPContent> dc = dynamic_pointer_cast<const DCPContent> (c);
+ DCPOMATIC_ASSERT (dc);
+
+ _reference_video = dc->_reference_video;
+ _reference_audio = dc->_reference_audio;
+ _reference_subtitle = dc->_reference_subtitle;