Assorted image subtitle fixes.
[dcpomatic.git] / src / lib / types.h
index 4eb3d927e5090c8af08ef0c3cdc1167e9fe88929..e7017a2950c7b79fdfe20ee89d724badf53f4a23 100644 (file)
 #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>
 #include <stdint.h>
-#include <boost/shared_ptr.hpp>
-#include <libdcp/util.h>
 
 class Content;
 class VideoContent;
@@ -42,36 +45,18 @@ 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 2
+#define SERVER_LINK_VERSION (64+0)
 
-typedef int64_t Time;
-#define TIME_MAX INT64_MAX
-#define TIME_HZ         ((Time) 96000)
-typedef int64_t OutputAudioFrame;
-typedef int    OutputVideoFrame;
 typedef std::vector<boost::shared_ptr<Content> > ContentList;
 typedef std::vector<boost::shared_ptr<VideoContent> > VideoContentList;
 typedef std::vector<boost::shared_ptr<AudioContent> > AudioContentList;
 typedef std::vector<boost::shared_ptr<SubtitleContent> > SubtitleContentList;
 typedef std::vector<boost::shared_ptr<FFmpegContent> > FFmpegContentList;
 
-template<class T>
-struct TimedAudioBuffers
-{
-       TimedAudioBuffers ()
-               : time (0)
-       {}
-       
-       TimedAudioBuffers (boost::shared_ptr<AudioBuffers> a, T t)
-               : audio (a)
-               , time (t)
-       {}
-       
-       boost::shared_ptr<AudioBuffers> audio;
-       T time;
-};
+typedef int64_t VideoFrame;
+typedef int64_t AudioFrame;
 
 enum VideoFrameType
 {
@@ -120,7 +105,7 @@ struct Crop
        /** Number of pixels to remove from the bottom */
        int bottom;
 
-       libdcp::Size apply (libdcp::Size s, int minimum = 4) const {
+       dcp::Size apply (dcp::Size s, int minimum = 4) const {
                s.width -= left + right;
                s.height -= top + bottom;