diff --git a/src/sfizz/Region.cpp b/src/sfizz/Region.cpp index 8452311b..c8aee196 100644 --- a/src/sfizz/Region.cpp +++ b/src/sfizz/Region.cpp @@ -169,6 +169,7 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) } break; case hash("off_time"): + offMode = SfzOffMode::time; setValueFromOpcode(opcode, offTime, Default::egTimeRange); break; case hash("polyphony"): diff --git a/tests/RegionT.cpp b/tests/RegionT.cpp index 189fae32..481e8628 100644 --- a/tests/RegionT.cpp +++ b/tests/RegionT.cpp @@ -202,8 +202,10 @@ TEST_CASE("[Region] Parsing opcodes") SECTION("off_time") { REQUIRE(region.offTime == 0.006f); + REQUIRE(region.offMode == SfzOffMode::fast); region.parseOpcode({ "off_time", "0.1" }); REQUIRE(region.offTime == 0.1f); + REQUIRE(region.offMode == SfzOffMode::time); region.parseOpcode({ "off_time", "0" }); REQUIRE(region.offTime == 0.0f); region.parseOpcode({ "off_time", "0.1" });