X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Freel_writer.cc;h=d64cfb81a4a6b553778fcef43bafa3aa0d7233fc;hb=fcba100f0dfd1d4214291abb76f22ebd696c24d4;hp=94920b95bce0cd82232e94c9aca0e9275ccf70c1;hpb=8a8c977c12fc65f1f50ea05099387e0fc8840e7d;p=dcpomatic.git diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc index 94920b95b..d64cfb81a 100644 --- a/src/lib/reel_writer.cc +++ b/src/lib/reel_writer.cc @@ -459,6 +459,9 @@ maybe_add_text ( shared_ptr asset, int64_t picture_duration, shared_ptr reel, + int reel_index, + int reel_count, + optional content_summary, list const & refs, vector const & fonts, dcp::ArrayData default_font, @@ -481,7 +484,7 @@ maybe_add_text ( if (auto interop = dynamic_pointer_cast(asset)) { auto directory = output_dcp / interop->id (); boost::filesystem::create_directories (directory); - interop->write (directory / ("sub_" + interop->id() + ".xml")); + interop->write (directory / subtitle_asset_filename(asset, reel_index, reel_count, content_summary)); reel_asset = make_shared ( interop, dcp::Fraction(film->video_frame_rate(), 1), @@ -496,7 +499,7 @@ maybe_add_text ( */ smpte->set_intrinsic_duration(picture_duration); smpte->write ( - output_dcp / ("sub_" + asset->id() + ".mxf") + output_dcp / subtitle_asset_filename(asset, reel_index, reel_count, content_summary) ); reel_asset = make_shared ( smpte, @@ -643,7 +646,7 @@ ReelWriter::create_reel_text ( ) const { auto subtitle = maybe_add_text ( - _subtitle_asset, duration, reel, refs, fonts, _default_font, film(), _period, output_dcp, _text_only + _subtitle_asset, duration, reel, _reel_index, _reel_count, _content_summary, refs, fonts, _default_font, film(), _period, output_dcp, _text_only ); if (subtitle) { @@ -657,6 +660,9 @@ ReelWriter::create_reel_text ( empty_text_asset(TextType::OPEN_SUBTITLE, optional(), true), duration, reel, + _reel_index, + _reel_count, + _content_summary, refs, fonts, _default_font, @@ -669,7 +675,7 @@ ReelWriter::create_reel_text ( for (auto const& i: _closed_caption_assets) { auto a = maybe_add_text ( - i.second, duration, reel, refs, fonts, _default_font, film(), _period, output_dcp, _text_only + i.second, duration, reel, _reel_index, _reel_count, _content_summary, refs, fonts, _default_font, film(), _period, output_dcp, _text_only ); DCPOMATIC_ASSERT (a); a->set_annotation_text (i.first.name); @@ -683,7 +689,19 @@ ReelWriter::create_reel_text ( /* Make empty tracks for anything we've been asked to ensure but that we haven't added */ for (auto i: ensure_closed_captions) { auto a = maybe_add_text ( - empty_text_asset(TextType::CLOSED_CAPTION, i, true), duration, reel, refs, fonts, _default_font, film(), _period, output_dcp, _text_only + empty_text_asset(TextType::CLOSED_CAPTION, i, true), + duration, + reel, + _reel_index, + _reel_count, + _content_summary, + refs, + fonts, + _default_font, + film(), + _period, + output_dcp, + _text_only ); DCPOMATIC_ASSERT (a); a->set_annotation_text (i.name);