osci-render/Source/components/VisualiserSettings.h

38 wiersze
1.2 KiB
C
Czysty Zwykły widok Historia

2024-08-10 19:26:56 +00:00
#pragma once
#include <JuceHeader.h>
#include "EffectComponent.h"
#include "SvgButton.h"
#include "../LookAndFeel.h"
#include "SwitchButton.h"
2024-08-10 19:26:56 +00:00
class VisualiserSettings : public juce::Component {
public:
VisualiserSettings(OscirenderAudioProcessor&);
2024-08-10 19:26:56 +00:00
~VisualiserSettings();
void resized() override;
juce::var getSettings();
2024-08-10 19:26:56 +00:00
private:
OscirenderAudioProcessor& audioProcessor;
EffectComponent intensity{audioProcessor, *audioProcessor.intensityEffect};
EffectComponent persistence{audioProcessor, *audioProcessor.persistenceEffect};
EffectComponent hue{audioProcessor, *audioProcessor.hueEffect};
jux::SwitchButton graticuleToggle{audioProcessor.graticuleEnabled};
jux::SwitchButton smudgeToggle{audioProcessor.smudgesEnabled};
jux::SwitchButton upsamplingToggle{audioProcessor.upsamplingEnabled};
2024-08-10 19:26:56 +00:00
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(VisualiserSettings)
};
class SettingsWindow : public juce::DocumentWindow {
public:
SettingsWindow(juce::String name) : juce::DocumentWindow(name, Colours::darker, juce::DocumentWindow::TitleBarButtons::closeButton) {}
void closeButtonPressed() override {
setVisible(false);
}
};