aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Kaiser2025-10-07 11:27:32 +0200
committerDominik Kaiser2025-10-07 11:27:32 +0200
commit096dbc28e95fb7063ce19fddff31d63126876eff (patch)
tree90497a47b2abc9499fcd5fd40ea080ccaea61e95
parentdf4c72f990bc8f293af417bef893ee340874882a (diff)
downloadSchroederReverb-096dbc28e95fb7063ce19fddff31d63126876eff.tar.gz
SchroederReverb-096dbc28e95fb7063ce19fddff31d63126876eff.zip
Add Knobs to UI
-rw-r--r--src/UI/PluginEditor.cpp26
-rw-r--r--src/UI/PluginEditor.h4
2 files changed, 11 insertions, 19 deletions
diff --git a/src/UI/PluginEditor.cpp b/src/UI/PluginEditor.cpp
index aedb799..42bdf68 100644
--- a/src/UI/PluginEditor.cpp
+++ b/src/UI/PluginEditor.cpp
@@ -4,24 +4,14 @@
//==============================================================================
SchroederReverbAudioProcessorEditor::SchroederReverbAudioProcessorEditor(
SchroederReverbAudioProcessor& p)
- : AudioProcessorEditor(&p), processorRef(p)
+ : AudioProcessorEditor(&p), processorRef(p), preDelayKnob("Pre-Delay", p.preDelay),
+ decayKnob("Decay", p.decayFactor), mixKnob("Dry/Wet", p.dryWetMix)
{
- mixParam = processorRef.dryWetMix;
- mixSlider.setSliderStyle(juce::Slider::LinearHorizontal);
- mixSlider.setTextBoxStyle(juce::Slider::TextBoxRight, false, 50, 20);
- mixSlider.setRange(0.0, 1.0, 0.01);
- addAndMakeVisible(mixSlider);
+ addAndMakeVisible(preDelayKnob);
+ addAndMakeVisible(decayKnob);
+ addAndMakeVisible(mixKnob);
- mixSlider.setValue(mixParam->get());
- mixSlider.onValueChange = [this]()
- {
- if (mixParam != nullptr)
- {
- *mixParam = (float)mixSlider.getValue();
- }
- };
-
- setSize(400, 300);
+ setSize(380, 140);
}
SchroederReverbAudioProcessorEditor::~SchroederReverbAudioProcessorEditor() {}
@@ -36,5 +26,7 @@ SchroederReverbAudioProcessorEditor::paint(juce::Graphics& g)
void
SchroederReverbAudioProcessorEditor::resized()
{
- mixSlider.setBounds(40, 80, getWidth() - 80, 20);
+ preDelayKnob.setBounds(20, 20, 100, 100);
+ decayKnob.setBounds(140, 20, 100, 100);
+ mixKnob.setBounds(260, 20, 100, 100);
}
diff --git a/src/UI/PluginEditor.h b/src/UI/PluginEditor.h
index ad42bf8..0d4b7c7 100644
--- a/src/UI/PluginEditor.h
+++ b/src/UI/PluginEditor.h
@@ -1,6 +1,7 @@
#pragma once
#include "../PluginProcessor.h"
+#include "KnobWithLabel.h"
//==============================================================================
class SchroederReverbAudioProcessorEditor final : public juce::AudioProcessorEditor
@@ -15,8 +16,7 @@ class SchroederReverbAudioProcessorEditor final : public juce::AudioProcessorEdi
private:
SchroederReverbAudioProcessor& processorRef;
- juce::Slider mixSlider;
- juce::AudioParameterFloat* mixParam = nullptr;
+ KnobWithLabel preDelayKnob, decayKnob, mixKnob;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(SchroederReverbAudioProcessorEditor)
};