Add language property to SubtitleContent and use it in output DCP subtitle files.
[dcpomatic.git] / src / lib / writer.h
index 9e95c05314d16580fcfb8432fc8b0be56dbd537b..5efb14e50e39ee9ebf682635dfb2a4f963ee1411 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
  *  @brief Writer class.
  */
 
-#include <list>
+#include "exceptions.h"
+#include "types.h"
+#include "player_subtitles.h"
+#include <dcp/subtitle_content.h>
 #include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
 #include <boost/thread.hpp>
 #include <boost/thread/condition.hpp>
-#include "exceptions.h"
-#include "types.h"
+#include <list>
 
 class Film;
 class EncodedData;
@@ -55,8 +58,6 @@ public:
                    state but we use the data that is already on disk.
                */
                FAKE,
-               /** this is a repeat of the last frame to be written */
-               REPEAT
        } type;
 
        /** encoded data for FULL */
@@ -93,6 +94,7 @@ public:
        void write (boost::shared_ptr<const EncodedData>, int, Eyes);
        void fake_write (int, Eyes);
        void write (boost::shared_ptr<const AudioBuffers>);
+       void write (PlayerSubtitles subs);
        void repeat (int f, Eyes);
        void finish ();
 
@@ -138,8 +140,6 @@ private:
        int _full_written;
        /** number of FAKE written frames */
        int _fake_written;
-       /** number of REPEAT written frames */
-       int _repeat_written;
        /** number of frames pushed to disk and then recovered
            due to the limit of frames to be held in memory.
        */
@@ -149,4 +149,5 @@ private:
        boost::shared_ptr<dcp::PictureMXFWriter> _picture_mxf_writer;
        boost::shared_ptr<dcp::SoundMXF> _sound_mxf;
        boost::shared_ptr<dcp::SoundMXFWriter> _sound_mxf_writer;
+       boost::shared_ptr<dcp::SubtitleContent> _subtitle_content;
 };