Skip to content

Commit b4e06a7

Browse files
committed
drive label into middle of drive knob
1 parent 93530ea commit b4e06a7

File tree

3 files changed

+8
-19
lines changed

3 files changed

+8
-19
lines changed

src/CustomKnobLNF.cpp

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ CustomKnobLNF::CustomKnobLNF() {
1010
}
1111

1212
void CustomKnobLNF::drawRotarySlider(juce::Graphics& g, int x, int y, int width, int height,
13-
float sliderPosProportional, float, float, juce::Slider&) {
13+
float sliderPosProportional, float, float, juce::Slider& slider) {
1414
if (knobImage.isValid()) {
1515
int frameWidth = knobImage.getWidth();
1616
int frameHeight = knobImage.getHeight() / numFrames;
@@ -28,21 +28,11 @@ void CustomKnobLNF::drawRotarySlider(juce::Graphics& g, int x, int y, int width,
2828
destX, destY, scaledWidth, scaledHeight,
2929
0, frameIndex * frameHeight,
3030
frameWidth, frameHeight);
31-
}
32-
}
3331

34-
juce::BorderSize<int> CustomKnobLNF::getLabelBorderSize(juce::Label&)
35-
{
36-
return juce::BorderSize<int>(0);
32+
g.setColour(juce::Colours::white);
33+
g.setFont(juce::Font("Arial", 30.0f, juce::Font::bold));
34+
juce::String text = slider.getTextFromValue(slider.getValue());
35+
g.drawText(text, destX, destY, scaledWidth, scaledHeight, juce::Justification::centred);
36+
}
3737
}
3838

39-
juce::Label* CustomKnobLNF::createSliderTextBox(juce::Slider& slider)
40-
{
41-
auto* l = new juce::Label();
42-
l->setJustificationType(juce::Justification::centred);
43-
l->setColour(juce::Label::textColourId, slider.findColour(juce::Slider::textBoxTextColourId));
44-
l->setColour(juce::Label::backgroundColourId, juce::Colours::transparentBlack);
45-
l->setColour(juce::Label::outlineColourId, juce::Colours::transparentBlack);
46-
l->setFont(juce::Font("Arial", 30.0f, juce::Font::bold));
47-
return l;
48-
}

src/CustomKnobLNF.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ class CustomKnobLNF : public juce::LookAndFeel_V4 {
1414
float sliderPosProportional, float rotaryStartAngle,
1515
float rotaryEndAngle, juce::Slider& slider) override;
1616

17-
juce::BorderSize<int> getLabelBorderSize(juce::Label&) override;
18-
juce::Label* createSliderTextBox(juce::Slider& slider) override;
17+
1918

2019
private:
2120
juce::Image knobImage;

src/PluginEditor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ SetekhAudioProcessorEditor::SetekhAudioProcessorEditor(SetekhAudioProcessor &p)
77
outputGainAttachment(p.apvts, "outputGain", outputGainSlider) {
88

99
driveSlider.setSliderStyle(juce::Slider::RotaryHorizontalVerticalDrag);
10-
driveSlider.setTextBoxStyle(juce::Slider::TextBoxBelow, true, 80, 30);
10+
driveSlider.setTextBoxStyle(juce::Slider::NoTextBox, false, 0, 0);
1111
driveSlider.setRange(0.0, 5.0, 0.01);
1212
driveSlider.setNumDecimalPlacesToDisplay(0);
1313
customKnobLNF = std::make_unique<CustomKnobLNF>();

0 commit comments

Comments
 (0)