From ef3ba8fee704c3de8cc19ea8dcb24b7c736d51e2 Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 17 Mar 2022 19:13:33 +0000 Subject: [PATCH] Fix maximumStringLength usage in jucewrapper, used for AU Signed-off-by: falkTX --- jucewrapper/CardinalWrapper.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jucewrapper/CardinalWrapper.cpp b/jucewrapper/CardinalWrapper.cpp index 8503c06..d093389 100644 --- a/jucewrapper/CardinalWrapper.cpp +++ b/jucewrapper/CardinalWrapper.cpp @@ -69,7 +69,8 @@ protected: juce::String getName(const int maximumStringLength) const override { - DISTRHO_SAFE_ASSERT_RETURN(maximumStringLength > 0, {}); + if (maximumStringLength <= 0) + return juce::String(plugin.getParameterName(index).buffer()); return juce::String(plugin.getParameterName(index).buffer(), static_cast(maximumStringLength)); } @@ -111,8 +112,6 @@ protected: juce::String getText(const float normalizedValue, const int maximumStringLength) const override { - DISTRHO_SAFE_ASSERT_RETURN(maximumStringLength > 0, {}); - float value = ranges.getUnnormalizedValue(normalizedValue); if (hints & kParameterIsBoolean) @@ -130,7 +129,12 @@ protected: for (uint32_t i=0; i < enumValues.count; ++i) { if (d_isEqual(enumValues.values[i].value, value)) + { + if (maximumStringLength <= 0) + return juce::String(enumValues.values[i].label); + return juce::String(enumValues.values[i].label, static_cast(maximumStringLength)); + } } } @@ -140,6 +144,9 @@ protected: else text = juce::String(value); + if (maximumStringLength <= 0) + return text; + return juce::String(text.toRawUTF8(), static_cast(maximumStringLength)); }