1313RSAlgorithmicVerbAudioProcessorEditor::RSAlgorithmicVerbAudioProcessorEditor (RSAlgorithmicVerbAudioProcessor& p, juce::AudioProcessorValueTreeState& vts)
1414 : AudioProcessorEditor (&p), audioProcessor (p), valueTreeState(vts)
1515{
16- // labels
16+ // labels row 1
1717 reverbMenuLabel.setText (" Reverb Type" , juce::dontSendNotification);
1818 reverbMenuLabel.setJustificationType (juce::Justification::centred);
1919 addAndMakeVisible (reverbMenuLabel);
@@ -30,6 +30,19 @@ RSAlgorithmicVerbAudioProcessorEditor::RSAlgorithmicVerbAudioProcessorEditor (RS
3030 dampingLabel.setJustificationType (juce::Justification::centred);
3131 addAndMakeVisible (dampingLabel);
3232
33+ diffusionLabel.setText (" Diffusion" , juce::dontSendNotification);
34+ diffusionLabel.setJustificationType (juce::Justification::centred);
35+ addAndMakeVisible (diffusionLabel);
36+
37+ // labels row 2
38+ lowCutLabel.setText (" Low Cut" , juce::dontSendNotification);
39+ lowCutLabel.setJustificationType (juce::Justification::centred);
40+ addAndMakeVisible (lowCutLabel);
41+
42+ highCutLabel.setText (" High Cut" , juce::dontSendNotification);
43+ highCutLabel.setJustificationType (juce::Justification::centred);
44+ addAndMakeVisible (highCutLabel);
45+
3346 preDelayLabel.setText (" Pre-Delay" , juce::dontSendNotification);
3447 preDelayLabel.setJustificationType (juce::Justification::centred);
3548 addAndMakeVisible (preDelayLabel);
@@ -54,7 +67,7 @@ RSAlgorithmicVerbAudioProcessorEditor::RSAlgorithmicVerbAudioProcessorEditor (RS
5467 reverbMenuBox.setSelectedId (dattorro);
5568 reverbMenuAttachment.reset (new ComboBoxAttachment (valueTreeState, " reverbType" , reverbMenuBox));
5669
57- // sliders
70+ // sliders row 1
5871 roomSizeSlider.setSliderStyle (juce::Slider::SliderStyle::RotaryHorizontalVerticalDrag);
5972 roomSizeSlider.setTextBoxStyle (juce::Slider::TextBoxBelow, false , textBoxWidth, textBoxHeight);
6073 addAndMakeVisible (roomSizeSlider);
@@ -70,6 +83,22 @@ RSAlgorithmicVerbAudioProcessorEditor::RSAlgorithmicVerbAudioProcessorEditor (RS
7083 addAndMakeVisible (dampingSlider);
7184 dampingAttachment.reset (new SliderAttachment (valueTreeState, " damping" , dampingSlider));
7285
86+ diffusionSlider.setSliderStyle (juce::Slider::SliderStyle::RotaryHorizontalVerticalDrag);
87+ diffusionSlider.setTextBoxStyle (juce::Slider::TextBoxBelow, false , textBoxWidth, textBoxHeight);
88+ addAndMakeVisible (diffusionSlider);
89+ diffusionAttachment.reset (new SliderAttachment (valueTreeState, " diffusion" , diffusionSlider));
90+
91+ // sliders row 2
92+ lowCutSlider.setSliderStyle (juce::Slider::SliderStyle::RotaryHorizontalVerticalDrag);
93+ lowCutSlider.setTextBoxStyle (juce::Slider::TextBoxBelow, false , textBoxWidth, textBoxHeight);
94+ addAndMakeVisible (lowCutSlider);
95+ lowCutAttachment.reset (new SliderAttachment (valueTreeState, " lowCut" , lowCutSlider));
96+
97+ highCutSlider.setSliderStyle (juce::Slider::SliderStyle::RotaryHorizontalVerticalDrag);
98+ highCutSlider.setTextBoxStyle (juce::Slider::TextBoxBelow, false , textBoxWidth, textBoxHeight);
99+ addAndMakeVisible (highCutSlider);
100+ highCutAttachment.reset (new SliderAttachment (valueTreeState, " highCut" , highCutSlider));
101+
73102 preDelaySlider.setSliderStyle (juce::Slider::SliderStyle::RotaryHorizontalVerticalDrag);
74103 preDelaySlider.setTextBoxStyle (juce::Slider::TextBoxBelow, false , textBoxWidth, textBoxHeight);
75104 addAndMakeVisible (preDelaySlider);
@@ -89,7 +118,7 @@ RSAlgorithmicVerbAudioProcessorEditor::RSAlgorithmicVerbAudioProcessorEditor (RS
89118 getLookAndFeel ().setDefaultLookAndFeel (&grayBlueLookAndFeel);
90119
91120 // panel size
92- setSize (700 , 575 );
121+ setSize (800 , 525 );
93122}
94123
95124RSAlgorithmicVerbAudioProcessorEditor::~RSAlgorithmicVerbAudioProcessorEditor ()
@@ -109,14 +138,16 @@ void RSAlgorithmicVerbAudioProcessorEditor::paint (juce::Graphics& g)
109138void RSAlgorithmicVerbAudioProcessorEditor::resized ()
110139{
111140 const int xBorder = 30 ;
112- const int yBorderTop = 125 ;
113- const int yBorderBottom = 70 ;
114- const int rowSpacer = 35 ;
141+ const int yBorderTop = 135 ;
142+ const int yBorderBottom = 50 ;
143+ const int rowSpacer = 45 ;
115144
116145 const int menuWidth = 135 ;
117146 const int menuHeight = 20 ;
118- const int sliderWidth = (getWidth () - (2 * xBorder)) / 3 ;
119- const int sliderHeight = (getHeight () - (yBorderTop + yBorderBottom) - rowSpacer) / 2 ;
147+ const int sliderWidth1 = (getWidth () - (2 * xBorder)) / 4 ;
148+ const int sliderWidth2 = (getWidth () - (2 * xBorder)) / 5 ;
149+ const int sliderHeight1 = (getHeight () - (yBorderTop + yBorderBottom) - rowSpacer) / 2 ;
150+ const int sliderHeight2 = sliderHeight1 * 0.8 ;
120151 const int textLabelWidth = 150 ;
121152 const int textLabelHeight = 20 ;
122153 const int textLabelSpacer = 7 ;
@@ -126,22 +157,29 @@ void RSAlgorithmicVerbAudioProcessorEditor::resized()
126157 reverbMenuLabel.setJustificationType (juce::Justification::centred);
127158
128159 // row 1 sliders
129- roomSizeSlider.setBounds (xBorder, yBorderTop, sliderWidth, sliderHeight);
130- feedbackSlider.setBounds (xBorder + sliderWidth, yBorderTop, sliderWidth, sliderHeight);
131- dampingSlider.setBounds (xBorder + (2 * sliderWidth), yBorderTop, sliderWidth, sliderHeight);
160+ roomSizeSlider.setBounds (xBorder, yBorderTop, sliderWidth1, sliderHeight1);
161+ feedbackSlider.setBounds (xBorder + sliderWidth1, yBorderTop, sliderWidth1, sliderHeight1);
162+ dampingSlider.setBounds (xBorder + (2 * sliderWidth1), yBorderTop, sliderWidth1, sliderHeight1);
163+ diffusionSlider.setBounds (xBorder + (3 * sliderWidth1), yBorderTop, sliderWidth1, sliderHeight1);
132164
133165 // row 1 labels
134- roomSizeLabel.setBounds (xBorder + ((sliderWidth / 2 ) - (textLabelWidth / 2 )), yBorderTop + sliderHeight + textLabelSpacer, textLabelWidth, textLabelHeight);
135- decayLabel.setBounds (xBorder + sliderWidth + ((sliderWidth / 2 ) - (textLabelWidth / 2 )), yBorderTop + sliderHeight + textLabelSpacer, textLabelWidth, textLabelHeight);
136- dampingLabel.setBounds (xBorder + (sliderWidth * 2 ) + ((sliderWidth / 2 ) - (textLabelWidth / 2 )), yBorderTop + sliderHeight + textLabelSpacer, textLabelWidth, textLabelHeight);
166+ roomSizeLabel.setBounds (xBorder + ((sliderWidth1 / 2 ) - (textLabelWidth / 2 )), yBorderTop + sliderHeight1 + textLabelSpacer, textLabelWidth, textLabelHeight);
167+ decayLabel.setBounds (xBorder + sliderWidth1 + ((sliderWidth1 / 2 ) - (textLabelWidth / 2 )), yBorderTop + sliderHeight1 + textLabelSpacer, textLabelWidth, textLabelHeight);
168+ dampingLabel.setBounds (xBorder + (sliderWidth1 * 2 ) + ((sliderWidth1 / 2 ) - (textLabelWidth / 2 )), yBorderTop + sliderHeight1 + textLabelSpacer, textLabelWidth, textLabelHeight);
169+ diffusionLabel.setBounds (xBorder + (sliderWidth1 * 3 ) + ((sliderWidth1 / 2 ) - (textLabelWidth / 2 )), yBorderTop + sliderHeight1 + textLabelSpacer, textLabelWidth, textLabelHeight);
170+
137171
138172 // row 2 sliders
139- preDelaySlider.setBounds (xBorder, yBorderTop + sliderHeight + rowSpacer, sliderWidth, sliderHeight);
140- earlyLateMixSlider.setBounds (xBorder + sliderWidth, yBorderTop + sliderHeight + rowSpacer, sliderWidth, sliderHeight);
141- dryWetMixSlider.setBounds (xBorder + (2 * sliderWidth), yBorderTop + sliderHeight + rowSpacer, sliderWidth, sliderHeight);
173+ preDelaySlider.setBounds (xBorder, yBorderTop + sliderHeight1 + rowSpacer, sliderWidth2, sliderHeight2);
174+ lowCutSlider.setBounds (xBorder + (sliderWidth2 * 1 ), yBorderTop + sliderHeight1 + rowSpacer, sliderWidth2, sliderHeight2);
175+ highCutSlider.setBounds (xBorder + (sliderWidth2 * 2 ), yBorderTop + sliderHeight1 + rowSpacer, sliderWidth2, sliderHeight2);
176+ earlyLateMixSlider.setBounds (xBorder + (sliderWidth2 * 3 ), yBorderTop + sliderHeight1 + rowSpacer, sliderWidth2, sliderHeight2);
177+ dryWetMixSlider.setBounds (xBorder + (sliderWidth2 * 4 ), yBorderTop + sliderHeight1 + rowSpacer, sliderWidth2, sliderHeight2);
142178
143179 // row 2 labels
144- preDelayLabel.setBounds (xBorder + (sliderWidth / 2 ) - (textLabelWidth / 2 ), yBorderTop + (sliderHeight * 2 ) + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
145- earlyLateMixLabel.setBounds (xBorder + sliderWidth + (sliderWidth / 2 ) - (textLabelWidth / 2 ), yBorderTop + (sliderHeight * 2 ) + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
146- dryWetMixLabel.setBounds (xBorder + (sliderWidth * 2 ) + (sliderWidth / 2 ) - (textLabelWidth / 2 ), yBorderTop + (sliderHeight * 2 ) + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
180+ preDelayLabel.setBounds (xBorder + (sliderWidth2 / 2 ) - (textLabelWidth / 2 ), yBorderTop + sliderHeight1 + sliderHeight2 + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
181+ lowCutLabel.setBounds (xBorder + (sliderWidth2 * 1 ) + (sliderWidth2 / 2 ) - (textLabelWidth / 2 ), yBorderTop + sliderHeight1 + sliderHeight2 + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
182+ highCutLabel.setBounds (xBorder + (sliderWidth2 * 2 ) + (sliderWidth2 / 2 ) - (textLabelWidth / 2 ), yBorderTop + sliderHeight1 + sliderHeight2 + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
183+ earlyLateMixLabel.setBounds (xBorder + (sliderWidth2 * 3 ) + (sliderWidth2 / 2 ) - (textLabelWidth / 2 ), yBorderTop + sliderHeight1 + sliderHeight2 + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
184+ dryWetMixLabel.setBounds (xBorder + (sliderWidth2 * 4 ) + (sliderWidth2 / 2 ) - (textLabelWidth / 2 ), yBorderTop + sliderHeight1 + sliderHeight2 + rowSpacer + textLabelSpacer, textLabelWidth, textLabelHeight);
147185}
0 commit comments