using std::cout;
using std::dynamic_pointer_cast;
-using std::list;
-using std::make_pair;
using std::make_shared;
-using std::map;
using std::max;
using std::min;
-using std::pair;
using std::shared_ptr;
using std::string;
using std::vector;
for (auto i: film()->content_versions()) {
cv.push_back (dcp::ContentVersion(i));
}
+ if (cv.empty()) {
+ cv = { dcp::ContentVersion("1") };
+ }
cpl->set_content_versions (cv);
cpl->set_full_content_title_text (film()->name());
if (film()->luminance()) {
cpl->set_luminance (*film()->luminance());
}
+ if (film()->sign_language_video_language()) {
+ cpl->set_sign_language_video_language (*film()->sign_language_video_language());
+ }
auto ac = film()->mapped_audio_channels();
dcp::MCASoundField field = (
throw InvalidSignerError (reason);
}
- dcp.write_xml (
- issuer,
- creator,
- dcp::LocalTime().as_string(),
- film()->dcp_name(),
- signer,
- Config::instance()->dcp_metadata_filename_format()
- );
+ dcp.set_issuer(issuer);
+ dcp.set_creator(creator);
+ dcp.set_annotation_text(film()->dcp_name());
+
+ dcp.write_xml (signer, Config::instance()->dcp_metadata_filename_format());
LOG_GENERAL (
N_("Wrote %1 FULL, %2 FAKE, %3 REPEAT, %4 pushed to disk"), _full_written, _fake_written, _repeat_written, _pushed_to_disk
Writer::write_cover_sheet (boost::filesystem::path output_dcp)
{
auto const cover = film()->file("COVER_SHEET.txt");
- auto f = fopen_boost (cover, "w");
+ dcp::File f(cover, "w");
if (!f) {
throw OpenFileError (cover, errno, OpenFileError::WRITE);
}
auto text = Config::instance()->cover_sheet ();
boost::algorithm::replace_all (text, "$CPL_NAME", film()->name());
+ auto cpls = film()->cpls();
+ if (!cpls.empty()) {
+ boost::algorithm::replace_all (text, "$CPL_FILENAME", cpls[0].cpl_file.filename().string());
+ }
boost::algorithm::replace_all (text, "$TYPE", film()->dcp_content_type()->pretty_name());
boost::algorithm::replace_all (text, "$CONTAINER", film()->container()->container_nickname());
boost::algorithm::replace_all (text, "$LENGTH", length);
- checked_fwrite (text.c_str(), text.length(), f, cover);
- fclose (f);
+ f.checked_write(text.c_str(), text.length());
}