Skip to content

MIDI learn: QSO Record and Playback not registered as learnable parameters #2844

Description

@M8WLO

Summary

The MIDI mapping dialog allows users to select controllable parameters from a dropdown, but QSO Record and QSO Playback are not in that list. registerMidiParams() in MainWindow.cpp registers ~80 parameters covering RX, TX, Phone/CW, EQ, Mode, Band, and Global controls, but has no entries for m_qsoRecorder->startRecording(), stopRecording(), startPlayback() or stopPlayback().

When a user opens the MIDI Mapping dialog, selects "Record" or "Playback" from any context, presses a MIDI button/key to learn it, nothing is dispatched — the ID is not in m_midiSetters, so the action silently no-ops. No binding is saved.

Steps to reproduce

  1. Open AetherSDR → Tools → MIDI Mapping (or equivalent menu path).
  2. Click Learn for a new binding.
  3. Attempt to find "Record" or "Playback" / "QSO Record" / "QSO Play" in the parameter dropdown.
  4. Observe: neither entry exists in the list.
  5. Even if a stale .midi settings file contains a paramId of qso.record or qso.play, loading it silently skips the binding — findParam() returns nullptr and the setter is never registered.

Expected behaviour

A MIDI pad or button should be learnable to toggle QSO recording and QSO playback — the same actions triggered by the ⏺ and ▶ buttons in the VFO widget.

Root cause

MainWindow::registerMidiParams() (src/gui/MainWindow.cpp) never calls reg() for the QSO recorder actions. The fix is to add two P::Toggle registrations that call m_qsoRecorder->startRecording() / stopRecording() and startPlayback() / stopPlayback().

Environment

  • AetherSDR version: 26.5.2.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingexternal devicesFlexControl, MIDI, serial port, USB peripheralsgood first issueGood for newcomersmaintainer-reviewRequires maintainer review before any action is taken

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions