+ std::string language () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _language;
+ }
+
+ boost::optional<dcp::Colour> colour () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _colour;
+ }
+
+ boost::optional<dcp::Effect> effect () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _effect;
+ }
+
+ boost::optional<dcp::Colour> effect_colour () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _effect_colour;
+ }
+
+ double line_spacing () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _line_spacing;
+ }
+
+ boost::optional<ContentTime> fade_in () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _fade_in;
+ }
+
+ boost::optional<ContentTime> fade_out () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _fade_out;
+ }
+
+ int outline_width () const {
+ boost::mutex::scoped_lock lm (_mutex);
+ return _outline_width;
+ }
+
+ static boost::shared_ptr<SubtitleContent> from_xml (Content* parent, cxml::ConstNodePtr, int version);
+
+protected:
+ /** subtitle language (e.g. "German") or empty if it is not known */
+ std::string _language;
+