+}
+
+
+/** @param output_dcp Path to DCP folder to write */
+void
+Writer::finish (boost::filesystem::path output_dcp)
+{
+ if (_thread.joinable()) {
+ LOG_GENERAL_NC ("Terminating writer thread");
+ terminate_thread (true);
+ }
+
+ LOG_GENERAL_NC ("Finishing ReelWriters");
+
+ for (auto& i: _reels) {
+ write_hanging_text (i);
+ i.finish (output_dcp);
+ }
+
+ LOG_GENERAL_NC ("Writing XML");
+
+ dcp::DCP dcp (output_dcp);
+
+ auto cpl = make_shared<dcp::CPL>(
+ film()->dcp_name(),
+ film()->dcp_content_type()->libdcp_kind(),
+ film()->interop() ? dcp::Standard::INTEROP : dcp::Standard::SMPTE
+ );
+
+ dcp.add (cpl);
+
+ calculate_digests ();