diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-01-28 20:36:26 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-03-09 17:04:02 +0100 |
| commit | cc83f20bacf7c012f1d02a83aa06151a2c693062 (patch) | |
| tree | b5c852ca0d2db150d53e7bae484ef91615c1cbee | |
| parent | fbdc606db9bb59f7c4f4ccab0c82e13552c87abf (diff) | |
Add --kdm option to dcpomatic_create
| -rw-r--r-- | src/lib/create_cli.cc | 8 | ||||
| -rw-r--r-- | src/lib/create_cli.h | 1 | ||||
| -rw-r--r-- | 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 <cth@carlh.net> + Copyright (C) 2019-2022 Carl Hetherington <cth@carlh.net> 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 <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 <file> KDM for next piece of content\n"; template <class T> @@ -136,6 +137,7 @@ CreateCLI::CreateCLI (int argc, char* argv[]) auto next_frame_type = VideoFrameType::TWO_D; optional<dcp::Channel> channel; optional<float> gain; + optional<boost::filesystem::path> 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<dcp::Channel> channel; boost::optional<float> gain; + boost::optional<boost::filesystem::path> 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<shared_ptr<Content>> film_content_list; if (boost::filesystem::exists (can / "ASSETMAP") || (boost::filesystem::exists (can / "ASSETMAP.xml"))) { - film_content_list.push_back (make_shared<DCPContent>(can)); + auto dcp = make_shared<DCPContent>(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); |
