diff --git a/src/sfizz/Region.cpp b/src/sfizz/Region.cpp index d2710e0e..1355fc67 100644 --- a/src/sfizz/Region.cpp +++ b/src/sfizz/Region.cpp @@ -1546,9 +1546,11 @@ bool sfz::Region::registerNoteOff(int noteNumber, float velocity, float randValu return false; } + #include bool sfz::Region::registerCC(int ccNumber, float ccValue) noexcept { ASSERT(ccValue >= 0.0f && ccValue <= 1.0f); + if (ccConditions.getWithDefault(ccNumber).containsWithEnd(ccValue)) ccSwitched.set(ccNumber, true); else diff --git a/tests/RegionActivationT.cpp b/tests/RegionActivationT.cpp index 22723ff9..89a4254a 100644 --- a/tests/RegionActivationT.cpp +++ b/tests/RegionActivationT.cpp @@ -56,8 +56,8 @@ TEST_CASE("Region activation", "Region tests") REQUIRE(!region.isSwitchedOn()); region.registerCC(54, 19_norm); REQUIRE(region.isSwitchedOn()); - region.registerCC(54, 18_norm); - REQUIRE(region.isSwitchedOn()); + region.registerCC(54, 17_norm); + REQUIRE(!region.isSwitchedOn()); region.registerCC(54, 27_norm); REQUIRE(region.isSwitchedOn()); region.registerCC(4, 56_norm);