red_a->set_position (film, dcpomatic::DCPTime());
red_a->video->set_length (240);
sub_a->set_position (film, dcpomatic::DCPTime());
red_a->set_position (film, dcpomatic::DCPTime());
red_a->video->set_length (240);
sub_a->set_position (film, dcpomatic::DCPTime());
red_b->set_position (film, dcpomatic::DCPTime::from_seconds(10));
red_b->video->set_length (240);
sub_b->set_position (film, dcpomatic::DCPTime::from_seconds(10));
red_b->set_position (film, dcpomatic::DCPTime::from_seconds(10));
red_b->video->set_length (240);
sub_b->set_position (film, dcpomatic::DCPTime::from_seconds(10));
dcp::DCP dcp ("build/test/subtitle_reel_test/" + film->dcp_name());
dcp.read ();
BOOST_REQUIRE_EQUAL (dcp.cpls().size(), 1U);
dcp::DCP dcp ("build/test/subtitle_reel_test/" + film->dcp_name());
dcp.read ();
BOOST_REQUIRE_EQUAL (dcp.cpls().size(), 1U);
auto reels = cpl->reels ();
BOOST_REQUIRE_EQUAL (reels.size(), 2U);
auto reels = cpl->reels ();
BOOST_REQUIRE_EQUAL (reels.size(), 2U);
film->set_sequence (false);
film->set_reel_type (ReelType::BY_VIDEO_CONTENT);
for (int i = 0; i < 3; ++i) {
film->set_sequence (false);
film->set_reel_type (ReelType::BY_VIDEO_CONTENT);
for (int i = 0; i < 3; ++i) {
film->examine_and_add_content (video);
BOOST_REQUIRE (!wait_for_jobs());
video->video->set_length (15 * 24);
video->set_position (film, dcpomatic::DCPTime::from_seconds(15 * i));
}
film->examine_and_add_content (video);
BOOST_REQUIRE (!wait_for_jobs());
video->video->set_length (15 * 24);
video->set_position (film, dcpomatic::DCPTime::from_seconds(15 * i));
}
film->examine_and_add_content (video);
BOOST_REQUIRE (!wait_for_jobs());
video->video->set_length (15 * 24);
video->set_position (film, dcpomatic::DCPTime::from_seconds(15 * i));
}
film->examine_and_add_content (video);
BOOST_REQUIRE (!wait_for_jobs());
video->video->set_length (15 * 24);
video->set_position (film, dcpomatic::DCPTime::from_seconds(15 * i));
}
film->examine_and_add_content (ccap1);
BOOST_REQUIRE (!wait_for_jobs());
ccap1->text.front()->set_type (TextType::CLOSED_CAPTION);
film->examine_and_add_content (ccap1);
BOOST_REQUIRE (!wait_for_jobs());
ccap1->text.front()->set_type (TextType::CLOSED_CAPTION);
film->examine_and_add_content (ccap2);
BOOST_REQUIRE (!wait_for_jobs());
ccap2->text.front()->set_type (TextType::CLOSED_CAPTION);
film->examine_and_add_content (ccap2);
BOOST_REQUIRE (!wait_for_jobs());
ccap2->text.front()->set_type (TextType::CLOSED_CAPTION);
make_and_verify_dcp (
film,
{
dcp::VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME,
dcp::VerificationNote::Code::INVALID_SUBTITLE_SPACING
make_and_verify_dcp (
film,
{
dcp::VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME,
dcp::VerificationNote::Code::INVALID_SUBTITLE_SPACING
film->examine_and_add_content (video);
BOOST_REQUIRE (!wait_for_jobs());
video->video->set_length (15 * 24);
video->set_position (film, dcpomatic::DCPTime::from_seconds(15 * i));
}
film->examine_and_add_content (video);
BOOST_REQUIRE (!wait_for_jobs());
video->video->set_length (15 * 24);
video->set_position (film, dcpomatic::DCPTime::from_seconds(15 * i));
}