Merge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic
[dcpomatic.git] / src / lib / types.h
index 12a7897dc7c3ed374f15e5a878ef85db347ec709..105432f83508cd43be07cf7f430f8c66f76fbf4c 100644 (file)
@@ -20,8 +20,8 @@
 #ifndef DCPOMATIC_TYPES_H
 #define DCPOMATIC_TYPES_H
 
-#include "dcpomatic_time.h"
 #include "position.h"
+#include "rect.h"
 #include <dcp/util.h>
 #include <boost/shared_ptr.hpp>
 #include <vector>
@@ -32,7 +32,6 @@ class VideoContent;
 class AudioContent;
 class SubtitleContent;
 class FFmpegContent;
-class AudioBuffers;
 
 namespace cxml {
        class Node;
@@ -44,9 +43,9 @@ namespace xmlpp {
 
 /** The version number of the protocol used to communicate
  *  with servers.  Intended to be bumped when incompatibilities
- *  are introduced.
+ *  are introduced.  v2 uses 64+n
  */
-#define SERVER_LINK_VERSION 3
+#define SERVER_LINK_VERSION (64+0)
 
 typedef std::vector<boost::shared_ptr<Content> > ContentList;
 typedef std::vector<boost::shared_ptr<VideoContent> > VideoContentList;
@@ -54,8 +53,7 @@ typedef std::vector<boost::shared_ptr<AudioContent> > AudioContentList;
 typedef std::vector<boost::shared_ptr<SubtitleContent> > SubtitleContentList;
 typedef std::vector<boost::shared_ptr<FFmpegContent> > FFmpegContentList;
 
-typedef int64_t VideoFrame;
-typedef int64_t AudioFrame;
+typedef int64_t Frame;
 
 enum VideoFrameType
 {
@@ -86,6 +84,13 @@ enum Part
        PART_WHOLE
 };
 
+enum ReelType
+{
+       REELTYPE_SINGLE,
+       REELTYPE_BY_VIDEO_CONTENT,
+       REELTYPE_BY_LENGTH
+};
+
 /** @struct Crop
  *  @brief A description of the crop of an image or video.
  */
@@ -115,7 +120,7 @@ struct Crop
                if (s.height < minimum) {
                        s.height = minimum;
                }
-               
+
                return s;
        }
 
@@ -130,7 +135,7 @@ struct CPLSummary
                , cpl_annotation_text (a)
                , cpl_file (f)
        {}
-       
+
        std::string dcp_directory;
        std::string cpl_id;
        std::string cpl_annotation_text;
@@ -148,4 +153,9 @@ enum Resolution {
 std::string resolution_to_string (Resolution);
 Resolution string_to_resolution (std::string);
 
+enum Protocol {
+       PROTOCOL_SCP,
+       PROTOCOL_FTP
+};
+
 #endif