diff --git a/source/backend/CarlaBackend.h b/source/backend/CarlaBackend.h index 2c3bb2a69..e8ad8b3d8 100644 --- a/source/backend/CarlaBackend.h +++ b/source/backend/CarlaBackend.h @@ -32,6 +32,7 @@ # define CARLA_BACKEND_START_NAMESPACE namespace CarlaBackend { # define CARLA_BACKEND_END_NAMESPACE } # define CARLA_BACKEND_USE_NAMESPACE using namespace CarlaBackend; +# include # include /* Start namespace */ CARLA_BACKEND_START_NAMESPACE @@ -1453,7 +1454,12 @@ typedef struct { if (value >= 1.0f) return max; - return min * std::pow(max/min, value); + float rmin = min; + + if (std::abs(min) < std::numeric_limits::epsilon()) + rmin = 0.00001f; + + return rmin * std::pow(max/rmin, value); } #endif /* __cplusplus */ diff --git a/source/backend/engine/CarlaEngineData.cpp b/source/backend/engine/CarlaEngineData.cpp index 8b499eb5e..e927c261d 100644 --- a/source/backend/engine/CarlaEngineData.cpp +++ b/source/backend/engine/CarlaEngineData.cpp @@ -125,7 +125,7 @@ void EngineEvent::fillFromMidiData(const uint8_t size, const uint8_t* const data { CARLA_SAFE_ASSERT_RETURN(size >= 3,); - const uint8_t midiValue(carla_fixedValue(0, 127, data[2])); // ensures 0.0<->1.0 value range + const uint8_t midiValue = carla_fixedValue(0, 127, data[2]); // ensures 0.0<->1.0 value range ctrl.type = kEngineControlEventTypeParameter; ctrl.param = midiControl;