Browse Source

Unity: Only display normalised range for default parameter sliders and expose choice parameters

tags/2021-05-28
ed 6 years ago
parent
commit
7f08842864
1 changed files with 4 additions and 26 deletions
  1. +4
    -26
      modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp

+ 4
- 26
modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp View File

@@ -355,15 +355,7 @@ public:
if (parametersPtr == nullptr)
{
auto paramsCopy = juceParameters.params;
for (auto* parameter : paramsCopy)
{
// Unity only displays parameters using a slider so remove any choice parameters
if (! parameter->getAllValueStrings().isEmpty())
paramsCopy.remove (paramsCopy.indexOf (parameter));
}
numParams = paramsCopy.size();
numParams = juceParameters.params.size();
parametersPtr.reset (static_cast<UnityAudioParameterDefinition*> (std::calloc (static_cast<size_t> (numParams),
sizeof (UnityAudioParameterDefinition))));
@@ -372,7 +364,7 @@ public:
for (int i = 0; i < numParams; ++i)
{
auto* parameter = paramsCopy[i];
auto* parameter = juceParameters.params[i];
auto& paramDef = parametersPtr.get()[i];
strncpy (paramDef.name, parameter->getName (15).toRawUTF8(), 15);
@@ -386,22 +378,8 @@ public:
paramDef.defaultVal = parameter->getDefaultValue();
paramDef.min = 0.0f;
paramDef.max = 1.0f;
float scale = 1.0f;
float exp = 1.0f;
if (auto* floatParam = dynamic_cast<AudioParameterFloat*> (parameter))
{
scale = floatParam->range.end;
exp = floatParam->range.skew;
}
else if (auto* intParam = dynamic_cast<AudioParameterInt*> (parameter))
{
scale = (float) intParam->getRange().getEnd();
}
paramDef.displayScale = scale;
paramDef.displayExponent = exp;
paramDef.displayScale = 1.0f;
paramDef.displayExponent = 1.0f;
}
}


Loading…
Cancel
Save