Skip to content

UI: Slice balance slider 'L' and 'R' labels/buttons are non-functional #1603

Description

@rnash2

Report preparation

  • I used the AI-assisted bug report tool (Help → Support → File an Issue)
  • I have attached a support bundle or log file

What happened?

What happened?
In the Slice control panel, the "L" and "R" labels (or buttons) located at the edges of the audio balance slider do not respond to mouse clicks. In the official SmartSDR (SSDR) for Windows client, these elements act as shortcuts for rapid balance shifting:

Clicking L when balance is centered (50) moves it to 100% Left.

Clicking L when balance is at 100% Right moves it back to the center (50).

The inverse behavior occurs when clicking R.

In AetherSDR 0.8.15, these elements appear to be static labels or do not have the necessary signal/slot connections to update the underlying Slice balance state. This prevents the "fast adjustment" workflow used by operators (especially during split operation) to quickly isolate a DX station and a calling frequency in separate ears.

What did you expect?
Clicking the "L" or "R" indicators should toggle the balance slider between the center point and the respective extreme, matching the ergonomics and behavior of the FlexRadio SmartSDR ecosystem.

Steps to reproduce
Connect to a FLEX-6600 transceiver.

Open a Slice and locate the audio balance slider.

Ensure the balance is set to the midpoint (Center).

Click the L label/icon at the left edge of the slider. Observe that the slider does not move.

Manually move the slider to the far right.

Click the L label/icon again. Observe that the slider does not return to the midpoint.

Radio model & firmware
Model: FLEX-6600

Firmware: 4.1.5.39794

OS & version
OS: Windows

AetherSDR Version: 0.8.15

Qt Version: 6.7.3

Developer Notes
Potential Root Cause:
The UI component for the Slice balance likely uses a standard QSlider flanked by QLabel objects. The labels are likely not capturing mouse events or are not connected to a logic handler that modifies the Slice object's balance property.

Involved Files & Functions:

src/ui/SliceControl.cpp / src/ui/SliceControl.ui: This is likely where the slice control layout is defined. Look for the balanceSlider and its associated QLabel widgets (possibly named labelBalanceL or similar).

src/vrt/Slice.cpp: Check the set_balance(int value) setter to ensure it correctly emits the required Vita-49/FlexAPI command slice set balance=.

src/ui/widgets/ClickableLabel.cpp (if exists): If the project uses custom labels for buttons, the L/R labels may need to be promoted to a clickable class to handle the mousePressEvent.

Proposed Logic:
In the click handler for the L/R buttons:

C++
// Logic for 'L' click:
if (currentBalance > 0) {
newBalance = (currentBalance == 100) ? 50 : 0;
}
// Logic for 'R' click:
if (currentBalance < 100) {
newBalance = (currentBalance == 0) ? 50 : 100;
}

What did you expect?

No response

Steps to reproduce

No response

Radio model & firmware

No response

Linux distro & Qt version

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    aetherclaude-eligibleIssue approved for AetherClaude automated agentbugSomething isn't working

    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