From 6f203d0384deb1ddd56114f3da7dfd0aa317016a Mon Sep 17 00:00:00 2001 From: Paul Fd Date: Sat, 20 Nov 2021 21:07:44 +0100 Subject: [PATCH] Clamp flex EG levels Sforzando seems to do so too --- src/sfizz/Defaults.cpp | 4 ++-- tests/RegionValuesT.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sfizz/Defaults.cpp b/src/sfizz/Defaults.cpp index 31993336..ef821e46 100644 --- a/src/sfizz/Defaults.cpp +++ b/src/sfizz/Defaults.cpp @@ -157,8 +157,8 @@ BoolSpec flexEGDynamic { 0, {0, 1}, kEnforceBounds }; Int32Spec flexEGSustain { 0, {0, 100}, kEnforceLowerBound|kPermissiveUpperBound }; FloatSpec flexEGPointTime { 0.0f, {0.0f, 100.0f}, kPermissiveBounds }; FloatSpec flexEGPointTimeMod { 0.0f, {-100.0f, 100.0f}, kPermissiveBounds }; -FloatSpec flexEGPointLevel { 0.0f, {-1.0f, 1.0f}, kPermissiveBounds }; -FloatSpec flexEGPointLevelMod { 0.0f, {-1.0f, 1.0f}, kPermissiveBounds }; +FloatSpec flexEGPointLevel { 0.0f, {-1.0f, 1.0f}, kEnforceBounds }; +FloatSpec flexEGPointLevelMod { 0.0f, {-1.0f, 1.0f}, kEnforceBounds }; FloatSpec flexEGPointShape { 0.0f, {-100.0f, 100.0f}, kPermissiveBounds }; Int32Spec sampleQuality { 2, {0, 10}, 0 }; Int32Spec oscillatorQuality { 1, {0, 3}, 0 }; diff --git a/tests/RegionValuesT.cpp b/tests/RegionValuesT.cpp index b1e7032e..1029c5a2 100644 --- a/tests/RegionValuesT.cpp +++ b/tests/RegionValuesT.cpp @@ -3406,7 +3406,7 @@ TEST_CASE("[Values] Flex EGs") "/region0/eg0/point0/time,f : { 0.1 }", "/region0/eg0/point0/level,f : { 0.5 }", "/region0/eg0/point1/time,f : { 0.4 }", - "/region0/eg0/point1/level,f : { 2 }", + "/region0/eg0/point1/level,f : { 1 }", // Level values in EGs are clamped in Sforzando "/region0/eg1/point0/time,f : { 4 }", "/region0/eg1/point0/level,f : { 0.1 }", };