X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsubrip_content.cc;h=11cba0f66ed39093f87ecdc5937ef29ad663489d;hb=1b1bc528ee5ca1fee1bd33f9fb6f79cd551e3b33;hp=73499a5f69c384a17bc5e2ed39787afd31882af3;hpb=85c65bd422742813992686c17a5e1b718cc3c449;p=dcpomatic.git diff --git a/src/lib/subrip_content.cc b/src/lib/subrip_content.cc index 73499a5f6..11cba0f66 100644 --- a/src/lib/subrip_content.cc +++ b/src/lib/subrip_content.cc @@ -20,12 +20,15 @@ #include "subrip_content.h" #include "util.h" #include "subrip.h" +#include "film.h" #include "i18n.h" using std::stringstream; using std::string; +using std::cout; using boost::shared_ptr; +using boost::lexical_cast; SubRipContent::SubRipContent (shared_ptr film, boost::filesystem::path path) : Content (film, path) @@ -37,6 +40,7 @@ SubRipContent::SubRipContent (shared_ptr film, boost::filesystem::pa SubRipContent::SubRipContent (shared_ptr film, shared_ptr node, int version) : Content (film, node) , SubtitleContent (film, node, version) + , _length (node->number_child ("Length")) { } @@ -47,7 +51,8 @@ SubRipContent::examine (boost::shared_ptr job) Content::examine (job); SubRip s (shared_from_this ()); boost::mutex::scoped_lock lm (_mutex); - _length = s.length (); + shared_ptr film = _film.lock (); + _length = DCPTime (s.length (), film->active_frame_rate_change (position ())); } string @@ -69,11 +74,14 @@ SubRipContent::information () const } void -SubRipContent::as_xml (xmlpp::Node* node) +SubRipContent::as_xml (xmlpp::Node* node) const { + LocaleGuard lg; + node->add_child("Type")->add_child_text ("SubRip"); Content::as_xml (node); SubtitleContent::as_xml (node); + node->add_child("Length")->add_child_text (lexical_cast (_length)); } DCPTime