*/
-#include "writer.h"
-#include "compose.hpp"
-#include "film.h"
-#include "ratio.h"
-#include "log.h"
-#include "dcpomatic_log.h"
-#include "dcp_video.h"
-#include "dcp_content_type.h"
+#include "audio_buffers.h"
#include "audio_mapping.h"
+#include "compose.hpp"
#include "config.h"
-#include "job.h"
#include "cross.h"
-#include "audio_buffers.h"
-#include "version.h"
+#include "dcp_content_type.h"
+#include "dcp_video.h"
+#include "dcpomatic_log.h"
+#include "film.h"
#include "font_data.h"
-#include "util.h"
+#include "job.h"
+#include "log.h"
+#include "ratio.h"
#include "reel_writer.h"
#include "text_content.h"
+#include "util.h"
+#include "version.h"
+#include "writer.h"
#include <dcp/cpl.h>
#include <dcp/locale_convert.h>
#include <dcp/reel_file_asset.h>
-#include <fstream>
#include <cerrno>
-#include <iostream>
#include <cfloat>
+#include <fstream>
+#include <iostream>
#include "i18n.h"
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;
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
-using dcp::Data;
using dcp::ArrayData;
+using dcp::Data;
using namespace dcpomatic;
DCPOMATIC_ASSERT ((part_frames[0] + part_frames[1]) <= audio->frames());
if (part_frames[0]) {
- shared_ptr<AudioBuffers> part (new AudioBuffers(audio, part_frames[0], 0));
- _audio_reel->write (part);
+ _audio_reel->write (make_shared<AudioBuffers>(audio, part_frames[0], 0));
}
if (part_frames[1]) {
- audio.reset (new AudioBuffers(audio, part_frames[1], part_frames[0]));
+ audio = make_shared<AudioBuffers>(audio, part_frames[1], part_frames[0]);
} else {
audio.reset ();
}
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());
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());