+ /** @return Technical details of this content; these are written to logs to
+ * help with debugging.
+ */
+ virtual std::string technical_summary () const;
+
+ virtual void as_xml (xmlpp::Node *, bool with_paths) const;
+ virtual dcpomatic::DCPTime full_length (std::shared_ptr<const Film>) const = 0;
+ virtual dcpomatic::DCPTime approximate_length () const = 0;
+ virtual std::string identifier () const;
+ /** @return points at which to split this content when
+ * REELTYPE_BY_VIDEO_CONTENT is in use.
+ */
+ virtual std::list<dcpomatic::DCPTime> reel_split_points (std::shared_ptr<const Film>) const;
+
+ std::shared_ptr<Content> clone () const;
+
+ void set_paths (std::vector<boost::filesystem::path> paths);
+
+ std::string path_summary () const;
+
+ std::vector<boost::filesystem::path> paths () const {