Skip to content

Aetherial Noise Reduction: docked applet + DSP surface consolidation#2297

Merged
ten9876 merged 1 commit intomainfrom
auto/Spectrum-overlay-menu-remove-DSP-sub-panel
May 3, 2026
Merged

Aetherial Noise Reduction: docked applet + DSP surface consolidation#2297
ten9876 merged 1 commit intomainfrom
auto/Spectrum-overlay-menu-remove-DSP-sub-panel

Conversation

@ten9876
Copy link
Copy Markdown
Owner

@ten9876 ten9876 commented May 2, 2026

Summary

Consolidates client-side DSP from three surfaces (VFO DSP grid,
spectrum overlay sub-panel, AetherDSP dialog) down to one: a new
docked Aetherial Noise Reduction applet on the PooDoo RX side,
which the Settings-menu dialog also embeds via shared
`AetherDspWidget`. Radio-side DSP now lives only on `VfoWidget`.

Changes

  • New `AetherDspWidget` — extracts the dialog body into a
    reusable widget with compact-mode support; both `AetherDspDialog`
    and the new `ClientRxDspApplet` embed it. Single source of truth
    for AppSettings persistence.
  • New `ClientRxDspApplet` — 250 px-wide docked tile with
    exclusive DSP selector (NR2 / NR4 / MNR / DFNR / RN2 / BNR) +
    per-DSP control pages in a stacked widget. Single-click on the RX
    chain DSP tile bypasses; double-click opens the full editor.
  • VFO DSP grid — drops the six client-side buttons; gains a
    shared DSP-level slider with a push/pop activation stack so the
    slider tracks the most-recently-enabled radio DSP and hides
    cleanly when no slider-bearing DSP is active.
  • Spectrum overlay menu — DSP sub-panel removed entirely.
    Drops 11 toggle/right-click signals, six button accessors, the
    15-row `DspRow` grid, and the build/sync/toggle triplet.
  • TX chain applets — visibility now decoupled from bypass
    state; bypassed applets dim instead of disappearing (matches
    Aetherial TX EQ).
  • NR2 enable path — wisdom generation now runs through
    `MainWindow::enableNr2WithWisdom()` for both the applet and the
    RX chain widget, fixing the NR4→NR2 transition crash caused by
    FFTW wisdom version mismatch (Avoid NR2 wisdom generation on audio thread #2275).
  • NR4 polish — MMSE label, info paragraph at 12 px across all
    panels, undo/reset icon repositioning, padding fixes.
  • Platform guards — MNR dimmed/disabled on non-macOS, BNR
    guarded by `HAVE_BNR`.

Test plan

  • Launch app — initial visibility shows only enabled chain
    applets, no double-display of TX+RX
  • RX chain: single-click `[DSP]` tile bypasses; click again
    re-enables the last-selected DSP
  • RX chain: double-click `[DSP]` opens the full
    `AetherDspDialog`
  • Aetherial Noise Reduction applet: exclusive selector
    switches the engine DSP and the visible parameter page
  • VFO DSP grid: shared level slider appears for slider-bearing
    DSPs, hides when last one disabled, falls back to next active
    DSP if multiple are enabled
  • Spectrum overlay menu opens cleanly with no DSP entry
  • NR4 → NR2 transition does not crash (PR Avoid NR2 wisdom generation on audio thread #2275 wisdom path)
  • Opus / SmartLink active → NR2 button disabled in applet
  • Settings → AetherDSP dialog still works (shares widget with
    applet)

🤖 Generated with Claude Code

- Aetherial Audio: decouple TX applet visibility from bypass + dim on bypass
- Aetherial Noise Reduction: docked RX-side DSP applet + chain DSP toggle
- Aetherial Noise Reduction: NR4 polish, platform guards, wisdom-aware NR2 enable
- VFO DSP grid: drop client-side buttons, add shared level slider
- Spectrum overlay menu: remove DSP sub-panel
@ten9876 ten9876 requested a review from jensenpat as a code owner May 2, 2026 23:24
@ten9876 ten9876 enabled auto-merge (squash) May 2, 2026 23:24
@ten9876 ten9876 changed the title Spectrum overlay menu: remove DSP sub-panel Aetherial Noise Reduction: docked applet + DSP surface consolidation May 2, 2026
@ten9876 ten9876 merged commit 0e5110b into main May 3, 2026
5 checks passed
@ten9876 ten9876 deleted the auto/Spectrum-overlay-menu-remove-DSP-sub-panel branch May 3, 2026 00:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant