X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsubrip_content.cc;h=0d1bd748db3c1a9a075e9aa841577f69df2198b4;hb=1858190cff2f960f3d1f0a5cc02c69da86088f5b;hp=d7825f518f977a4d525227572469d9f63f2482bb;hpb=24d54ea7fe1ba128cf8d3521d6738fc73a7c623e;p=dcpomatic.git diff --git a/src/lib/subrip_content.cc b/src/lib/subrip_content.cc index d7825f518..0d1bd748d 100644 --- a/src/lib/subrip_content.cc +++ b/src/lib/subrip_content.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington + Copyright (C) 2014-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,17 +21,20 @@ #include "util.h" #include "subrip.h" #include "film.h" -#include +#include "font.h" +#include "raw_convert.h" +#include +#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; +std::string const SubRipContent::font_id = "font"; + SubRipContent::SubRipContent (shared_ptr film, boost::filesystem::path path) : Content (film, path) , SubtitleContent (film, path) @@ -42,7 +45,7 @@ SubRipContent::SubRipContent (shared_ptr film, boost::filesystem::pa SubRipContent::SubRipContent (shared_ptr film, cxml::ConstNodePtr node, int version) : Content (film, node) , SubtitleContent (film, node, version) - , _length (node->number_child ("Length")) + , _length (node->number_child ("Length")) { } @@ -54,12 +57,16 @@ SubRipContent::examine (boost::shared_ptr job) SubRip s (shared_from_this ()); shared_ptr film = _film.lock (); - assert (film); - + DCPOMATIC_ASSERT (film); + DCPTime len (s.length (), film->active_frame_rate_change (position ())); + /* Default to turning these subtitles on */ + set_use_subtitles (true); + boost::mutex::scoped_lock lm (_mutex); _length = len; + add_font (shared_ptr (new Font (font_id))); } string @@ -74,12 +81,6 @@ SubRipContent::technical_summary () const return Content::technical_summary() + " - " + _("SubRip subtitles"); } -string -SubRipContent::information () const -{ - -} - void SubRipContent::as_xml (xmlpp::Node* node) const { @@ -97,22 +98,3 @@ SubRipContent::full_length () const */ return _length; } - -string -SubRipContent::identifier () const -{ - stringstream s; - s << Content::identifier() - << "_" << 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; -}