X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=tools%2Fdcpverify.cc;h=5739b71a26a3f6f21a62285c4f4c105b8764167c;hb=a65c9be7a5c455111b44b24690fe162413268b9f;hp=c26fe7c4d0973e1500b9bd58a8dd81425878b720;hpb=b6cfa3cfa660622997a52f00a9f0376339c0f743;p=libdcp.git diff --git a/tools/dcpverify.cc b/tools/dcpverify.cc index c26fe7c4..5739b71a 100644 --- a/tools/dcpverify.cc +++ b/tools/dcpverify.cc @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -57,6 +56,7 @@ help (string n) << " -V, --version show libdcp version\n" << " -h, --help show this help\n" << " --ignore-missing-assets don't give errors about missing assets\n" + << " --ignore-bv21-smpte don't give the SMPTE Bv2.1 error about a DCP not being SMPTE\n" << " -q, --quiet don't report progress\n"; } @@ -86,6 +86,7 @@ main (int argc, char* argv[]) dcp::init (); bool ignore_missing_assets = false; + bool ignore_bv21_smpte = false; bool quiet = false; int option_index = 0; @@ -94,11 +95,12 @@ main (int argc, char* argv[]) { "version", no_argument, 0, 'V' }, { "help", no_argument, 0, 'h' }, { "ignore-missing-assets", no_argument, 0, 'A' }, + { "ignore-bv21-smpte", no_argument, 0, 'B' }, { "quiet", no_argument, 0, 'q' }, { 0, 0, 0, 0 } }; - int c = getopt_long (argc, argv, "VhAq", long_options, &option_index); + int c = getopt_long (argc, argv, "VhABq", long_options, &option_index); if (c == -1) { break; @@ -114,6 +116,9 @@ main (int argc, char* argv[]) case 'A': ignore_missing_assets = true; break; + case 'B': + ignore_bv21_smpte = true; + break; case 'q': quiet = true; break; @@ -132,20 +137,23 @@ main (int argc, char* argv[]) vector directories; directories.push_back (argv[optind]); - list notes = dcp::verify (directories, bind(&stage, quiet, _1, _2), bind(&progress), "xsd"); + auto notes = dcp::verify (directories, bind(&stage, quiet, _1, _2), bind(&progress), "xsd"); dcp::filter_notes (notes, ignore_missing_assets); bool failed = false; - BOOST_FOREACH (dcp::VerificationNote i, notes) { + for (auto i: notes) { + if (ignore_bv21_smpte && i.code() == dcp::VerificationNote::Code::INVALID_STANDARD) { + continue; + } switch (i.type()) { - case dcp::VerificationNote::VERIFY_ERROR: + case dcp::VerificationNote::Type::ERROR: cout << "Error: " << note_to_string(i) << "\n"; failed = true; break; - case dcp::VerificationNote::VERIFY_BV21_ERROR: + case dcp::VerificationNote::Type::BV21_ERROR: cout << "Bv2.1 error: " << note_to_string(i) << "\n"; break; - case dcp::VerificationNote::VERIFY_WARNING: + case dcp::VerificationNote::Type::WARNING: cout << "Warning: " << note_to_string(i) << "\n"; break; }