Logging improvements to allow prettier displays in the server GUI.
[dcpomatic.git] / src / lib / subrip_content.h
index 741e1a4c3ba5618f0ca94bbac0b9a69d798232b9..e050634030ed06db9d474e7bc33dacc8ba6cb002 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    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
@@ -23,16 +23,36 @@ 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 *);
-       Time full_length () const;
-       std::string identifier () const;
+       void as_xml (xmlpp::Node *) const;
+       DCPTime full_length () 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);
+
+       static std::string const font_id;
 
 private:
-       Time _length;
+       ContentTime _length;
+       /** Video frame rate that this content has been prepared for, if known */
+       boost::optional<double> _frame_rate;
 };