/*
- Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net>
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
#include "subtitle_content.h"
+class SubRipContentProperty
+{
+public:
+ static int const SUBTITLE_COLOUR;
+ static int const SUBTITLE_OUTLINE;
+ static int const SUBTITLE_OUTLINE_COLOUR;
+};
+
+
class SubRipContent : public SubtitleContent
{
public:
SubRipContent (boost::shared_ptr<const Film>, boost::filesystem::path);
- SubRipContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int);
+ SubRipContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int);
boost::shared_ptr<SubRipContent> shared_from_this () {
return boost::dynamic_pointer_cast<SubRipContent> (Content::shared_from_this ());
}
-
+
+ /* Content */
void examine (boost::shared_ptr<Job>);
std::string summary () const;
std::string technical_summary () const;
- std::string information () const;
void as_xml (xmlpp::Node *) const;
DCPTime full_length () const;
- std::string identifier () const;
+
+ /* SubtitleContent */
+
+ bool has_text_subtitles () const {
+ return true;
+ }
+
+ bool has_image_subtitles () const {
+ return false;
+ }
+
+ double subtitle_video_frame_rate () const;
+ void set_subtitle_video_frame_rate (int r);
+
+ void set_colour (dcp::Colour);
+
+ dcp::Colour colour () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _colour;
+ }
+
+ void set_outline (bool);
+
+ bool outline () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _outline;
+ }
+
+ void set_outline_colour (dcp::Colour);
+
+ dcp::Colour outline_colour () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _outline_colour;
+ }
+
+ static std::string const font_id;
private:
- DCPTime _length;
+ ContentTime _length;
+ /** Video frame rate that this content has been prepared for, if known */
+ boost::optional<double> _frame_rate;
+ dcp::Colour _colour;
+ bool _outline;
+ dcp::Colour _outline_colour;
};