Hi, I have a long list of Sliders in my PluginEditor Constructor all with very similar properties, see below:
// POD Sliders
// -----------
addAndMakeVisible(driveSlider);
driveSlider.setLookAndFeel(&rotaryLookAndFeel);
driveSlider.setSliderStyle(juce::Slider::SliderStyle::Rotary);
driveSlider.setTextBoxStyle(juce::Slider::TextBoxBelow, true, 44, 20);
driveSlider.setRange(0, 127, 1);
driveSlider.setValue(64);
ampModelGroup.addChildComponent(driveSlider);
addAndMakeVisible(drive2Slider);
drive2Slider.setLookAndFeel(&rotaryLookAndFeel);
drive2Slider.setSliderStyle(juce::Slider::SliderStyle::Rotary);
drive2Slider.setTextBoxStyle(juce::Slider::TextBoxBelow, true, 44, 20);
drive2Slider.setRange(0, 127, 1);
drive2Slider.setValue(64);
ampModelGroup.addChildComponent(drive2Slider);
addAndMakeVisible(bassSlider);
bassSlider.setLookAndFeel(&rotaryLookAndFeel);
bassSlider.setSliderStyle(juce::Slider::SliderStyle::Rotary);
bassSlider.setTextBoxStyle(juce::Slider::TextBoxBelow, true, 44, 20);
bassSlider.setRange(0, 127, 1);
bassSlider.setValue(64);
ampModelGroup.addChildComponent(bassSlider);
addAndMakeVisible(midSlider);
midSlider.setLookAndFeel(&rotaryLookAndFeel);
midSlider.setSliderStyle(juce::Slider::SliderStyle::Rotary);
midSlider.setTextBoxStyle(juce::Slider::TextBoxBelow, true, 44, 20);
midSlider.setRange(0, 127, 1);
midSlider.setValue(64);
ampModelGroup.addChildComponent(midSlider);
I already have a Custom LookAndFeel working, but how do I move some of the common stuff like:
driveSlider.setSliderStyle(juce::Slider::SliderStyle::Rotary);
driveSlider.setTextBoxStyle(juce::Slider::TextBoxBelow, true, 44, 20);
driveSlider.setRange(0, 127, 1);
driveSlider.setValue(64);
out into the LookAndFeel Class?
I tried moving it out into the LookAndFeel Constructor like:
class RotaryLookAndFeel : public juce::LookAndFeel_V4
{
public:
RotaryLookAndFeel()
{
// Slider Colours
// --------------
setColour(juce::Slider::thumbColourId, juce::Colours::silver);
setColour(juce::Slider::rotarySliderOutlineColourId, juce::Colour(darkerMainColourId)); // The unfilled part of the Rotary
setColour(juce::Slider::rotarySliderFillColourId, juce::Colour(lighterMainColourId)); // The filled part of the Rotary
setColour(juce::Slider::textBoxTextColourId, juce::Colours::white);
setColour(juce::Slider::textBoxOutlineColourId, juce::Colour(transparentColourId));
juce::Slider::SliderStyle::Rotary;
juce::Slider::TextBoxBelow, true, 44, 20;
setRange(0, 127, 1);
setValue(64);
}
But I’m not getting very far, must be doing something wrong? Just looking to get rid of all the repetitive code in the PluginEditor!!!

