@@ -903,14 +903,16 @@ public: | |||
else | |||
max = 1.0f; | |||
if (min > max) | |||
if (LADSPA_IS_HINT_SAMPLE_RATE(portRangeHints.HintDescriptor)) | |||
{ | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': min > max", paramName); | |||
min = max - 0.1f; | |||
min *= sampleRate; | |||
max *= sampleRate; | |||
pData->param.data[j].hints |= PARAMETER_USES_SAMPLERATE; | |||
} | |||
else if (carla_isEqual(min, max)) | |||
if (min >= max) | |||
{ | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': min == max", paramName); | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': min >= max", paramName); | |||
max = min + 0.1f; | |||
} | |||
@@ -922,14 +924,6 @@ public: | |||
else if (def > max) | |||
def = max; | |||
if (LADSPA_IS_HINT_SAMPLE_RATE(portRangeHints.HintDescriptor)) | |||
{ | |||
min *= sampleRate; | |||
max *= sampleRate; | |||
def *= sampleRate; | |||
pData->param.data[j].hints |= PARAMETER_USES_SAMPLERATE; | |||
} | |||
if (LADSPA_IS_HINT_TOGGLED(portRangeHints.HintDescriptor)) | |||
{ | |||
step = max - min; | |||
@@ -609,14 +609,16 @@ public: | |||
else | |||
max = 1.0f; | |||
if (min > max) | |||
if (LADSPA_IS_HINT_SAMPLE_RATE(portRangeHints.HintDescriptor)) | |||
{ | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': min > max", paramName); | |||
min = max - 0.1f; | |||
min *= sampleRate; | |||
max *= sampleRate; | |||
pData->param.data[j].hints |= PARAMETER_USES_SAMPLERATE; | |||
} | |||
else if (carla_isEqual(min, max)) | |||
if (min >= max) | |||
{ | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': min == max", paramName); | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': min >= max", paramName); | |||
max = min + 0.1f; | |||
} | |||
@@ -631,14 +633,6 @@ public: | |||
else if (def > max) | |||
def = max; | |||
if (LADSPA_IS_HINT_SAMPLE_RATE(portRangeHints.HintDescriptor)) | |||
{ | |||
min *= sampleRate; | |||
max *= sampleRate; | |||
def *= sampleRate; | |||
pData->param.data[j].hints |= PARAMETER_USES_SAMPLERATE; | |||
} | |||
if (LADSPA_IS_HINT_TOGGLED(portRangeHints.HintDescriptor)) | |||
{ | |||
step = max - min; | |||
@@ -2079,8 +2079,12 @@ public: | |||
else | |||
max = 1.0f; | |||
if (min > max) | |||
max = min; | |||
if (LV2_IS_PORT_SAMPLE_RATE(portProps)) | |||
{ | |||
min *= sampleRate; | |||
max *= sampleRate; | |||
pData->param.data[j].hints |= PARAMETER_USES_SAMPLERATE; | |||
} | |||
// stupid hack for ir.lv2 (broken plugin) | |||
if (std::strcmp(fRdfDescriptor->URI, "http://factorial.hu/plugins/lv2/ir") == 0 && std::strncmp(fRdfDescriptor->Ports[i].Name, "FileHash", 8) == 0) | |||
@@ -2089,9 +2093,9 @@ public: | |||
max = (float)0xffffff; | |||
} | |||
if (carla_isEqual(min, max)) | |||
if (min >= max) | |||
{ | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': max == min", fRdfDescriptor->Ports[i].Name); | |||
carla_stderr2("WARNING - Broken plugin parameter '%s': min >= max", fRdfDescriptor->Ports[i].Name); | |||
max = min + 0.1f; | |||
} | |||
@@ -2114,14 +2118,6 @@ public: | |||
else if (def > max) | |||
def = max; | |||
if (LV2_IS_PORT_SAMPLE_RATE(portProps)) | |||
{ | |||
min *= sampleRate; | |||
max *= sampleRate; | |||
def *= sampleRate; | |||
pData->param.data[j].hints |= PARAMETER_USES_SAMPLERATE; | |||
} | |||
if (LV2_IS_PORT_TOGGLED(portProps)) | |||
{ | |||
step = max - min; | |||