Browse Source

Fix default values for parameters with sampleRate

tags/1.9.7
falkTX 10 years ago
parent
commit
fd2dba8ea7
3 changed files with 22 additions and 38 deletions
  1. +7
    -13
      source/backend/plugin/CarlaPluginDSSI.cpp
  2. +7
    -13
      source/backend/plugin/CarlaPluginLADSPA.cpp
  3. +8
    -12
      source/backend/plugin/CarlaPluginLV2.cpp

+ 7
- 13
source/backend/plugin/CarlaPluginDSSI.cpp View File

@@ -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;


+ 7
- 13
source/backend/plugin/CarlaPluginLADSPA.cpp View File

@@ -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;


+ 8
- 12
source/backend/plugin/CarlaPluginLV2.cpp View File

@@ -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;


Loading…
Cancel
Save