Some work on SMPTE subs.
authorCarl Hetherington <cth@carlh.net>
Mon, 8 Jun 2015 15:20:18 +0000 (16:20 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 8 Jun 2015 15:20:18 +0000 (16:20 +0100)
src/lib/writer.cc
src/lib/writer.h

index 03139a31c28824d150c6c266c9ffd313b9b25599..7091930f48ab4be5f8245bf513355901fee7a468 100644 (file)
@@ -47,6 +47,7 @@
 #include <dcp/cpl.h>
 #include <dcp/signer.h>
 #include <dcp/interop_subtitle_asset.h>
+#include <dcp/smpte_subtitle_asset.h>
 #include <dcp/font.h>
 #include <boost/foreach.hpp>
 #include <fstream>
@@ -690,7 +691,20 @@ Writer::write (PlayerSubtitles subs)
                if (lang.empty ()) {
                        lang = "Unknown";
                }
-               _subtitle_asset.reset (new dcp::InteropSubtitleAsset (_film->name(), lang));
+               if (_film->interop ()) {
+                       shared_ptr<dcp::InteropSubtitleAsset> s (new dcp::InteropSubtitleAsset ());
+                       s->set_movie_title (_film->name ());
+                       s->set_language (lang);
+                       s->set_reel_number ("1");
+                       _subtitle_asset = s;
+               } else {
+                       shared_ptr<dcp::SMPTESubtitleAsset> s (new dcp::SMPTESubtitleAsset ());
+                       s->set_content_title_text (_film->name ());
+                       s->set_language (lang);
+                       s->set_edit_rate (dcp::Fraction (_film->video_frame_rate (), 1));
+                       s->set_time_code_rate (_film->video_frame_rate ());
+                       _subtitle_asset = s;
+               }                       
        }
        
        for (list<dcp::SubtitleString>::const_iterator i = subs.text.begin(); i != subs.text.end(); ++i) {
index fe803d35e5c4d84fea5084ac98696cdecf43199e..a176eb191f99209112cc6c46c3703cc9a1afe26d 100644 (file)
@@ -45,7 +45,7 @@ namespace dcp {
        class PictureAssetWriter;
        class SoundAsset;
        class SoundAssetWriter;
-       class InteropSubtitleAsset;
+       class SubtitleAsset;
 }
 
 struct QueueItem
@@ -153,7 +153,7 @@ private:
        boost::shared_ptr<dcp::PictureAssetWriter> _picture_asset_writer;
        boost::shared_ptr<dcp::SoundAsset> _sound_asset;
        boost::shared_ptr<dcp::SoundAssetWriter> _sound_asset_writer;
-       boost::shared_ptr<dcp::InteropSubtitleAsset> _subtitle_asset;
+       boost::shared_ptr<dcp::SubtitleAsset> _subtitle_asset;
 
        std::list<boost::shared_ptr<Font> > _fonts;
 };