Knob::Knob(const parameters::ParameterInfo& inParamInfo, juce::AudioProcessor* inProcessor) : Control(inParamInfo, inProcessor) , juce::Slider(juce::Slider::RotaryHorizontalVerticalDrag, juce::Slider::TextBoxBelow) { setRange(0., 1., .005); setValue(double(getControlValue()), juce::dontSendNotification); setDoubleClickReturnValue(true, getNormalizedDefaultValue()); }
SliderSwitch::SliderSwitch(const String &componentName, ParameterJuggler *pParameters, int nParameterIndex) : Slider(componentName) { pSwitch = dynamic_cast<PluginParameterSwitch *>(pParameters->getPluginParameter(nParameterIndex)); jassert(pSwitch != nullptr); setRange(0.0f, 1.0f, pSwitch->getStepSize()); setSliderStyle(Slider::RotaryVerticalDrag); colourRotary = Colours::white; setDoubleClickReturnValue(true, pSwitch->getDefaultFloat()); }
SliderSwitch::SliderSwitch(parameters::Juggler *pParameters, int nParameterIndex) { pSwitch = dynamic_cast<parameters::ParSwitch *>(pParameters->getPluginParameter(nParameterIndex)); jassert(pSwitch != nullptr); setRange(0.0f, 1.0f, pSwitch->getStepSize()); setVelocityModeParameters(1.0, 1, 0.0, true); setSliderStyle(Slider::RotaryHorizontalVerticalDrag); colourRotary = Colours::white; setDoubleClickReturnValue(true, pSwitch->getDefaultFloat()); }
SynthSlider::SynthSlider(String name) : Slider(name), bipolar_(false), active_(true), string_lookup_(nullptr), parent_(nullptr) { mopo::ValueDetails details = mopo::Parameters::getDetails(name.toStdString()); if (details.steps) setRange(details.min, details.max, (details.max - details.min) / (details.steps - 1)); else setRange(details.min, details.max); post_multiply_ = details.display_multiply; scaling_type_ = details.display_skew; units_ = details.display_units; setDoubleClickReturnValue(true, details.default_value); setTextBoxStyle(Slider::NoTextBox, true, 0, 0); setBufferedToImage(true); setColour(Slider::backgroundColourId, Colour(0xff303030)); setColour(Slider::textBoxOutlineColourId, Colour(0x00000000)); }