From cc83f20bacf7c012f1d02a83aa06151a2c693062 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 28 Jan 2022 20:36:26 +0100 Subject: [PATCH] Add --kdm option to dcpomatic_create --- src/lib/create_cli.cc | 8 ++++++-- src/lib/create_cli.h | 1 + src/tools/dcpomatic_create.cc | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/lib/create_cli.cc b/src/lib/create_cli.cc index 311e93690..2ca17f91b 100644 --- a/src/lib/create_cli.cc +++ b/src/lib/create_cli.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2019-2021 Carl Hetherington + Copyright (C) 2019-2022 Carl Hetherington This file is part of DCP-o-matic. @@ -56,7 +56,8 @@ string CreateCLI::_help = " --left-eye next piece of content is for the left eye\n" " --right-eye next piece of content is for the right eye\n" " --channel next piece of content should be mapped to audio channel L, R, C, Lfe, Ls or Rs\n" - " --gain next piece of content should have the given audio gain (in dB)\n"; + " --gain next piece of content should have the given audio gain (in dB)\n" + " --kdm KDM for next piece of content\n"; template @@ -136,6 +137,7 @@ CreateCLI::CreateCLI (int argc, char* argv[]) auto next_frame_type = VideoFrameType::TWO_D; optional channel; optional gain; + optional kdm; int i = 1; while (i < argc) { @@ -207,6 +209,7 @@ CreateCLI::CreateCLI (int argc, char* argv[]) argument_option(i, argc, argv, "", "--channel", &claimed, &error, &channel, convert_channel); argument_option(i, argc, argv, "", "--gain", &claimed, &error, &gain); + argument_option(i, argc, argv, "", "--kdm", &claimed, &error, &kdm, string_to_path); if (!claimed) { if (a.length() > 2 && a.substr(0, 2) == "--") { @@ -218,6 +221,7 @@ CreateCLI::CreateCLI (int argc, char* argv[]) c.frame_type = next_frame_type; c.channel = channel; c.gain = gain; + c.kdm = kdm; content.push_back (c); next_frame_type = VideoFrameType::TWO_D; channel = {}; diff --git a/src/lib/create_cli.h b/src/lib/create_cli.h index 177d56f7b..e6fa69378 100644 --- a/src/lib/create_cli.h +++ b/src/lib/create_cli.h @@ -40,6 +40,7 @@ public: VideoFrameType frame_type; boost::optional channel; boost::optional gain; + boost::optional kdm; }; bool version; diff --git a/src/tools/dcpomatic_create.cc b/src/tools/dcpomatic_create.cc index e4452b19a..44c7987bc 100644 --- a/src/tools/dcpomatic_create.cc +++ b/src/tools/dcpomatic_create.cc @@ -120,7 +120,9 @@ main (int argc, char* argv[]) list> film_content_list; if (boost::filesystem::exists (can / "ASSETMAP") || (boost::filesystem::exists (can / "ASSETMAP.xml"))) { - film_content_list.push_back (make_shared(can)); + auto dcp = make_shared(can); + film_content_list.push_back (dcp); + dcp->add_kdm (dcp::EncryptedKDM(dcp::file_to_string(*cli_content.kdm))); } else { /* I guess it's not a DCP */ film_content_list = content_factory (can); -- 2.30.2