Hi all,
I am trying to solve a problem of having sliders values rounded to 2 decimal places. An audio parameter which has a value of 0.1234 in the processor will be set to a value of 0.12 in the editor by attempting to move sliders to their correct positions after a DAW preset reload using setStateInformation.
auto& params = processor.getParameters();
juce::AudioParameterFloat* dryGainParameter2 = (juce::AudioParameterFloat*)params.getUnchecked(1);
mDryGainSlider.setValue(*dryGainParameter2);
I tried this code also which doesn’t work ( slider value doesn’t move )
mDelayOneGainSlider.setValue(processor.getParameter(1))
I have been stuck here for a week now posting every day. I cant seem to figure out what it going on.
I tried this
mDryGainSlider.setValue(float(*dryGainParameter2));
tried this too
auto gainVal = dryGainParameter2->operator float();
mDryGainSlider.setValue(gainVal);
tried this too
juce::NormalisableRange<float> myRange(0.0, 1.0, 0.0001);
//addParameter(mDryGainParameter = new juce::AudioParameterFloat("drygain", "Dry Gain", 0.000f, 1.0f , 0.501f));
addParameter(mDryGainParameter = new juce::AudioParameterFloat("drygain", "Dry Gain", myRange, 0.512f ));
I tried this too :
mDryGainSlider.setRange(0.0f, 1.0f, 0.0001f );
I am pretty sure that dereferencing this pointer is what is losing the precision :
auto& params = processor.getParameters();
juce::AudioParameterFloat* dryGainParameter2 = (juce::AudioParameterFloat*)params.getUnchecked(1);
//mDryGainSlider.setValue(float(*dryGainParameter2));
double gainVal = double(*dryGainParameter2);
Any ideas would be appreciated thanks Sean