Added a test for the velocity endpoints bug

This commit is contained in:
paulfd 2019-09-10 21:25:21 +02:00
parent 19759d041a
commit a4df74a9d8

View file

@ -229,4 +229,32 @@ TEST_CASE("[Region] Crossfade out on CC - gain")
ccState[24] = 23; REQUIRE( region.getCrossfadeGain(ccState) == 0.25_a );
ccState[24] = 24; REQUIRE( region.getCrossfadeGain(ccState) == 0.0_a );
ccState[24] = 25; REQUIRE( region.getCrossfadeGain(ccState) == 0.0_a );
}
TEST_CASE("[Region] Velocity bug for extreme values - veltrack at 0")
{
sfz::Region region {};
region.parseOpcode({ "sample", "*sine" });
region.parseOpcode({ "amp_veltrack", "0" });
REQUIRE( region.getNoteGain(64, 127) == 1.0_a );
REQUIRE( region.getNoteGain(64, 0) == 1.0_a );
}
TEST_CASE("[Region] Velocity bug for extreme values - positive veltrack")
{
sfz::Region region {};
region.parseOpcode({ "sample", "*sine" });
region.parseOpcode({ "amp_veltrack", "100" });
REQUIRE( region.getNoteGain(64, 127) == 1.0_a );
REQUIRE( region.getNoteGain(64, 0) == Approx(0.0).margin(0.0001) );
}
TEST_CASE("[Region] Velocity bug for extreme values - negative veltrack")
{
sfz::Region region {};
region.parseOpcode({ "sample", "*sine" });
region.parseOpcode({ "amp_veltrack", "-100" });
REQUIRE( region.getNoteGain(64, 127) == Approx(0.0).margin(0.0001) );
REQUIRE( region.getNoteGain(64, 0) == 1.0_a );
}