update background and shot, refine UI gaps and alignments

This commit is contained in:
Armin 2026-07-15 16:23:07 +02:00
commit 4501198711
3 changed files with 16 additions and 16 deletions

View file

@ -151,8 +151,8 @@ void ComboBoxLookAndFeel::drawPopupMenuItem(juce::Graphics& g, const juce::Recta
void VuMeter::paint(juce::Graphics& g) {
auto bounds = getLocalBounds().toFloat();
juce::ColourGradient bgGrad(juce::Colour(0xff222222), bounds.getCentreX(), bounds.getY(),
juce::Colour(0xff111111), bounds.getCentreX(), bounds.getBottom(), false);
juce::ColourGradient bgGrad(juce::Colour(0x99222222), bounds.getCentreX(), bounds.getY(),
juce::Colour(0x99111111), bounds.getCentreX(), bounds.getBottom(), false);
g.setGradientFill(bgGrad);
g.fillRoundedRectangle(bounds, 3.0f);
@ -184,8 +184,8 @@ void VuMeter::paint(juce::Graphics& g) {
void WaveformDisplay::paint(juce::Graphics& g) {
auto bounds = getLocalBounds().toFloat();
juce::ColourGradient bgGrad(juce::Colour(0xff222222), bounds.getCentreX(), bounds.getY(),
juce::Colour(0xff111111), bounds.getCentreX(), bounds.getBottom(), false);
juce::ColourGradient bgGrad(juce::Colour(0x99222222), bounds.getCentreX(), bounds.getY(),
juce::Colour(0x99111111), bounds.getCentreX(), bounds.getBottom(), false);
g.setGradientFill(bgGrad);
g.fillRoundedRectangle(bounds, 3.0f);
@ -244,8 +244,8 @@ void WaveformDisplay::paint(juce::Graphics& g) {
void SpectrumAnalyzer::paint(juce::Graphics& g) {
auto bounds = getLocalBounds().toFloat();
juce::ColourGradient bgGrad(juce::Colour(0xff222222), bounds.getCentreX(), bounds.getY(),
juce::Colour(0xff111111), bounds.getCentreX(), bounds.getBottom(), false);
juce::ColourGradient bgGrad(juce::Colour(0x99222222), bounds.getCentreX(), bounds.getY(),
juce::Colour(0x99111111), bounds.getCentreX(), bounds.getBottom(), false);
g.setGradientFill(bgGrad);
g.fillRoundedRectangle(bounds, 3.0f);
@ -793,8 +793,8 @@ void MainContentComponent::paint(juce::Graphics& g) {
auto rect = juce::Rectangle<float>(static_cast<float>(x), static_cast<float>(y),
static_cast<float>(w), static_cast<float>(h));
// 3D fill gradient: slight light top, dark bottom
juce::ColourGradient fillGrad(juce::Colour(0xff222222), rect.getCentreX(), rect.getY(),
juce::Colour(0xff111111), rect.getCentreX(), rect.getBottom(), false);
juce::ColourGradient fillGrad(juce::Colour(0x99222222), rect.getCentreX(), rect.getY(),
juce::Colour(0x99111111), rect.getCentreX(), rect.getBottom(), false);
g.setGradientFill(fillGrad);
g.fillRoundedRectangle(rect, 4.0f);
// Border
@ -815,8 +815,8 @@ void MainContentComponent::paint(juce::Graphics& g) {
auto drawSubSection = [&](int x, int y, int w, int h, const juce::String& title, int titlePadY = 2) {
auto rect = juce::Rectangle<float>(static_cast<float>(x), static_cast<float>(y),
static_cast<float>(w), static_cast<float>(h));
juce::ColourGradient fillGrad(juce::Colour(0xff222222), rect.getCentreX(), rect.getY(),
juce::Colour(0xff111111), rect.getCentreX(), rect.getBottom(), false);
juce::ColourGradient fillGrad(juce::Colour(0x99222222), rect.getCentreX(), rect.getY(),
juce::Colour(0x99111111), rect.getCentreX(), rect.getBottom(), false);
g.setGradientFill(fillGrad);
g.fillRoundedRectangle(rect, 3.0f);
g.setColour(juce::Colour(0xff333333));
@ -847,7 +847,7 @@ void MainContentComponent::resized() {
auto comboH = 48;
osc1Label.setBounds(10, sectionY, 498, labelH);
osc1WaveBox.setBounds(20, sectionY + labelH + 4, 200, comboH);
osc1WaveBox.setBounds(20, sectionY + labelH + 4, 200, 36);
int knobY1 = sectionY + labelH + comboH + 8;
osc1OctKnob.setBounds(20, knobY1, knobSize, knobSize);
osc1SemiKnob.setBounds(20 + knobSize + knobSpacing, knobY1, knobSize, knobSize);
@ -855,7 +855,7 @@ void MainContentComponent::resized() {
osc1LevelKnob.setBounds(20 + (knobSize + knobSpacing) * 3, knobY1, knobSize, knobSize);
osc2Label.setBounds(520, sectionY, 620, labelH);
osc2WaveBox.setBounds(530, sectionY + labelH + 4, 200, comboH);
osc2WaveBox.setBounds(530, sectionY + labelH + 4, 200, 36);
int knobY2 = sectionY + labelH + comboH + 8;
osc2OctKnob.setBounds(530, knobY2, knobSize, knobSize);
osc2SemiKnob.setBounds(530 + knobSize + knobSpacing, knobY2, knobSize, knobSize);
@ -864,28 +864,28 @@ void MainContentComponent::resized() {
phaseOffsetKnob.setBounds(530 + (knobSize + knobSpacing) * 4, knobY2, knobSize, knobSize);
filterLabel.setBounds(1152, sectionY, 498, labelH);
filterTypeBox.setBounds(1162, sectionY + labelH + 4, 200, comboH);
filterTypeBox.setBounds(1162, sectionY + labelH + 4, 200, 36);
int knobYF = sectionY + labelH + comboH + 8;
filterCutoffKnob.setBounds(1162, knobYF, knobSize, knobSize);
filterResKnob.setBounds(1162 + knobSize + knobSpacing, knobYF, knobSize, knobSize);
filterEnvAmtKnob.setBounds(1162 + (knobSize + knobSpacing) * 2, knobYF, knobSize, knobSize);
keyTrackKnob.setBounds(1162 + (knobSize + knobSpacing) * 3, knobYF, knobSize, knobSize);
envLabel.setBounds(75, 352, 498, labelH);
envLabel.setBounds(75, 342, 498, labelH);
int knobYA = 352 + labelH + 6;
envAttackKnob.setBounds(85, knobYA, knobSize, knobSize);
envDecayKnob.setBounds(85 + knobSize + knobSpacing, knobYA, knobSize, knobSize);
envSustainKnob.setBounds(85 + (knobSize + knobSpacing) * 2, knobYA, knobSize, knobSize);
envReleaseKnob.setBounds(85 + (knobSize + knobSpacing) * 3, knobYA, knobSize, knobSize);
fEnvLabel.setBounds(585, 352, 498, labelH);
fEnvLabel.setBounds(585, 342, 498, labelH);
int knobYFE = 352 + labelH + 6;
fEnvAttackKnob.setBounds(595, knobYFE, knobSize, knobSize);
fEnvDecayKnob.setBounds(595 + knobSize + knobSpacing, knobYFE, knobSize, knobSize);
fEnvSustainKnob.setBounds(595 + (knobSize + knobSpacing) * 2, knobYFE, knobSize, knobSize);
fEnvReleaseKnob.setBounds(595 + (knobSize + knobSpacing) * 3, knobYFE, knobSize, knobSize);
globalLabel.setBounds(1095, 352, 490, labelH);
globalLabel.setBounds(1095, 342, 490, labelH);
int knobYM = 352 + labelH + 6;
panKnob.setBounds(1105, knobYM, knobSize, knobSize);
driveKnob.setBounds(1105 + knobSize + knobSpacing, knobYM, knobSize, knobSize);