X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic_create.cc;h=5b5f4dba2455f48739679a9f62a06d80ea3ada26;hb=85b2143644d8faf16252666f738d5fda01fc1869;hp=345c0182bc8215765c9b57de17469f114a51f9e8;hpb=0792f10d395c90532e8c778eab22145e746257e6;p=dcpomatic.git diff --git a/src/tools/dcpomatic_create.cc b/src/tools/dcpomatic_create.cc index 345c0182b..5b5f4dba2 100644 --- a/src/tools/dcpomatic_create.cc +++ b/src/tools/dcpomatic_create.cc @@ -25,7 +25,6 @@ #include "lib/cross.h" #include "lib/dcp_content.h" #include "lib/dcp_content_type.h" -#include "lib/dcpomatic_log.h" #include "lib/film.h" #include "lib/image_content.h" #include "lib/job.h" @@ -37,6 +36,7 @@ #include "lib/version.h" #include "lib/video_content.h" #include +#include #include #include #include @@ -92,42 +92,21 @@ main (int argc, char* argv[]) auto jm = JobManager::instance (); try { - auto film = std::make_shared(cc.output_dir); - dcpomatic_log = film->log (); - dcpomatic_log->set_types (Config::instance()->log_types()); - if (cc.template_name) { - film->use_template (cc.template_name.get()); - } - film->set_name (cc.name); - - if (cc.container_ratio) { - film->set_container (cc.container_ratio); - } - film->set_dcp_content_type (cc.dcp_content_type); - film->set_interop (cc.standard == dcp::Standard::INTEROP); - film->set_use_isdcf_name (!cc.no_use_isdcf_name); - film->set_encrypted (cc.encrypt); - film->set_three_d (cc.threed); - if (cc.twok) { - film->set_resolution (Resolution::TWO_K); - } - if (cc.fourk) { - film->set_resolution (Resolution::FOUR_K); - } - if (cc.j2k_bandwidth) { - film->set_j2k_bandwidth (*cc.j2k_bandwidth); - } + auto film = cc.make_film(); for (auto cli_content: cc.content) { - auto const can = boost::filesystem::canonical (cli_content.path); + auto const can = dcp::filesystem::canonical(cli_content.path); vector> film_content_list; - if (boost::filesystem::exists (can / "ASSETMAP") || (boost::filesystem::exists (can / "ASSETMAP.xml"))) { + if (dcp::filesystem::exists(can / "ASSETMAP") || (dcp::filesystem::exists(can / "ASSETMAP.xml"))) { auto dcp = make_shared(can); film_content_list.push_back (dcp); if (cli_content.kdm) { dcp->add_kdm (dcp::EncryptedKDM(dcp::file_to_string(*cli_content.kdm))); } + if (cli_content.cpl) { + dcp->set_cpl(*cli_content.cpl); + } } else { /* I guess it's not a DCP */ film_content_list = content_factory (can); @@ -169,7 +148,7 @@ main (int argc, char* argv[]) for (auto i: film->content()) { auto ic = dynamic_pointer_cast (i); if (ic && ic->still()) { - ic->video->set_length (cc.still_length * 24); + ic->video->set_length(cc.still_length.get_value_or(10) * 24); } }