summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-07-11 23:46:39 +0200
committerCarl Hetherington <cth@carlh.net>2020-07-11 23:46:39 +0200
commit3ec476bec2965284a011d35e9ee9a4c799372de7 (patch)
tree224e20c81b1c4332ae84536b9cc814a3b23d455b
parent475cc7a5ef77484c43ad785dbec6a0713ba1e618 (diff)
Use new channel 14 ATMOS sync creation code in libdcp,
and force films containing ATMOS to have 14 audio channels and be SMPTE.
-rw-r--r--cscript4
-rw-r--r--src/lib/film.cc4
-rw-r--r--src/lib/reel_writer.cc3
-rw-r--r--src/wx/dcp_panel.cc13
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<Content> 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);
}