Use enum class for VideoRange.
[dcpomatic.git] / src / lib / types.h
index a10b26a6384fb355704920e43fd2fdf40d60fec5..4569cfd9a6d25b58c6b55409bb6daeb5829119f8 100644 (file)
@@ -24,7 +24,6 @@
 #include "position.h"
 #include "rect.h"
 #include <dcp/util.h>
-#include <boost/shared_ptr.hpp>
 #include <vector>
 #include <stdint.h>
 
@@ -86,8 +85,8 @@ namespace xmlpp {
 /** Port on which player listens for play requests */
 #define PLAYER_PLAY_PORT (Config::instance()->server_port_base()+5)
 
-typedef std::vector<boost::shared_ptr<Content> > ContentList;
-typedef std::vector<boost::shared_ptr<FFmpegContent> > FFmpegContentList;
+typedef std::vector<std::shared_ptr<Content> > ContentList;
+typedef std::vector<std::shared_ptr<FFmpegContent> > FFmpegContentList;
 
 typedef int64_t Frame;
 
@@ -140,10 +139,10 @@ enum ChangeType
 };
 
 
-enum VideoRange
+enum class VideoRange
 {
-       VIDEO_RANGE_FULL, ///< full,  or "JPEG" (0-255 for 8-bit)
-       VIDEO_RANGE_VIDEO ///< video, or "MPEG" (16-235 for 8-bit)
+       FULL, ///< full,  or "JPEG" (0-255 for 8-bit)
+       VIDEO ///< video, or "MPEG" (16-235 for 8-bit)
 };
 
 extern std::string video_range_to_string (VideoRange r);
@@ -190,7 +189,7 @@ struct Crop
 {
        Crop () : left (0), right (0), top (0), bottom (0) {}
        Crop (int l, int r, int t, int b) : left (l), right (r), top (t), bottom (b) {}
-       explicit Crop (boost::shared_ptr<cxml::Node>);
+       explicit Crop (std::shared_ptr<cxml::Node>);
 
        /** Number of pixels to remove from the left-hand side */
        int left;
@@ -237,7 +236,7 @@ struct CPLSummary
 
        std::string dcp_directory;
        std::string cpl_id;
-       std::string cpl_annotation_text;
+       boost::optional<std::string> cpl_annotation_text;
        boost::filesystem::path cpl_file;
        /** true if this CPL has any encrypted assets */
        bool encrypted;