diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-06-08 16:20:18 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-06-08 16:20:18 +0100 |
| commit | 89b3ab9210af0888f7b4ce558869051a731d17e2 (patch) | |
| tree | f64ec07ff0be810918eb1d49e926b83f342a131c /src/lib/writer.cc | |
| parent | 9facdf75a2776319fc5826cfa3dd85340f3c8879 (diff) | |
Some work on SMPTE subs.
Diffstat (limited to 'src/lib/writer.cc')
| -rw-r--r-- | src/lib/writer.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc index 03139a31c..7091930f4 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -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) { |
