X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fcreate_cli.h;h=782aaf97478d10e01063c0373229657af1fd0583;hb=43cca4d3a11e077b3e75c713b95942cc3afc9eb1;hp=d0c81590cc87e9d97f2a500db2c4ea7ffda91208;hpb=5bb7cf0132f37e2eea67c72f61d1f2b23b440596;p=dcpomatic.git diff --git a/src/lib/create_cli.h b/src/lib/create_cli.h index d0c81590c..782aaf974 100644 --- a/src/lib/create_cli.h +++ b/src/lib/create_cli.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2019 Carl Hetherington + Copyright (C) 2019-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,15 +18,21 @@ */ -#include "types.h" + +#include "video_frame_type.h" #include #include #include #include + class DCPContentType; +class Film; class Ratio; +struct create_cli_test; + + class CreateCLI { public: @@ -35,27 +41,38 @@ public: struct Content { boost::filesystem::path path; VideoFrameType frame_type; + boost::optional channel; + boost::optional gain; + boost::optional kdm; + boost::optional cpl; }; bool version; - std::string name; - boost::optional template_name; - bool encrypt; - bool threed; - DCPContentType const * dcp_content_type; boost::optional dcp_frame_rate; - Ratio const * container_ratio; - Ratio const * content_ratio; - int still_length; - dcp::Standard standard; - bool no_use_isdcf_name; - bool no_sign; + boost::optional still_length; boost::optional config_dir; boost::optional output_dir; boost::optional error; std::vector content; - bool fourk; + + std::shared_ptr make_film() const; private: + friend struct ::create_cli_test; + + boost::optional _template_name; + std::string _name; + Ratio const* _container_ratio = nullptr; + bool _no_encrypt = false; + bool _encrypt = false; + bool _twod = false; + bool _threed = false; + DCPContentType const* _dcp_content_type = nullptr; + boost::optional _standard; + bool _no_use_isdcf_name = false; + bool _twok = false; + bool _fourk = false; + boost::optional _j2k_bandwidth; + static std::string _help; };