Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions source/PluginEditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,11 +187,12 @@ PluginEditor::PluginEditor (PluginProcessor& p)
spectrumViz.setTooltip ("Spectral overview and per-band gating. Vertical range controls are display-only.");

setSize (Layout::defaultWidth, Layout::defaultHeight);
// UI-M4: 760 x 720 is the minimum at which the current layout (header + top knobs +
// spectrum + per-band controls + relay panel) renders without overlapping or clipping
// interactive controls. Audited 2026-05; UI6-M2 will replace this with a 720x620 min
// once DirektFlexContainer wraps the layout.
setResizeLimits (760, 720, 1600, 1100);
// UI6-M2: relaxed to 720x720 minimum (was 760x720), raised maximum to 1920x1200
// for 4K-friendly hosts. The spectrum block absorbs vertical shortfall in
// resized() instead of clipping; the inline knob rows scale with width via
// removeFromLeft(width/n). True 720x620 needs DirektFlexContainer adoption
// across the strips, which is scoped for v0.6.1.
setResizeLimits (720, 720, 1920, 1200);
pushLatencyToGlobalControls();
pushRoundTripToGlobalControls();
startTimerHz (15);
Expand Down Expand Up @@ -445,7 +446,17 @@ void PluginEditor::resized()
mixSlider.setBounds (topRow.reduced (pad, 6));

area.removeFromTop (Layout::gap);
spectrumViz.setBounds (area.removeFromTop (Layout::spectrumH));

// UI6-M2: spectrum block absorbs vertical shortfall — at the editor minimum,
// the spectrum can shrink to kMinSpectrumH while the band bar + controlTabs
// keep their full size so every control stays usable. Above default height
// it stays at the original value (visualizer does not benefit from extra
// vertical past ~200 px without redesign).
constexpr int kMinSpectrumH = 130;
const int fixedAfterSpectrum = Layout::gap + Layout::bandBarH + Layout::gap + Layout::controlsH;
Comment on lines +450 to +456
const int spectrumAvail = area.getHeight() - fixedAfterSpectrum;
const int spectrumH = juce::jlimit (kMinSpectrumH, Layout::spectrumH, spectrumAvail);
spectrumViz.setBounds (area.removeFromTop (spectrumH));
Comment on lines +455 to +459
area.removeFromTop (Layout::gap);

globalControls.setBounds (area.removeFromTop (Layout::bandBarH));
Expand Down