Make careful_string_filter a little better and use it for KDM filenames.
[dcpomatic.git] / src / lib / writer.h
index f67419072a697dd6aed9d11d0dec5c85ef4a7179..e08e9f28d0d19e06d51fcd1e2d2baab4203c68d8 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>
@@ -104,7 +105,7 @@ public:
        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 (PlayerText text, TextType type, boost::optional<DCPTextTrack>, 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;