Skip to content

Releases: Goldwaterfung/Stratawright

Release list

v1.0.1

Choose a tag to compare

@Goldwaterfung Goldwaterfung released this 10 Oct 17:55

Release Notes — UI Overhaul (src/Presentation/views/ + Bridge Read-Back Fix)

Design System

  • DESIGN.md re-themed to the DAW palette. Dropped the borrowed rose-pink/indigo light theme; all tokens now map to presentation::theme::Color: surfaces #161616 / #222222 / #323232 / #3A4454, primary #A78BFA (hover #C4B5FD), audio #3B82F6, MIDI #A855F7, record #FF3B30, mute amber #D4A84B, solo jade #2DA87E, text #E8E8E8 / #9DB2BF / #888888. Card, modal, button, input, and toolbar patterns rewritten as dark-theme versions with Qt equivalents noted per pattern.

Central Stylesheet (theme.cpp)

  • Radius scale aligned to the system: panels/dialogs/menus 12px, buttons/inputs/lists 8px, chips 4px (was 6px everywhere).
  • Inputs and combos gained visible borders + violet focus rings (previously borderless, focus only swapped background).
  • Splitter handles go transparent → violet on hover; menus, list items, header underlines, and disabled states retokenized.

Borderless Pass

  • Stripped all decorative 1px box outlines across theme.cpp and every module — panels, buttons, toggles, inputs, lists, group boxes, dialog frames. State now reads via fill tint + text color only (checked = #222222 + violet text, play/record = tinted fills).
  • Kept: focus rings (visible only while editing), checkbox boxes, transient editor outlines, the hidden danger retry button, and thin structural divider lines.

Shell & Top Bar

  • MainWindow: content spacing/gaps 0 → 8px, toolbar 48 → 56px, splitter/divider #526D82 → #323232 with violet hover.
  • Transport / workspace / input groups: radii 4 → 8px, hover #444444 → #3A4454, menus 12px/6px.
  • Fixed top-bar clipping bug: padding was applied at both bar and group level (buttons needed 68px in a 56px bar). Padding now lives at one level only; PianoRoll toolbar 44 → 48px, browser nav 44 → 48px, picker tabs 36 → 44px, each derived as buttons + padding.

Mixer Controls Redesign

  • Rotary dial: needle line → 2.5px TextPrimary dot inside the face (65% radius) with drag-reactive glow; sweep is now a 48-segment violet → teal (AccentGlow → SendPreFader) gradient, 2px idle / 3px dragging; flat BgControl face, no outline ring.
  • Cyber fader: cap redesigned tall-slim (32×18 → 24×34, 4px radius), travel margin 15 → 20 so it never clips; groove borderless; unity tick now SafetyAmber #FFB300; active line/glow intensify while dragging.
  • Telemetry meter: slots borderless rounded recesses, LED radius 2px, zone gradient and hold mechanics untouched; stale color comments corrected.
  • Supporting change: BaseTactileControl repaints on press/release so drag-state visuals update.

Bug Fix: Mixer Knobs Snapped Back on Release

  • Root cause: the 60Hz loop read knob position from live DSP telemetry (currentGain/currentPan), which only advances while the audio engine processes blocks — frozen otherwise. The isDragging guard masked it mid-drag; release exposed the fossil values.
  • Fix (track_ui_state_builder.cpp): getDynamicState reads targetGain/targetPan setpoints (written synchronously on the UI thread, always fresh — including automation playback, which also stores targets). Meters keep the live atomics: knobs show intent, meters show reality.

Verification

  • layer7_views, middle_bridge, and the full stratawright app all built clean. Note: the build/release tree has since been removed from the workspace, so the last few paint-literal edits (dot position/size, meter) are unlinked — zero signature risk, but worth a rebuild on your side to confirm.

v1.0.0

Choose a tag to compare

@Goldwaterfung Goldwaterfung released this 01 Aug 15:14