Use new channel 14 ATMOS sync creation code in libdcp,
authorCarl Hetherington <cth@carlh.net>
Sat, 11 Jul 2020 21:46:39 +0000 (23:46 +0200)
committerCarl Hetherington <cth@carlh.net>
Sat, 11 Jul 2020 21:46:39 +0000 (23:46 +0200)
and force films containing ATMOS to have 14 audio channels
and be SMPTE.

cscript
src/lib/film.cc
src/lib/reel_writer.cc
src/wx/dcp_panel.cc

diff --git a/cscript b/cscript
index 864ec90c2d71db1a3f2c83eaab45419a3d0821ea..fd9a1265399a2743433ce675b87c7415e077e190 100644 (file)
--- 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
index 1a9e552fe394f73f14480ad0e18eb8e757866775..cf7d04933f47dffafab2e56dbda3479c0ebb421a 100644 (file)
@@ -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);
+       }
 }
 
 
index 133bc0adf2e7b2302f9b1e169b8f30271c44b475..19b874f8a498bcd87ce9efdee1ae0d624cecf2bb 100644 (file)
@@ -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()
                        );
        }
 }
index cb6bf4f242fcd6de7117f5b8d6f9ffe74f29994e..bed9b97a04680158954526bc9731d66e704b8eca 100644 (file)
@@ -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);
 }