Bug 439751 - Audio balance feature doesn't work
Summary: Audio balance feature doesn't work
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_pulseaudio (show other bugs)
Version: 5.22.2
Platform: openSUSE Linux
: HI normal
Target Milestone: ---
Assignee: David Rosca
URL:
Keywords: regression
: 441102 442335 442687 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-07-11 08:54 UTC by Paolo Zamponi
Modified: 2021-09-20 20:24 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.23


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paolo Zamponi 2021-07-11 08:54:22 UTC
STEPS TO REPRODUCE
1. Go to Systemsettings -> Hardware -> Audio
2. Press "Balance" button
3. Move left slider to the maximum, and the right one to the minimum, or vice-versa.

OBSERVED RESULT
Balance doesn't works.

EXPECTED RESULT
It should works.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20210708
KDE Plasma Version: 5.22.2
KDE Frameworks Version: 5.83.0
Qt Version: 5.15.2
Kernel Version: 5.13.0-1-default (64-bit)
Graphics Platform: X11

ADDITIONAL INFORMATION
If I do the same via "pavucontrol", it works as aspected.
Comment 1 Paolo Zamponi 2021-07-11 12:03:30 UTC
I'm trying on another pc with Plasma 5.21.5 and KDE Frameworks 5.81.0, and it works fine. So I think this is a regression...
Comment 2 David Edmundson 2021-07-11 22:39:29 UTC
Can you confirm if this works with pavucontrol or another pulseaudio controller?
Comment 3 Paolo Zamponi 2021-07-12 07:40:04 UTC
(In reply to David Edmundson from comment #2)
> Can you confirm if this works with pavucontrol or another pulseaudio
> controller?

Yes, it works with pavucontrol. But in the Systemsettings module, moving the two sliders has no effect at all when Balance is toggle on (e.g. I move both to zero, but sound volume is still the same). If I push Balance again and so I have only a slider, moving it has effect on sound, but of course balance can't be adjusted.
Comment 4 Nate Graham 2021-08-03 02:50:36 UTC
Broken for me as well with Pipewire on Fedora 34. Also works for me with Pavucontrol. This used to work in the past with plain old Pulse on openSUSE Tumbleweed IIRC.
Comment 5 Nate Graham 2021-08-18 16:04:55 UTC
*** Bug 441102 has been marked as a duplicate of this bug. ***
Comment 6 Bebra Nukh 2021-09-12 16:08:10 UTC
*** Bug 442335 has been marked as a duplicate of this bug. ***
Comment 7 Bebra Nukh 2021-09-12 19:58:18 UTC
The error is
file:///usr/share/kpackage/kcms/kcm_pulseaudio/contents/ui/DeviceListItem.qml:166: TypeError: Type error (PulseObject.setChannelVolume(index, value);)

its seems like PulseObject has no public functions or members
Comment 8 Nate Graham 2021-09-14 17:42:50 UTC
Can confirm that.
Comment 9 Patrick Silva 2021-09-20 01:39:20 UTC
*** Bug 442687 has been marked as a duplicate of this bug. ***
Comment 10 Bug Janitor Service 2021-09-20 17:44:03 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-pa/-/merge_requests/83
Comment 11 Nicolas Fella 2021-09-20 20:24:05 UTC
Git commit 49e4938559b29b9bf70d68608bbd4b19c489c09d by Nicolas Fella.
Committed on 20/09/2021 at 17:41.
Pushed by ngraham into branch 'master'.

Fix balance setting

The code tries to access the model role 'PulseObject' to set the channel volume. However there is also an (ucreateable) QML type named 'PulseObject' registered which causes a clash.

Qualify the access with a model. to avoid said clash.

M  +4    -2    src/kcm/package/contents/ui/DeviceListItem.qml

https://invent.kde.org/plasma/plasma-pa/commit/49e4938559b29b9bf70d68608bbd4b19c489c09d
Comment 12 Nate Graham 2021-09-20 20:24:36 UTC
Git commit 72c9b1e1a6c330310bc98cc42d5b2f255b1e1982 by Nate Graham, on behalf of Nicolas Fella.
Committed on 20/09/2021 at 20:24.
Pushed by ngraham into branch 'Plasma/5.23'.

Fix balance setting

The code tries to access the model role 'PulseObject' to set the channel volume. However there is also an (ucreateable) QML type named 'PulseObject' registered which causes a clash.

Qualify the access with a model. to avoid said clash.


(cherry picked from commit 49e4938559b29b9bf70d68608bbd4b19c489c09d)

M  +4    -2    src/kcm/package/contents/ui/DeviceListItem.qml

https://invent.kde.org/plasma/plasma-pa/commit/72c9b1e1a6c330310bc98cc42d5b2f255b1e1982