X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsubrip_content.cc;h=d7825f518f977a4d525227572469d9f63f2482bb;hb=24d54ea7fe1ba128cf8d3521d6738fc73a7c623e;hp=9524cf96baa8fa4b55f6650681e3d69bdfa939c2;hpb=1f8b45c7fd49714628009f5ed2161fbaa2b4d729;p=dcpomatic.git diff --git a/src/lib/subrip_content.cc b/src/lib/subrip_content.cc index 9524cf96b..d7825f518 100644 --- a/src/lib/subrip_content.cc +++ b/src/lib/subrip_content.cc @@ -21,12 +21,14 @@ #include "util.h" #include "subrip.h" #include "film.h" +#include #include "i18n.h" using std::stringstream; using std::string; using std::cout; +using dcp::raw_convert; using boost::shared_ptr; using boost::lexical_cast; @@ -37,7 +39,7 @@ SubRipContent::SubRipContent (shared_ptr film, boost::filesystem::pa } -SubRipContent::SubRipContent (shared_ptr film, shared_ptr node, int version) +SubRipContent::SubRipContent (shared_ptr film, cxml::ConstNodePtr node, int version) : Content (film, node) , SubtitleContent (film, node, version) , _length (node->number_child ("Length")) @@ -50,7 +52,10 @@ SubRipContent::examine (boost::shared_ptr job) { Content::examine (job); SubRip s (shared_from_this ()); + shared_ptr film = _film.lock (); + assert (film); + DCPTime len (s.length (), film->active_frame_rate_change (position ())); boost::mutex::scoped_lock lm (_mutex); @@ -78,12 +83,10 @@ SubRipContent::information () const void 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.get ())); + node->add_child("Length")->add_child_text (raw_convert (_length.get ())); } DCPTime @@ -98,13 +101,18 @@ SubRipContent::full_length () const string SubRipContent::identifier () const { - LocaleGuard lg; - stringstream s; s << Content::identifier() - << "_" << subtitle_scale() - << "_" << subtitle_x_offset() - << "_" << subtitle_y_offset(); + << "_" << raw_convert (subtitle_scale()) + << "_" << raw_convert (subtitle_x_offset()) + << "_" << raw_convert (subtitle_y_offset()); return s.str (); } + +bool +SubRipContent::has_subtitle_during (ContentTimePeriod) const +{ + /* XXX */ + return false; +}