Polish GUI, add pattern retrig option, and rework voice DSP

This commit is contained in:
Armin 2026-08-06 15:51:56 +02:00
commit 4732240cc7
7 changed files with 546 additions and 129 deletions

View file

@ -59,6 +59,8 @@ public:
customOnValueChange = std::move (valueChangedFn);
}
void setDragSensitivity (int pixels) { slider.setMouseDragSensitivity (pixels); }
void resized() override;
private:
@ -89,6 +91,13 @@ public:
void setManualHandler (std::function<void (int)> handler) { manualHandler = std::move (handler); }
void setSelectedIndex (int index)
{
index = juce::jlimit (0, juce::jmax (0, buttons.size() - 1), index);
for (int i = 0; i < buttons.size(); ++i)
buttons[i]->setToggleState (i == index, juce::dontSendNotification);
}
void resized() override;
private:
@ -127,7 +136,6 @@ private:
Knob fineKnob;
juce::TextButton prevButton;
juce::TextButton nextButton;
juce::Label hintLabel;
juce::TextButton clearButton;
juce::TextButton shiftLeftButton;
juce::TextButton shiftRightButton;
@ -149,6 +157,11 @@ private:
};
juce::ToggleButton randomizeToggles[RandomGroupCount];
juce::ToggleButton retrigToggle;
std::unique_ptr<juce::AudioProcessorValueTreeState::ButtonAttachment> retrigAttachment;
juce::TextButton resetFineButton;
};
class MonostepAudioProcessorEditor final : public juce::AudioProcessorEditor,
@ -182,7 +195,7 @@ private:
ContentComponent content;
static constexpr int baseWidth = 1060;
static constexpr int baseHeight = 640;
static constexpr int baseHeight = 780;
float zoomFactor = 1.0f;
@ -209,6 +222,11 @@ private:
Knob decayKnob;
Knob sustainKnob;
Knob releaseKnob;
Knob fAttackKnob;
Knob fDecayKnob;
Knob fSustainKnob;
Knob fReleaseKnob;
Knob fAmountKnob;
Knob driveKnob;
Knob ringKnob;
Knob accentKnob;
@ -218,8 +236,10 @@ private:
ChoiceBar zoomBar;
juce::ComboBox wave1Box;
juce::ComboBox wave2Box;
juce::ComboBox filterTypeBox;
std::unique_ptr<juce::AudioProcessorValueTreeState::ComboBoxAttachment> wave1Attachment;
std::unique_ptr<juce::AudioProcessorValueTreeState::ComboBoxAttachment> wave2Attachment;
std::unique_ptr<juce::AudioProcessorValueTreeState::ComboBoxAttachment> filterTypeAttachment;
SequencerMatrix matrix;
StepPanel stepPanel;