From 3ec476bec2965284a011d35e9ee9a4c799372de7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 11 Jul 2020 23:46:39 +0200 Subject: [PATCH] Use new channel 14 ATMOS sync creation code in libdcp, and force films containing ATMOS to have 14 audio channels and be SMPTE. --- cscript | 4 ++-- src/lib/film.cc | 4 ++++ src/lib/reel_writer.cc | 3 ++- src/wx/dcp_panel.cc | 13 +++++++++++-- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/cscript b/cscript index 864ec90c2..fd9a12653 100644 --- a/cscript +++ b/cscript @@ -375,8 +375,8 @@ def dependencies(target, options): (target.platform == 'osx' and target.bits == 64) or (target.platform == 'windows')) else {} - deps.append(('libdcp', '2667081', cpp_lib_options)) - deps.append(('libsub', 'fc5ce01', cpp_lib_options)) + deps.append(('libdcp', '9a8faac', cpp_lib_options)) + deps.append(('libsub', '8da829d', cpp_lib_options)) deps.append(('leqm-nrt', 'carl')) deps.append(('rtaudio', 'carl')) # We get our OpenSSL libraries from the environment, but we diff --git a/src/lib/film.cc b/src/lib/film.cc index 1a9e552fe..cf7d04933 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -1270,6 +1270,10 @@ Film::add_content (shared_ptr c) _playlist->add (shared_from_this(), c); maybe_set_container_and_resolution (); + if (c->atmos) { + set_audio_channels (14); + set_interop (false); + } } diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc index 133bc0adf..19b874f8a 100644 --- a/src/lib/reel_writer.cc +++ b/src/lib/reel_writer.cc @@ -170,7 +170,8 @@ ReelWriter::ReelWriter ( of the DCP directory until the last minute. */ _sound_asset_writer = _sound_asset->start_write ( - _film->directory().get() / audio_asset_filename (_sound_asset, _reel_index, _reel_count, _content_summary) + _film->directory().get() / audio_asset_filename (_sound_asset, _reel_index, _reel_count, _content_summary), + _film->contains_atmos_content() ); } } diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc index cb6bf4f24..bed9b97a0 100644 --- a/src/wx/dcp_panel.cc +++ b/src/wx/dcp_panel.cc @@ -451,6 +451,7 @@ DCPPanel::film_changed (int p) break; case Film::CONTENT: setup_dcp_name (); + setup_sensitivity (); break; default: break; @@ -596,7 +597,7 @@ DCPPanel::setup_sensitivity () _metadata->Enable (_generally_sensitive); _frame_rate_choice->Enable (_generally_sensitive && _film && !_film->references_dcp_video() && !_film->contains_atmos_content()); _frame_rate_spin->Enable (_generally_sensitive && _film && !_film->references_dcp_video() && !_film->contains_atmos_content()); - _audio_channels->Enable (_generally_sensitive && _film && !_film->references_dcp_audio()); + _audio_channels->Enable (_generally_sensitive && _film && !_film->references_dcp_audio() && !_film->contains_atmos_content()); _audio_processor->Enable (_generally_sensitive && _film && !_film->references_dcp_audio()); _j2k_bandwidth->Enable (_generally_sensitive && _film && !_film->references_dcp_video()); _container->Enable (_generally_sensitive && _film && !_film->references_dcp_video()); @@ -609,7 +610,15 @@ DCPPanel::setup_sensitivity () ); _resolution->Enable (_generally_sensitive && _film && !_film->references_dcp_video()); _three_d->Enable (_generally_sensitive && _film && !_film->references_dcp_video()); - _standard->Enable (_generally_sensitive && _film && !_film->references_dcp_video() && !_film->references_dcp_audio()); + + _standard->Enable ( + _generally_sensitive && + _film && + !_film->references_dcp_video() && + !_film->references_dcp_audio() && + !_film->contains_atmos_content() + ); + _reencode_j2k->Enable (_generally_sensitive && _film); _show_audio->Enable (_generally_sensitive && _film); } -- 2.30.2