From 2aab5365da2f3ba988f9110a88eeb21148cd6895 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 15 May 2020 13:14:35 +0200 Subject: [PATCH 1/2] Reset off_by when value is -1 --- src/sfizz/Region.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sfizz/Region.cpp b/src/sfizz/Region.cpp index 8d505186..7392fce2 100644 --- a/src/sfizz/Region.cpp +++ b/src/sfizz/Region.cpp @@ -132,7 +132,10 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) setValueFromOpcode(opcode, group, Default::groupRange); break; case hash("off_by"): // also offby - setValueFromOpcode(opcode, offBy, Default::groupRange); + if (opcode.value == "-1") + offBy.reset(); + else + setValueFromOpcode(opcode, offBy, Default::groupRange); break; case hash("off_mode"): // also offmode switch (hash(opcode.value)) { From c6add6fe9d652d4d165a9d2cf70771dcc7888136 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 15 May 2020 13:17:12 +0200 Subject: [PATCH 2/2] Add the test for off_by=-1 --- tests/RegionT.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/RegionT.cpp b/tests/RegionT.cpp index c2efe488..c18c2066 100644 --- a/tests/RegionT.cpp +++ b/tests/RegionT.cpp @@ -180,8 +180,7 @@ TEST_CASE("[Region] Parsing opcodes") REQUIRE(region.offBy); REQUIRE(*region.offBy == 5); region.parseOpcode({ "off_by", "-1" }); - REQUIRE(region.offBy); - REQUIRE(*region.offBy == 0); + REQUIRE(!region.offBy); } SECTION("off_mode")