*/
-#include "types.h"
+#include "video_frame_type.h"
#include <dcp/types.h>
#include <boost/optional.hpp>
#include <boost/filesystem.hpp>
class DCPContentType;
+class Film;
class Ratio;
+struct create_cli_test;
+
class CreateCLI
{
VideoFrameType frame_type;
boost::optional<dcp::Channel> channel;
boost::optional<float> gain;
+ boost::optional<boost::filesystem::path> kdm;
+ boost::optional<std::string> cpl;
};
bool version;
- std::string name;
- boost::optional<std::string> template_name;
- bool encrypt;
- bool threed;
- DCPContentType const * dcp_content_type;
boost::optional<int> dcp_frame_rate;
- Ratio const * container_ratio;
- int still_length;
- dcp::Standard standard;
- bool no_use_isdcf_name;
+ boost::optional<int> still_length;
boost::optional<boost::filesystem::path> config_dir;
boost::optional<boost::filesystem::path> output_dir;
boost::optional<std::string> error;
std::vector<Content> content;
- bool fourk;
- boost::optional<int> j2k_bandwidth;
+
+ std::shared_ptr<Film> make_film() const;
private:
+ friend struct ::create_cli_test;
+
+ boost::optional<std::string> _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<dcp::Standard> _standard;
+ bool _no_use_isdcf_name = false;
+ bool _twok = false;
+ bool _fourk = false;
+ boost::optional<int> _j2k_bandwidth;
+
static std::string _help;
};