Whitespace.
[libdcp.git] / test / combine_test.cc
index 89d2f0942022741d10e7d1c0ed9bb797bd85a4eb..09a4577021ea314f09dbf909960b762e040688ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2020 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2020-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of libdcp.
 
@@ -42,8 +42,8 @@
 #include "test.h"
 #include "types.h"
 #include "verify.h"
+#include "reel_markers_asset.h"
 #include <boost/algorithm/string.hpp>
-#include <boost/foreach.hpp>
 #include <boost/optional.hpp>
 #include <boost/test/unit_test.hpp>
 #include <iostream>
 
 using std::list;
 using std::string;
+using std::make_shared;
 using std::vector;
-using boost::optional;
 using std::shared_ptr;
+using boost::optional;
 
 
 static void
@@ -72,7 +73,7 @@ static
 void
 dump_notes (vector<dcp::VerificationNote> const & notes)
 {
-       BOOST_FOREACH (dcp::VerificationNote i, notes) {
+       for (auto i: notes) {
                std::cout << dcp::note_to_string(i) << "\n";
        }
 }
@@ -87,7 +88,7 @@ check_no_errors (boost::filesystem::path path)
        auto notes = dcp::verify (directories, &stage, &progress, xsd_test);
        vector<dcp::VerificationNote> filtered_notes;
        std::copy_if (notes.begin(), notes.end(), std::back_inserter(filtered_notes), [](dcp::VerificationNote const& i) {
-               return i.code() != dcp::VerificationNote::NOT_SMPTE;
+               return i.code() != dcp::VerificationNote::Code::INVALID_STANDARD && i.code() != dcp::VerificationNote::Code::INVALID_SUBTITLE_DURATION;
        });
        dump_notes (filtered_notes);
        BOOST_CHECK (filtered_notes.empty());
@@ -98,7 +99,7 @@ template <class T>
 shared_ptr<T>
 pointer_to_id_in_vector (shared_ptr<T> needle, vector<shared_ptr<T> > haystack)
 {
-       BOOST_FOREACH (shared_ptr<T> i, haystack) {
+       for (auto i: haystack) {
                if (i->id() == needle->id()) {
                        return i;
                }
@@ -126,19 +127,18 @@ check_combined (vector<boost::filesystem::path> inputs, boost::filesystem::path
        dcp::EqualityOptions options;
        options.load_font_nodes_can_differ = true;
 
-       BOOST_FOREACH (boost::filesystem::path i, inputs)
-       {
+       for (auto i: inputs) {
                dcp::DCP input_dcp (i);
                input_dcp.read ();
 
                BOOST_REQUIRE (input_dcp.cpls().size() == 1);
-               shared_ptr<dcp::CPL> input_cpl = input_dcp.cpls().front();
+               auto input_cpl = input_dcp.cpls().front();
 
-               shared_ptr<dcp::CPL> output_cpl = pointer_to_id_in_vector (input_cpl, output_dcp.cpls());
+               auto output_cpl = pointer_to_id_in_vector (input_cpl, output_dcp.cpls());
                BOOST_REQUIRE (output_cpl);
 
-               BOOST_FOREACH (shared_ptr<dcp::Asset> i, input_dcp.assets(true)) {
-                       shared_ptr<dcp::Asset> o = pointer_to_id_in_vector(i, output_dcp.assets());
+               for (auto i: input_dcp.assets(true)) {
+                       auto o = pointer_to_id_in_vector(i, output_dcp.assets());
                        BOOST_REQUIRE_MESSAGE (o, "Could not find " << i->id() << " in combined DCP.");
                        BOOST_CHECK (i->equals(o, options, note_handler));
                }
@@ -155,7 +155,14 @@ BOOST_AUTO_TEST_CASE (combine_single_dcp_test)
        remove_all (out);
        vector<path> inputs;
        inputs.push_back ("test/ref/DCP/dcp_test1");
-       dcp::combine (inputs, out);
+       dcp::combine (
+               inputs,
+               out,
+               dcp::String::compose("libdcp %1", dcp::version),
+               dcp::String::compose("libdcp %1", dcp::version),
+               dcp::LocalTime().as_string(),
+               "A Test DCP"
+               );
 
        check_no_errors (out);
        check_combined (inputs, out);
@@ -169,7 +176,7 @@ BOOST_AUTO_TEST_CASE (combine_two_dcps_with_same_asset_filenames_test)
        boost::filesystem::path const out = "build/test/combine_two_dcps_with_same_asset_filenames_test";
 
        shared_ptr<dcp::DCP> second = make_simple ("build/test/combine_input2");
-       second->write_xml (dcp::SMPTE);
+       second->write_xml (dcp::Standard::SMPTE);
 
        remove_all (out);
        vector<path> inputs;
@@ -189,10 +196,10 @@ BOOST_AUTO_TEST_CASE (combine_two_dcps_with_interop_subs_test)
        boost::filesystem::path const out = "build/test/combine_two_dcps_with_interop_subs_test";
 
        shared_ptr<dcp::DCP> first = make_simple_with_interop_subs ("build/test/combine_input1");
-       first->write_xml (dcp::INTEROP);
+       first->write_xml (dcp::Standard::INTEROP);
 
        shared_ptr<dcp::DCP> second = make_simple_with_interop_subs ("build/test/combine_input2");
-       second->write_xml (dcp::INTEROP);
+       second->write_xml (dcp::Standard::INTEROP);
 
        remove_all (out);
        vector<path> inputs;
@@ -212,10 +219,10 @@ BOOST_AUTO_TEST_CASE (combine_two_dcps_with_smpte_subs_test)
        boost::filesystem::path const out = "build/test/combine_two_dcps_with_smpte_subs_test";
 
        shared_ptr<dcp::DCP> first = make_simple_with_smpte_subs ("build/test/combine_input1");
-       first->write_xml (dcp::SMPTE);
+       first->write_xml (dcp::Standard::SMPTE);
 
        shared_ptr<dcp::DCP> second = make_simple_with_smpte_subs ("build/test/combine_input2");
-       second->write_xml (dcp::SMPTE);
+       second->write_xml (dcp::Standard::SMPTE);
 
        remove_all (out);
        vector<path> inputs;
@@ -235,10 +242,10 @@ BOOST_AUTO_TEST_CASE (combine_two_dcps_with_interop_ccaps_test)
        boost::filesystem::path const out = "build/test/combine_two_dcps_with_interop_ccaps_test";
 
        shared_ptr<dcp::DCP> first = make_simple_with_interop_ccaps ("build/test/combine_input1");
-       first->write_xml (dcp::INTEROP);
+       first->write_xml (dcp::Standard::INTEROP);
 
        shared_ptr<dcp::DCP> second = make_simple_with_interop_ccaps ("build/test/combine_input2");
-       second->write_xml (dcp::INTEROP);
+       second->write_xml (dcp::Standard::INTEROP);
 
        remove_all (out);
        vector<path> inputs;
@@ -258,10 +265,10 @@ BOOST_AUTO_TEST_CASE (combine_two_dcps_with_smpte_ccaps_test)
        boost::filesystem::path const out = "build/test/combine_two_dcps_with_interop_ccaps_test";
 
        shared_ptr<dcp::DCP> first = make_simple_with_smpte_ccaps ("build/test/combine_input1");
-       first->write_xml (dcp::SMPTE);
+       first->write_xml (dcp::Standard::SMPTE);
 
        shared_ptr<dcp::DCP> second = make_simple_with_smpte_ccaps ("build/test/combine_input2");
-       second->write_xml (dcp::SMPTE);
+       second->write_xml (dcp::Standard::SMPTE);
 
        remove_all (out);
        vector<path> inputs;
@@ -281,10 +288,10 @@ BOOST_AUTO_TEST_CASE (combine_two_multi_reel_dcps)
        boost::filesystem::path const out = "build/test/combine_two_multi_reel_dcps";
 
        shared_ptr<dcp::DCP> first = make_simple ("build/test/combine_input1", 4);
-       first->write_xml (dcp::SMPTE);
+       first->write_xml (dcp::Standard::SMPTE);
 
        shared_ptr<dcp::DCP> second = make_simple ("build/test/combine_input2", 4);
-       second->write_xml (dcp::SMPTE);
+       second->write_xml (dcp::Standard::SMPTE);
 
        remove_all (out);
        vector<path> inputs;
@@ -303,7 +310,7 @@ BOOST_AUTO_TEST_CASE (combine_two_dcps_with_shared_asset)
        boost::filesystem::path const out = "build/test/combine_two_dcps_with_shared_asset";
 
        shared_ptr<dcp::DCP> first = make_simple ("build/test/combine_input1", 1);
-       first->write_xml (dcp::SMPTE);
+       first->write_xml (dcp::Standard::SMPTE);
 
        remove_all ("build/test/combine_input2");
        shared_ptr<dcp::DCP> second(new dcp::DCP("build/test/combine_input2"));
@@ -312,16 +319,23 @@ BOOST_AUTO_TEST_CASE (combine_two_dcps_with_shared_asset)
        mxf_meta.company_name = "OpenDCP";
        mxf_meta.product_version = "0.0.25";
 
-       shared_ptr<dcp::CPL> cpl (new dcp::CPL("A Test DCP", dcp::FEATURE));
+       auto cpl = make_shared<dcp::CPL>("A Test DCP", dcp::ContentKind::TRAILER);
        cpl->set_content_version (
                dcp::ContentVersion("urn:uuid:75ac29aa-42ac-1234-ecae-49251abefd11","content-version-label-text")
                );
-
-       shared_ptr<dcp::ReelMonoPictureAsset> pic(new dcp::ReelMonoPictureAsset(simple_picture("build/test/combine_input2", ""), 0));
-       shared_ptr<dcp::ReelSoundAsset> sound(new dcp::ReelSoundAsset(first->cpls().front()->reels().front()->main_sound()->asset(), 0));
-       cpl->add (shared_ptr<dcp::Reel>(new dcp::Reel(pic, sound)));
+       cpl->set_main_sound_configuration ("L,C,R,Lfe,-,-");
+       cpl->set_main_sound_sample_rate (48000);
+       cpl->set_main_picture_stored_area (dcp::Size(1998, 1080));
+       cpl->set_main_picture_active_area (dcp::Size(1440, 1080));
+       cpl->set_version_number(1);
+
+       auto pic = make_shared<dcp::ReelMonoPictureAsset>(simple_picture("build/test/combine_input2", ""), 0);
+       auto sound = make_shared<dcp::ReelSoundAsset>(first->cpls().front()->reels().front()->main_sound()->asset(), 0);
+       auto reel = make_shared<dcp::Reel>(pic, sound);
+       reel->add (simple_markers());
+       cpl->add (reel);
        second->add (cpl);
-       second->write_xml (dcp::SMPTE);
+       second->write_xml (dcp::Standard::SMPTE);
 
        remove_all (out);
        vector<path> inputs;