- _picture_asset->set_directory (_film->dir (_film->dcp_name ()));
- _picture_asset->set_file_name (_film->video_mxf_filename ());
- _sound_asset->set_duration (frames);
-
- libdcp::DCP dcp (_film->dir (_film->dcp_name()));
+ /* Move the audio MXF into the DCP */
+
+ if (_sound_mxf) {
+ boost::filesystem::path audio_to;
+ audio_to /= _film->dir (_film->dcp_name ());
+ audio_to /= _film->audio_mxf_filename ();
+
+ boost::filesystem::rename (_film->file (_film->audio_mxf_filename ()), audio_to, ec);
+ if (ec) {
+ throw FileError (
+ String::compose (_("could not move audio MXF into the DCP (%1)"), ec.value ()), _film->file (_film->audio_mxf_filename ())
+ );
+ }
+
+ _sound_mxf->set_file (audio_to);
+ }
+
+ dcp::DCP dcp (_film->dir (_film->dcp_name()));