/* Copyright (C) 2019-2021 Carl Hetherington This file is part of DCP-o-matic. DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with DCP-o-matic. If not, see . */ #include "video_frame_type.h" #include #include #include #include class DCPContentType; class Film; class Ratio; struct create_cli_test; class CreateCLI { public: CreateCLI (int argc, char* argv[]); struct Content { boost::filesystem::path path; VideoFrameType frame_type; boost::optional channel; boost::optional gain; boost::optional kdm; boost::optional cpl; }; bool version; boost::optional dcp_frame_rate; boost::optional still_length; boost::optional config_dir; boost::optional output_dir; boost::optional error; std::vector content; 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 _video_bit_rate; static std::string _help; };