mirror of
https://codeberg.org/armin/sm-26.git
synced 2026-10-11 17:01:53 +02:00
53 lines
No EOL
1.3 KiB
C++
53 lines
No EOL
1.3 KiB
C++
#pragma once
|
|
|
|
#include <JuceHeader.h>
|
|
#include "PluginProcessor.h"
|
|
#include "LcdDisplay.h"
|
|
#include "MenuSystem.h"
|
|
#include "Presets.h"
|
|
#include "SynthParams.h"
|
|
|
|
class SM26AudioProcessorEditor : public juce::AudioProcessorEditor,
|
|
private juce::Timer,
|
|
private juce::Slider::Listener
|
|
{
|
|
public:
|
|
SM26AudioProcessorEditor (SM26AudioProcessor&);
|
|
~SM26AudioProcessorEditor() override;
|
|
|
|
void paint (juce::Graphics&) override;
|
|
void resized() override;
|
|
void timerCallback() override;
|
|
|
|
private:
|
|
void sliderValueChanged (juce::Slider*) override;
|
|
|
|
void setupKnobs();
|
|
void setupNavButtons();
|
|
void buildRootMenu();
|
|
void updateLCD();
|
|
|
|
SM26AudioProcessor& proc;
|
|
MenuSystem menu;
|
|
|
|
LcdDisplay lcd;
|
|
|
|
juce::Slider knobSliders[4];
|
|
juce::Label knobLabels[4];
|
|
juce::Label knobValueLabels[4];
|
|
|
|
juce::TextButton navUp { "UP" };
|
|
juce::TextButton navDown { "DOWN" };
|
|
juce::TextButton navLeft { "LEFT" };
|
|
juce::TextButton navRight { "RIGHT" };
|
|
juce::TextButton navEnter { "ENTER" };
|
|
juce::TextButton navEsc { "ESC" };
|
|
|
|
juce::Label footer;
|
|
|
|
bool menuWasOpen = false;
|
|
|
|
static juce::String buildGitFooter();
|
|
|
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SM26AudioProcessorEditor)
|
|
}; |