+ cpl->set_full_content_title_text (_film->name());
+ cpl->set_full_content_title_text_language (_film->name_language());
+ cpl->set_release_territory (_film->release_territory());
+ cpl->set_version_number (_film->version_number());
+ cpl->set_status (_film->status());
+ cpl->set_chain (_film->chain());
+ cpl->set_distributor (_film->distributor());
+ cpl->set_facility (_film->facility());
+ cpl->set_luminance (_film->luminance());
+
+ list<int> ac = _film->mapped_audio_channels ();
+ dcp::MCASoundField field = (
+ find(ac.begin(), ac.end(), static_cast<int>(dcp::BSL)) != ac.end() ||
+ find(ac.begin(), ac.end(), static_cast<int>(dcp::BSR)) != ac.end()
+ ) ? dcp::SEVEN_POINT_ONE : dcp::FIVE_POINT_ONE;
+
+ dcp::MainSoundConfiguration msc (field, _film->audio_channels());
+ BOOST_FOREACH (int i, ac) {
+ if (i < _film->audio_channels()) {
+ msc.set_mapping (i, static_cast<dcp::Channel>(i));
+ }
+ }
+
+ cpl->set_main_sound_configuration (msc.to_string());
+ cpl->set_main_sound_sample_rate (_film->audio_frame_rate());
+ cpl->set_main_picture_stored_area (_film->frame_size());
+ cpl->set_main_picture_active_area (_film->active_area());