#pragma once #include #include "LookAndFeel.h" class GrainControlPanel : public juce::Component { public: GrainControlPanel(); void resized() override; void paint (juce::Graphics& g) override; juce::Slider positionKnob, sizeKnob, densityKnob, pitchKnob, panKnob; juce::ComboBox rootNoteBox; private: juce::Label posLabel, sizeLabel, densityLabel, pitchLabel, panLabel; juce::Label rootNoteLabel; juce::Label titleLabel; void setupKnob (juce::Slider& knob, juce::Label& label, const juce::String& name, double min, double max, double def, const juce::String& suffix = ""); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GrainControlPanel) };