Emit no audio from DCPs if none is mapped
[dcpomatic.git] / src / lib / create_cli.h
index 58f7cf20c151f1bcf6ebcdacb126f8b56c7cc56e..782aaf97478d10e01063c0373229657af1fd0583 100644 (file)
 
 
 class DCPContentType;
+class Film;
 class Ratio;
 
+struct create_cli_test;
+
 
 class CreateCLI
 {
@@ -45,24 +48,31 @@ public:
        };
 
        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;
        boost::optional<int> still_length;
-       dcp::Standard standard;
-       bool no_use_isdcf_name;
        boost::optional<boost::filesystem::path> config_dir;
        boost::optional<boost::filesystem::path> output_dir;
        boost::optional<std::string> error;
        std::vector<Content> content;
-       bool twok;
-       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;
 };