Revert start_lohdccN to 0-1, confirmed by plgDavid

This commit is contained in:
Jean Pierre Cimalando 2020-05-16 23:17:56 +02:00
parent 1029dc26fc
commit 0cdb1f7044
2 changed files with 8 additions and 8 deletions

View file

@ -324,14 +324,14 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode)
case hash("start_lohdcc&"): // also on_lohdcc& case hash("start_lohdcc&"): // also on_lohdcc&
if (opcode.parameters.back() >= config::numCCs) if (opcode.parameters.back() >= config::numCCs)
return false; return false;
if (auto value = readOpcode(opcode.value, Default::midi7Range.to<float>())) if (auto value = readOpcode(opcode.value, Default::normalizedRange))
ccTriggers[opcode.parameters.back()].setStart(normalizeCC(*value)); ccTriggers[opcode.parameters.back()].setStart(*value);
break; break;
case hash("start_hihdcc&"): // also on_hihdcc& case hash("start_hihdcc&"): // also on_hihdcc&
if (opcode.parameters.back() >= config::numCCs) if (opcode.parameters.back() >= config::numCCs)
return false; return false;
if (auto value = readOpcode(opcode.value, Default::midi7Range.to<float>())) if (auto value = readOpcode(opcode.value, Default::normalizedRange))
ccTriggers[opcode.parameters.back()].setEnd(normalizeCC(*value)); ccTriggers[opcode.parameters.back()].setEnd(*value);
break; break;
// Performance parameters: amplifier // Performance parameters: amplifier

View file

@ -501,14 +501,14 @@ TEST_CASE("[Region] Parsing opcodes")
for (int ccIdx = 1; ccIdx < 128; ++ccIdx) { for (int ccIdx = 1; ccIdx < 128; ++ccIdx) {
REQUIRE(!region.ccTriggers.contains(ccIdx)); REQUIRE(!region.ccTriggers.contains(ccIdx));
} }
region.parseOpcode({ "on_lohdcc46", "15.9" }); region.parseOpcode({ "on_lohdcc46", "0.15" });
REQUIRE(region.ccTriggers.contains(46)); REQUIRE(region.ccTriggers.contains(46));
REQUIRE(region.ccTriggers[46].getStart() == Approx(15.9_norm)); REQUIRE(region.ccTriggers[46].getStart() == Approx(0.15f));
REQUIRE(region.ccTriggers[46].getEnd() == 1.0f); REQUIRE(region.ccTriggers[46].getEnd() == 1.0f);
region.parseOpcode({ "on_hihdcc5", "47.3" }); region.parseOpcode({ "on_hihdcc5", "0.47" });
REQUIRE(region.ccTriggers.contains(5)); REQUIRE(region.ccTriggers.contains(5));
REQUIRE(region.ccTriggers[5].getStart() == 0.0f); REQUIRE(region.ccTriggers[5].getStart() == 0.0f);
REQUIRE(region.ccTriggers[5].getEnd() == Approx(47.3_norm)); REQUIRE(region.ccTriggers[5].getEnd() == Approx(0.47f));
} }
SECTION("volume") SECTION("volume")