summaryrefslogtreecommitdiff
path: root/src/lib/writer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/writer.cc')
-rw-r--r--src/lib/writer.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 9e2cf4bd4..7e47c317e 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -524,9 +524,15 @@ Writer::finish ()
_subtitle_asset->add_font (i->id, i->file.get_value_or (liberation));
}
- _subtitle_asset->write (
- _film->dir (_film->dcp_name ()) / _subtitle_asset->id () / subtitle_content_filename (_subtitle_asset)
- );
+ if (dynamic_pointer_cast<dcp::InteropSubtitleAsset> (_subtitle_asset)) {
+ boost::filesystem::path directory = _film->dir (_film->dcp_name ()) / _subtitle_asset->id ();
+ boost::filesystem::create_directories (directory);
+ _subtitle_asset->write (directory / ("sub_" + _subtitle_asset->id() + ".xml"));
+ } else {
+ _subtitle_asset->write (
+ _film->dir (_film->dcp_name ()) / ("sub_" + _subtitle_asset->id() + ".mxf")
+ );
+ }
reel->add (shared_ptr<dcp::ReelSubtitleAsset> (
new dcp::ReelSubtitleAsset (