Put Time types in dcpomatic namespace.
[dcpomatic.git] / src / lib / writer.h
index f67419072a697dd6aed9d11d0dec5c85ef4a7179..ce1d04cedb8c239087bd444c05daa4f859f20b14 100644 (file)
@@ -23,8 +23,9 @@
  */
 
 #include "types.h"
-#include "player_caption.h"
+#include "player_text.h"
 #include "exception_store.h"
+#include "dcp_text_track.h"
 #include <boost/shared_ptr.hpp>
 #include <boost/weak_ptr.hpp>
 #include <boost/thread.hpp>
@@ -103,8 +104,8 @@ public:
        void fake_write (Frame, Eyes);
        bool can_repeat (Frame) const;
        void repeat (Frame, Eyes);
-       void write (boost::shared_ptr<const AudioBuffers>, DCPTime time);
-       void write (PlayerCaption text, CaptionType type, DCPTimePeriod period);
+       void write (boost::shared_ptr<const AudioBuffers>, dcpomatic::DCPTime time);
+       void write (PlayerText text, TextType type, boost::optional<DCPTextTrack>, dcpomatic::DCPTimePeriod period);
        void write (std::list<boost::shared_ptr<Font> > fonts);
        void write (ReferencedReelAsset asset);
        void finish ();
@@ -124,7 +125,8 @@ private:
        boost::weak_ptr<Job> _job;
        std::vector<ReelWriter> _reels;
        std::vector<ReelWriter>::iterator _audio_reel;
-       std::vector<ReelWriter>::iterator _caption_reel[CAPTION_COUNT];
+       std::vector<ReelWriter>::iterator _subtitle_reel;
+       std::map<DCPTextTrack, std::vector<ReelWriter>::iterator> _caption_reels;
 
        /** our thread, or 0 */
        boost::thread* _thread;