Remove in-place translations support.
[dcpomatic.git] / src / lib / video_content.h
index 7214d35e40d2994b5d525c0a9120cb39a96d1905..495d000e160401a24059a4f355a92df3acc90f04 100644 (file)
 
 #include "colour_conversion.h"
 #include "content_part.h"
+#include "crop.h"
 #include "dcpomatic_time.h"
 #include "pixel_quanta.h"
-#include "types.h"
 #include "user_property.h"
+#include "video_frame_type.h"
+#include "video_range.h"
+#include "types.h"
 #include <dcp/language_tag.h>
 #include <boost/thread/mutex.hpp>
 
@@ -82,7 +85,7 @@ public:
                return _length;
        }
 
-       dcp::Size size () const {
+       boost::optional<dcp::Size> size () const {
                boost::mutex::scoped_lock lm (_mutex);
                return _size;
        }
@@ -201,9 +204,9 @@ public:
 
 
        /* XXX: names for these? */
-       dcp::Size size_after_3d_split () const;
-       dcp::Size size_after_crop () const;
-       dcp::Size scaled_size (dcp::Size container_size);
+       boost::optional<dcp::Size> size_after_3d_split() const;
+       boost::optional<dcp::Size> size_after_crop() const;
+       boost::optional<dcp::Size> scaled_size(dcp::Size container_size);
 
        boost::optional<double> fade (std::shared_ptr<const Film> film, Frame) const;
 
@@ -211,12 +214,14 @@ public:
 
        void set_length (Frame);
 
-       void take_from_examiner (std::shared_ptr<VideoExaminer>);
+       void take_from_examiner(std::shared_ptr<const Film> film, std::shared_ptr<VideoExaminer>);
        void add_properties (std::list<UserProperty> &) const;
 
        void modify_position (std::shared_ptr<const Film> film, dcpomatic::DCPTime& pos) const;
        void modify_trim_start (dcpomatic::ContentTime& pos) const;
 
+       void rotate_size();
+
        static std::shared_ptr<VideoContent> from_xml (Content* parent, cxml::ConstNodePtr node, int version, VideoRange video_range_hint);
 
 private:
@@ -234,7 +239,7 @@ private:
        bool _use;
        Frame _length;
        boost::optional<ColourConversion> _colour_conversion;
-       dcp::Size _size;
+       boost::optional<dcp::Size> _size;
        VideoFrameType _frame_type;
        Crop _crop;
        /** ratio to scale cropped image to (or none to guess); i.e. if set, scale to _custom_ratio:1 */