Comping
This commit is contained in:
@@ -58,7 +58,7 @@ BOOST_AUTO_TEST_CASE(recordings_and_clicks_share_clock_and_tail_is_unclicked) {
|
||||
BOOST_REQUIRE(engine);
|
||||
auto session = engine->play_transport(std::move(*prepared));
|
||||
BOOST_REQUIRE(session);
|
||||
auto frames = backing ? 576000U : 288000U;
|
||||
auto frames = 576000U;
|
||||
auto buffer = std::array<float, 960>{};
|
||||
for (unsigned cursor = 0; cursor < frames; cursor += 480) {
|
||||
BOOST_REQUIRE(engine->render(buffer.data(), 480));
|
||||
@@ -164,6 +164,25 @@ BOOST_AUTO_TEST_CASE(page_timing_and_recording_manifests_reject_corruption) {
|
||||
BOOST_CHECK(!vamp_zero::prepare_performance(score(), app, VAMP_TEST_PERFORMANCE_ASSETS_DIR, 1.F));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(written_ending_boundary_and_clicks_are_validated) {
|
||||
auto original = boost::json::parse(read("score.json"));
|
||||
auto document = score();
|
||||
BOOST_TEST(document.measure_count == 5U);
|
||||
BOOST_TEST(document.duration.numerator == 20U);
|
||||
BOOST_TEST(document.sustain_start.numerator == 8U);
|
||||
BOOST_TEST(vamp_zero::performance_at(document, 287999, 120).phase == "Playing");
|
||||
BOOST_TEST(vamp_zero::performance_at(document, 288000, 120).phase == "Sustain");
|
||||
auto changed = original;
|
||||
changed.at("performance").at("sustain_start").at("numerator") = 9;
|
||||
BOOST_CHECK(!vamp_zero::parse_notation_document(boost::json::serialize(changed), "score.json"));
|
||||
changed = original;
|
||||
changed.at("music").at("staves").as_array()[0].at("measures").as_array()[2].as_object().erase("ending_sustain");
|
||||
BOOST_CHECK(!vamp_zero::parse_notation_document(boost::json::serialize(changed), "score.json"));
|
||||
changed = original;
|
||||
changed.at("performance").at("clicks").as_array().push_back(boost::json::object{{"beat", boost::json::object{{"numerator", 8}, {"denominator", 1}}}, {"downbeat", true}});
|
||||
BOOST_CHECK(!vamp_zero::parse_notation_document(boost::json::serialize(changed), "score.json"));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(preparation_waits_for_pages_and_cancellation_discards_stale_work) {
|
||||
auto engine = sonus::engine::create({.sample_rate = 48000, .channels = 2, .no_device = true});
|
||||
BOOST_REQUIRE(engine);
|
||||
|
||||
Reference in New Issue
Block a user