From 450da5182c3e224af87f269c3216ac13ae39ec1f Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 14 Jan 2025 11:24:22 +0100 Subject: Add a group ID to VF PKLs (#2943). --- cscript | 2 +- src/lib/writer.cc | 6 +++++- test/vf_test.cc | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cscript b/cscript index f64d68216..1ece6ae78 100644 --- a/cscript +++ b/cscript @@ -425,7 +425,7 @@ def make_spec(filename, version, target, options, requires=None): print('/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :', file=f) def dependencies(target, options): - deps = [('libdcp', 'v1.10.4', {'c++17': target.platform.startswith('osx')})] + deps = [('libdcp', 'v1.10.6', {'c++17': target.platform.startswith('osx')})] deps.append(('libsub', 'v1.6.52')) deps.append(('leqm-nrt', '30dcaea1373ac62fba050e02ce5b0c1085797a23')) deps.append(('rtaudio', 'f619b76')) diff --git a/src/lib/writer.cc b/src/lib/writer.cc index 3f5be531e..33e4b8f81 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -711,7 +711,11 @@ Writer::finish() dcp.set_creator(creator); dcp.set_annotation_text(film()->dcp_name()); - dcp.write_xml(signer, !film()->limit_to_smpte_bv20(), Config::instance()->dcp_metadata_filename_format()); + optional group_id; + if (dcpomatic::film::is_vf(film())) { + group_id = dcp::make_uuid(); + } + dcp.write_xml(signer, !film()->limit_to_smpte_bv20(), Config::instance()->dcp_metadata_filename_format(), group_id); LOG_GENERAL ( N_("Wrote %1 FULL, %2 FAKE, %3 REPEAT, %4 pushed to disk"), _full_written, _fake_written, _repeat_written, _pushed_to_disk diff --git a/test/vf_test.cc b/test/vf_test.cc index 0313be1d9..cda3cdee1 100644 --- a/test/vf_test.cc +++ b/test/vf_test.cc @@ -141,6 +141,8 @@ BOOST_AUTO_TEST_CASE (vf_test2) BOOST_REQUIRE (ov_c.cpls()[0]->reels()[0]->main_sound()); string const sound_id = ov_c.cpls()[0]->reels()[0]->main_sound()->id(); BOOST_REQUIRE (!ov_c.cpls()[0]->reels()[0]->main_subtitle()); + BOOST_REQUIRE(!ov_c.pkls().empty()); + BOOST_CHECK(!static_cast(ov_c.pkls()[0]->group_id())); dcp::DCP vf_c (vf->dir(vf->dcp_name())); vf_c.read (); @@ -151,6 +153,8 @@ BOOST_AUTO_TEST_CASE (vf_test2) BOOST_REQUIRE (vf_c.cpls()[0]->reels()[0]->main_sound()); BOOST_CHECK_EQUAL (vf_c.cpls()[0]->reels()[0]->main_sound()->id(), sound_id); BOOST_REQUIRE (vf_c.cpls()[0]->reels()[0]->main_subtitle()); + BOOST_REQUIRE(!vf_c.pkls().empty()); + BOOST_CHECK(static_cast(vf_c.pkls()[0]->group_id())); } -- cgit v1.2.3