2024-09-12 22:09:54 +00:00
|
|
|
#include "SosciPluginProcessor.h"
|
|
|
|
#include "SosciPluginEditor.h"
|
|
|
|
#include <juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h>
|
|
|
|
|
2025-01-06 11:17:42 +00:00
|
|
|
SosciPluginEditor::SosciPluginEditor(SosciAudioProcessor& p) : CommonPluginEditor(p, "sosci", "sosci", 1180, 750), audioProcessor(p) {
|
2024-12-14 18:15:22 +00:00
|
|
|
initialiseMenuBar(model);
|
2025-01-06 09:14:34 +00:00
|
|
|
addAndMakeVisible(volume);
|
2025-01-06 11:17:42 +00:00
|
|
|
addAndMakeVisible(visualiserSettingsWrapper);
|
|
|
|
|
2024-12-14 18:15:22 +00:00
|
|
|
resized();
|
2024-09-12 22:09:54 +00:00
|
|
|
}
|
|
|
|
|
2024-12-14 20:42:35 +00:00
|
|
|
SosciPluginEditor::~SosciPluginEditor() {
|
|
|
|
menuBar.setModel(nullptr);
|
|
|
|
}
|
|
|
|
|
2024-09-12 22:09:54 +00:00
|
|
|
void SosciPluginEditor::paint(juce::Graphics& g) {
|
2024-10-06 19:11:53 +00:00
|
|
|
g.fillAll(Colours::veryDark);
|
2024-09-12 22:09:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void SosciPluginEditor::resized() {
|
2025-01-06 09:14:34 +00:00
|
|
|
auto area = getLocalBounds();
|
|
|
|
|
|
|
|
menuBar.setBounds(area.removeFromTop(25));
|
|
|
|
|
|
|
|
auto volumeArea = area.removeFromLeft(30);
|
|
|
|
volume.setBounds(volumeArea.withSizeKeepingCentre(volumeArea.getWidth(), juce::jmin(volumeArea.getHeight(), 300)));
|
|
|
|
|
2025-01-06 11:17:42 +00:00
|
|
|
auto settingsArea = area.removeFromRight(juce::jmax(juce::jmin(0.4 * getWidth(), 550.0), 350.0));
|
|
|
|
visualiserSettings.setSize(settingsArea.getWidth(), 550);
|
|
|
|
visualiserSettingsWrapper.setBounds(settingsArea);
|
|
|
|
|
2025-01-06 18:27:23 +00:00
|
|
|
if (area.getWidth() < 10 || area.getHeight() < 10) {
|
|
|
|
return;
|
|
|
|
}
|
2025-01-06 09:14:34 +00:00
|
|
|
visualiser.setBounds(area);
|
2024-09-12 22:09:54 +00:00
|
|
|
}
|