Add accessor for _playlist.
[dcpomatic.git] / src / lib / video_content.h
index 3d07a09470061049396b3aefa06a3bd7392a2e32..37223c45788eef070d5ab5780a761e40f763f663 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013-2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2019 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -39,6 +39,7 @@ class Content;
 class VideoContentProperty
 {
 public:
+       static int const USE;
        static int const SIZE;
        static int const FRAME_TYPE;
        static int const CROP;
@@ -46,6 +47,7 @@ public:
        static int const COLOUR_CONVERSION;
        static int const FADE_IN;
        static int const FADE_OUT;
+       static int const RANGE;
 };
 
 class VideoContent : public ContentPart, public boost::enable_shared_from_this<VideoContent>
@@ -92,6 +94,9 @@ public:
        void set_fade_in (Frame);
        void set_fade_out (Frame);
 
+       void set_range (VideoRange);
+       void set_use (bool);
+
        VideoFrameType frame_type () const {
                boost::mutex::scoped_lock lm (_mutex);
                return _frame_type;
@@ -153,6 +158,16 @@ public:
                return _fade_out;
        }
 
+       VideoRange range () const {
+               boost::mutex::scoped_lock lm (_mutex);
+               return _range;
+       }
+
+       bool use () const {
+               boost::mutex::scoped_lock lm (_mutex);
+               return _use;
+       }
+
        dcp::Size size_after_3d_split () const;
        dcp::Size size_after_crop () const;
 
@@ -183,6 +198,7 @@ private:
        VideoContent (Content* parent, cxml::ConstNodePtr, int);
        void setup_default_colour_conversion ();
 
+       bool _use;
        Frame _length;
        boost::optional<ColourConversion> _colour_conversion;
        dcp::Size _size;
@@ -192,8 +208,11 @@ private:
        /** Sample aspect ratio obtained from the content file's header, if there is one */
        boost::optional<double> _sample_aspect_ratio;
        bool _yuv;
+       /** fade in time in content frames */
        Frame _fade_in;
+       /** fade out time in content frames */
        Frame _fade_out;
+       VideoRange _range;
 };
 
 #endif