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;
pool.create_thread (boost::bind (&boost::asio::io_service::run, &service));
}
- boost::function<void (float)> set_progress;
+ std::function<void (float)> set_progress;
if (job) {
set_progress = boost::bind (&Writer::set_digest_progress, this, job.get(), _1);
} else {
issuer = String::compose("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
}
+ cpl->set_creator (creator);
+ cpl->set_issuer (issuer);
+
cpl->set_ratings (film()->ratings());
vector<dcp::ContentVersion> cv;
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
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());
- auto audio_languages = film()->audio_languages();
- if (!audio_languages.empty()) {
- boost::algorithm::replace_all (text, "$AUDIO_LANGUAGE", audio_languages.front().description());
+ auto audio_language = film()->audio_language();
+ if (audio_language) {
+ boost::algorithm::replace_all (text, "$AUDIO_LANGUAGE", audio_language->description());
} else {
boost::algorithm::replace_all (text, "$AUDIO_LANGUAGE", _("None"));
}
/** Calculate hashes for any referenced MXF assets which do not already have one */
void
-Writer::calculate_referenced_digests (boost::function<void (float)> set_progress)
+Writer::calculate_referenced_digests (std::function<void (float)> set_progress)
try
{
for (auto const& i: _reel_assets) {