X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fstring_text_file_content.cc;h=9a25ef06f00ce6e10532721b88183a9d0ed46d9a;hb=f06c5136e7d3cd0a8e1814763c7774859998efe4;hp=2698dbb6d733fad73da91e07cf1d4cbfed301cb0;hpb=a5c629cb9b638b67a0e4c2d26fe9ab2e124bf0eb;p=dcpomatic.git diff --git a/src/lib/string_text_file_content.cc b/src/lib/string_text_file_content.cc index 2698dbb6d..9a25ef06f 100644 --- a/src/lib/string_text_file_content.cc +++ b/src/lib/string_text_file_content.cc @@ -33,25 +33,27 @@ using std::string; using std::cout; using boost::shared_ptr; +using boost::optional; using dcp::raw_convert; +using namespace dcpomatic; -StringTextFileContent::StringTextFileContent (shared_ptr film, boost::filesystem::path path) - : Content (film, path) +StringTextFileContent::StringTextFileContent (boost::filesystem::path path) + : Content (path) { - text.push_back (shared_ptr (new TextContent (this, TEXT_OPEN_SUBTITLE))); + text.push_back (shared_ptr (new TextContent (this, TEXT_OPEN_SUBTITLE, TEXT_UNKNOWN))); } -StringTextFileContent::StringTextFileContent (shared_ptr film, cxml::ConstNodePtr node, int version) - : Content (film, node) +StringTextFileContent::StringTextFileContent (cxml::ConstNodePtr node, int version) + : Content (node) , _length (node->number_child ("Length")) { text = TextContent::from_xml (this, node, version); } void -StringTextFileContent::examine (boost::shared_ptr job) +StringTextFileContent::examine (shared_ptr film, shared_ptr job) { - Content::examine (job); + Content::examine (film, job); StringTextFile s (shared_from_this ()); /* Default to turning these subtitles on */ @@ -88,8 +90,22 @@ StringTextFileContent::as_xml (xmlpp::Node* node, bool with_paths) const } DCPTime -StringTextFileContent::full_length () const +StringTextFileContent::full_length (shared_ptr film) const { - FrameRateChange const frc (active_video_frame_rate(), film()->video_frame_rate ()); + FrameRateChange const frc (film, shared_from_this()); return DCPTime (_length, frc); } + +DCPTime +StringTextFileContent::approximate_length () const +{ + return DCPTime (_length, FrameRateChange()); +} + +string +StringTextFileContent::identifier () const +{ + string s = Content::identifier (); + s += "_" + only_text()->identifier(); + return s; +}