X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fwriter.cc;h=177e929aebf2e64c989f0d4146ace0e0c296f82a;hb=75305b8c7630c28d520d4c9006a5c4df7216cf82;hp=c6ce4711d6890fd2e2b92d8585d003ab23da5cdb;hpb=606b3f759238aa6c0d12de064b301bf36b428220;p=dcpomatic.git diff --git a/src/lib/writer.cc b/src/lib/writer.cc index c6ce4711d..177e929ae 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -22,12 +22,14 @@ #include #include #include +#include #include "writer.h" #include "compose.hpp" #include "film.h" #include "format.h" #include "log.h" #include "dcp_video_frame.h" +#include "config.h" #include "i18n.h" @@ -259,9 +261,14 @@ Writer::finish () } int const frames = _last_written_frame + 1; - int const duration = frames - _film->trim_start() - _film->trim_end(); + int duration = 0; + if (_film->trim_type() == Film::CPL) { + duration = frames - _film->trim_start() - _film->trim_end(); + _picture_asset->set_entry_point (_film->trim_start ()); + } else { + duration = frames; + } - _picture_asset->set_entry_point (_film->trim_start ()); _picture_asset->set_duration (duration); /* Hard-link the video MXF into the DCP */ @@ -288,7 +295,9 @@ Writer::finish () _picture_asset->set_file_name (_film->dcp_video_mxf_filename ()); if (_sound_asset) { - _sound_asset->set_entry_point (_film->trim_start ()); + if (_film->trim_type() == Film::CPL) { + _sound_asset->set_entry_point (_film->trim_start ()); + } _sound_asset->set_duration (duration); } @@ -313,7 +322,9 @@ Writer::finish () ) )); - dcp.write_xml (); + libdcp::XMLMetadata meta = Config::instance()->dcp_metadata (); + meta.set_issue_date_now (); + dcp.write_xml (meta); _film->log()->log (String::compose (N_("Wrote %1 FULL, %2 FAKE, %3 REPEAT; %4 pushed to disk"), _full_written, _fake_written, _repeat_written, _pushed_to_disk)); }