diff --git a/src/sfizz/Config.h b/src/sfizz/Config.h index 2db806db..0c2ae266 100644 --- a/src/sfizz/Config.h +++ b/src/sfizz/Config.h @@ -41,7 +41,7 @@ namespace config { constexpr int numVoices { 64 }; constexpr unsigned maxVoices { 256 }; constexpr unsigned smoothingSteps { 512 }; - constexpr uint8_t gainSmoothing { 5 }; + constexpr uint8_t gainSmoothing { 0 }; constexpr unsigned powerTableSizeExponent { 11 }; constexpr int maxFilePromises { maxVoices }; constexpr int sustainCC { 64 }; diff --git a/src/sfizz/MathHelpers.h b/src/sfizz/MathHelpers.h index b446d873..f0dbebc4 100644 --- a/src/sfizz/MathHelpers.h +++ b/src/sfizz/MathHelpers.h @@ -15,6 +15,7 @@ #include "SIMDConfig.h" #include "absl/types/span.h" #include +#include #include #include #include diff --git a/src/sfizz/Region.cpp b/src/sfizz/Region.cpp index 424269f7..bbfd5e8e 100644 --- a/src/sfizz/Region.cpp +++ b/src/sfizz/Region.cpp @@ -409,8 +409,9 @@ bool sfz::Region::parseOpcode(const Opcode& rawOpcode) if (opcode.parameters.back() > 127) return false; + const auto inputVelocity = static_cast(opcode.parameters.back()); if (value) - velocityPoints.emplace_back(opcode.parameters.back(), *value); + velocityPoints.emplace_back(inputVelocity, *value); } break; case hash("xfin_lokey"): diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index 0016f300..02793692 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -301,8 +301,10 @@ void sfz::Synth::handleControlOpcodes(const std::vector& members) ccLabels.emplace_back(member.parameters.back(), std::string(member.value)); break; case hash("label_key&"): - if (Default::keyRange.containsWithEnd(member.parameters.back())) - keyLabels.emplace_back(member.parameters.back(), std::string(member.value)); + if (member.parameters.back() <= Default::keyRange.getEnd()) { + const auto noteNumber = static_cast(member.parameters.back()); + keyLabels.emplace_back(noteNumber, std::string(member.value)); + } break; case hash("default_path"): defaultPath = absl::StrReplaceAll(trim(member.value), { { "\\", "/" } }); diff --git a/tests/InterpolatorsT.cpp b/tests/InterpolatorsT.cpp index 04742547..93193a12 100644 --- a/tests/InterpolatorsT.cpp +++ b/tests/InterpolatorsT.cpp @@ -6,7 +6,8 @@ #include "sfizz/Interpolators.h" #include "catch2/catch.hpp" -#include +#include +#include using namespace Catch::literals; TEST_CASE("[Interpolators] Sample at points")