From 1e8da951134635616c400fc2b01bc98ae58e97e6 Mon Sep 17 00:00:00 2001 From: riban Date: Sat, 3 Apr 2021 08:31:46 +0100 Subject: [PATCH] Fixes #258 - wrong value detected for negative enums of integer parameters --- distrho/src/DistrhoPluginLV2export.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/distrho/src/DistrhoPluginLV2export.cpp b/distrho/src/DistrhoPluginLV2export.cpp index 7ccd4f0c..ffce2172 100644 --- a/distrho/src/DistrhoPluginLV2export.cpp +++ b/distrho/src/DistrhoPluginLV2export.cpp @@ -565,8 +565,10 @@ void lv2_generate_ttl(const char* const basename) pluginString += " rdfs:label \"\"\"" + enumValue.label + "\"\"\" ;\n"; if (plugin.getParameterHints(i) & kParameterIsInteger) { - const int roundedValue = (int)(enumValue.value + 0.5f); - pluginString += " rdf:value " + String(roundedValue) + " ;\n"; + if(enumValue.value < 0.0) + pluginString += " rdf:value " + String((int)(enumValue.value - 0.5f)) + " ;\n"; + else + pluginString += " rdf:value " + String((int)(enumValue.value + 0.5f)) + " ;\n"; } else { pluginString += " rdf:value " + String(enumValue.value) + " ;\n";