Make all dropdown menus consistent height and aligned with knobs

This commit is contained in:
Armin 2026-07-15 23:52:21 +02:00
commit 38beb8d53a

View file

@ -964,7 +964,7 @@ void MainContentComponent::resized() {
auto comboH = 48; auto comboH = 48;
osc1Label.setBounds(10, sectionY, 498, labelH); osc1Label.setBounds(10, sectionY, 498, labelH);
osc1WaveBox.setBounds(20, sectionY + labelH + 4, 200, 36); osc1WaveBox.setBounds(20, sectionY + labelH + 4, 200, 28);
int knobY1 = sectionY + labelH + comboH + 8; int knobY1 = sectionY + labelH + comboH + 8;
osc1OctKnob.setBounds(20, knobY1, knobSize, knobSize); osc1OctKnob.setBounds(20, knobY1, knobSize, knobSize);
osc1SemiKnob.setBounds(20 + knobSize + knobSpacing, knobY1, knobSize, knobSize); osc1SemiKnob.setBounds(20 + knobSize + knobSpacing, knobY1, knobSize, knobSize);
@ -972,7 +972,7 @@ void MainContentComponent::resized() {
osc1LevelKnob.setBounds(20 + (knobSize + knobSpacing) * 3, knobY1, knobSize, knobSize); osc1LevelKnob.setBounds(20 + (knobSize + knobSpacing) * 3, knobY1, knobSize, knobSize);
osc2Label.setBounds(518, sectionY, 624, labelH); osc2Label.setBounds(518, sectionY, 624, labelH);
osc2WaveBox.setBounds(528, sectionY + labelH + 4, 200, 36); osc2WaveBox.setBounds(528, sectionY + labelH + 4, 200, 28);
int knobY2 = sectionY + labelH + comboH + 8; int knobY2 = sectionY + labelH + comboH + 8;
osc2OctKnob.setBounds(528, knobY2, knobSize, knobSize); osc2OctKnob.setBounds(528, knobY2, knobSize, knobSize);
osc2SemiKnob.setBounds(528 + knobSize + knobSpacing, knobY2, knobSize, knobSize); osc2SemiKnob.setBounds(528 + knobSize + knobSpacing, knobY2, knobSize, knobSize);
@ -1081,15 +1081,15 @@ void MainContentComponent::resized() {
// LFO 1 sub-section (X=15, Y=642, W=530, H=110) // LFO 1 sub-section (X=15, Y=642, W=530, H=110)
lfo1RateKnob.setBounds(22, lfoKnobY, lfoKnobSize, lfoKnobSize); lfo1RateKnob.setBounds(22, lfoKnobY, lfoKnobSize, lfoKnobSize);
lfo1DepthKnob.setBounds(132, lfoKnobY, lfoKnobSize, lfoKnobSize); lfo1DepthKnob.setBounds(132, lfoKnobY, lfoKnobSize, lfoKnobSize);
lfo1ShapeBox.setBounds(242, lfoKnobY + 2, 130, 36); lfo1ShapeBox.setBounds(242, lfoKnobY + (lfoKnobSize - 28) / 2, 130, 28);
lfo1DestBox.setBounds(382, lfoKnobY + 2, 155, 36); lfo1DestBox.setBounds(382, lfoKnobY + (lfoKnobSize - 28) / 2, 155, 28);
lfo1SyncBox.setBounds(22, lfoKnobY + lfoKnobSize + 6, 200, 28); lfo1SyncBox.setBounds(22, lfoKnobY + lfoKnobSize + 6, 200, 28);
// LFO 2 sub-section (X=560, Y=642, W=530, H=110) // LFO 2 sub-section (X=560, Y=642, W=530, H=110)
lfo2RateKnob.setBounds(568, lfoKnobY, lfoKnobSize, lfoKnobSize); lfo2RateKnob.setBounds(568, lfoKnobY, lfoKnobSize, lfoKnobSize);
lfo2DepthKnob.setBounds(678, lfoKnobY, lfoKnobSize, lfoKnobSize); lfo2DepthKnob.setBounds(678, lfoKnobY, lfoKnobSize, lfoKnobSize);
lfo2ShapeBox.setBounds(788, lfoKnobY + 2, 130, 36); lfo2ShapeBox.setBounds(788, lfoKnobY + (lfoKnobSize - 28) / 2, 130, 28);
lfo2DestBox.setBounds(928, lfoKnobY + 2, 155, 36); lfo2DestBox.setBounds(928, lfoKnobY + (lfoKnobSize - 28) / 2, 155, 28);
lfo2SyncBox.setBounds(568, lfoKnobY + lfoKnobSize + 6, 200, 28); lfo2SyncBox.setBounds(568, lfoKnobY + lfoKnobSize + 6, 200, 28);
// --- FX2 SECTION --- // --- FX2 SECTION ---
@ -1103,9 +1103,13 @@ void MainContentComponent::resized() {
delaySyncBox.setBounds(1110, fx2KnobY + lfoKnobSize + 6, 240, 28); delaySyncBox.setBounds(1110, fx2KnobY + lfoKnobSize + 6, 240, 28);
// Reverb sub-section (X=1375, Y=690, W=265, H=130) // Reverb sub-section (X=1375, Y=690, W=265, H=130)
reverbSizeKnob.setBounds(1383, fx2KnobY, lfoKnobSize, lfoKnobSize); {
reverbDampKnob.setBounds(1468, fx2KnobY, lfoKnobSize, lfoKnobSize); int rowW = 3 * lfoKnobSize + 2 * 8;
reverbMixKnob.setBounds(1553, fx2KnobY, lfoKnobSize, lfoKnobSize); int rx = 1650 - rowW;
reverbSizeKnob.setBounds(rx, fx2KnobY, lfoKnobSize, lfoKnobSize);
reverbDampKnob.setBounds(rx + (lfoKnobSize + 8), fx2KnobY, lfoKnobSize, lfoKnobSize);
reverbMixKnob.setBounds(rx + (lfoKnobSize + 8) * 2, fx2KnobY, lfoKnobSize, lfoKnobSize);
}
// --- PRESET + SCALE (vertically centered within top section, y: 0..128) --- // --- PRESET + SCALE (vertically centered within top section, y: 0..128) ---
int headerH = 128; int headerH = 128;
@ -1117,11 +1121,12 @@ void MainContentComponent::resized() {
int rowH = 28; int rowH = 28;
int rowY = (headerH - rowH) / 2; int rowY = (headerH - rowH) / 2;
patchLCD.setBounds(118, rowY, 360, rowH); int lcdX = 150; // gap between the preset/random buttons and the patch LCD
prevPresetButton.setBounds(486, rowY, 28, rowH); patchLCD.setBounds(lcdX, rowY, 360, rowH);
nextPresetButton.setBounds(518, rowY, 28, rowH); prevPresetButton.setBounds(lcdX + 360 + 8, rowY, 28, rowH);
nextPresetButton.setBounds(lcdX + 360 + 8 + 32, rowY, 28, rowH);
int comboH2 = 24, labelH2 = 20; int comboH2 = 28, labelH2 = 20;
int comboY2 = (headerH - comboH2) / 2; int comboY2 = (headerH - comboH2) / 2;
int labelY2 = (headerH - labelH2) / 2; int labelY2 = (headerH - labelH2) / 2;
octaveTransposeLabel.setBounds(1112, labelY2, 30, labelH2); octaveTransposeLabel.setBounds(1112, labelY2, 30, labelH2);