diff --git a/src/sfizz/Region.cpp b/src/sfizz/Region.cpp index 83417fb5..daffdb4f 100644 --- a/src/sfizz/Region.cpp +++ b/src/sfizz/Region.cpp @@ -232,6 +232,7 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) setRangeStartFromOpcode(opcode, keyRange, Default::keyRange); setRangeEndFromOpcode(opcode, keyRange, Default::keyRange); setValueFromOpcode(opcode, pitchKeycenter, Default::keyRange); + pitchKeycenterFromSample = false; break; case hash("lovel"): if (auto value = readOpcode(opcode.value, Default::midi7Range)) diff --git a/tests/FilesT.cpp b/tests/FilesT.cpp index f4662417..ef605365 100644 --- a/tests/FilesT.cpp +++ b/tests/FilesT.cpp @@ -694,11 +694,13 @@ TEST_CASE("[Files] Key center from audio file") sample=root_key_62.wav sample=root_key_38.flac sample=root_key_62.flac + key=10 sample=root_key_62.flac )"); - REQUIRE(synth.getNumRegions() == 4); + REQUIRE(synth.getNumRegions() == 5); REQUIRE(synth.getRegionView(0)->pitchKeycenter == 38); REQUIRE(synth.getRegionView(1)->pitchKeycenter == 62); REQUIRE(synth.getRegionView(2)->pitchKeycenter == 38); REQUIRE(synth.getRegionView(3)->pitchKeycenter == 62); + REQUIRE(synth.getRegionView(4)->pitchKeycenter == 10); }