From 64a9030f3869e01c488a291da1c036d4e7615388 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 16 Jan 2019 00:36:00 +0000 Subject: Rework command-line parser for dcpomatic_create to allow options to be specified per content. Use this to support 3D. --- src/lib/create_cli.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/lib/create_cli.h (limited to 'src/lib/create_cli.h') diff --git a/src/lib/create_cli.h b/src/lib/create_cli.h new file mode 100644 index 000000000..1f1cb3cc4 --- /dev/null +++ b/src/lib/create_cli.h @@ -0,0 +1,60 @@ +/* + Copyright (C) 2019 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 "types.h" +#include +#include +#include +#include + +class DCPContentType; +class Ratio; + +class CreateCLI +{ +public: + CreateCLI (int argc, char* argv[]); + + struct Content { + boost::filesystem::path path; + VideoFrameType frame_type; + }; + + 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 config_dir; + boost::optional output_dir; + boost::optional error; + std::vector content; + +private: + static std::string _help; +}; -- cgit v1.2.3