projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Basics of noting subtitle times in FFmpegSubtitleStreams.
[dcpomatic.git]
/
src
/
lib
/
subrip_content.cc
diff --git
a/src/lib/subrip_content.cc
b/src/lib/subrip_content.cc
index 9524cf96baa8fa4b55f6650681e3d69bdfa939c2..d7825f518f977a4d525227572469d9f63f2482bb 100644
(file)
--- 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 "util.h"
#include "subrip.h"
#include "film.h"
+#include <dcp/raw_convert.h>
#include "i18n.h"
using std::stringstream;
using std::string;
using std::cout;
#include "i18n.h"
using std::stringstream;
using std::string;
using std::cout;
+using dcp::raw_convert;
using boost::shared_ptr;
using boost::lexical_cast;
using boost::shared_ptr;
using boost::lexical_cast;
@@
-37,7
+39,7
@@
SubRipContent::SubRipContent (shared_ptr<const Film> film, boost::filesystem::pa
}
}
-SubRipContent::SubRipContent (shared_ptr<const Film> film,
shared_ptr<const cxml::Node>
node, int version)
+SubRipContent::SubRipContent (shared_ptr<const Film> film,
cxml::ConstNodePtr
node, int version)
: Content (film, node)
, SubtitleContent (film, node, version)
, _length (node->number_child<int64_t> ("Length"))
: Content (film, node)
, SubtitleContent (film, node, version)
, _length (node->number_child<int64_t> ("Length"))
@@
-50,7
+52,10
@@
SubRipContent::examine (boost::shared_ptr<Job> job)
{
Content::examine (job);
SubRip s (shared_from_this ());
{
Content::examine (job);
SubRip s (shared_from_this ());
+
shared_ptr<const Film> film = _film.lock ();
shared_ptr<const Film> film = _film.lock ();
+ assert (film);
+
DCPTime len (s.length (), film->active_frame_rate_change (position ()));
boost::mutex::scoped_lock lm (_mutex);
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
{
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("Type")->add_child_text ("SubRip");
Content::as_xml (node);
SubtitleContent::as_xml (node);
- node->add_child("Length")->add_child_text (
lexical_cas
t<string> (_length.get ()));
+ node->add_child("Length")->add_child_text (
raw_conver
t<string> (_length.get ()));
}
DCPTime
}
DCPTime
@@
-98,13
+101,18
@@
SubRipContent::full_length () const
string
SubRipContent::identifier () const
{
string
SubRipContent::identifier () const
{
- LocaleGuard lg;
-
stringstream s;
s << Content::identifier()
stringstream s;
s << Content::identifier()
- << "_" <<
subtitle_scale(
)
- << "_" <<
subtitle_x_offset(
)
- << "_" <<
subtitle_y_offset(
);
+ << "_" <<
raw_convert<string> (subtitle_scale()
)
+ << "_" <<
raw_convert<string> (subtitle_x_offset()
)
+ << "_" <<
raw_convert<string> (subtitle_y_offset()
);
return s.str ();
}
return s.str ();
}
+
+bool
+SubRipContent::has_subtitle_during (ContentTimePeriod) const
+{
+ /* XXX */
+ return false;
+}