Merge PulseAudio and Phonon KCM
Open, Needs TriagePublic

Description

We have a Audio Volume (from plasma-pa) and a Audio and Video (from plasma-desktop/phonon) KCM with overlapping purpose. Those should be merged somehow.

The plasma-pa UI is more modern. It's QML based whereas the Phonon KCM is still using QWidgets.

The Audio Hardware Setup tab from Phonon KCM is duplicate to the plasma-pa KCM. Only the Speaker Testing section is unique. That should be moved to plasma-pa.
The other two tabs (Device preference and Backend selection) are Phonon-specific. I'm unsure if they are widely used and worth keeping.

Any comments/suggestions?

abetts added a subscriber: abetts.Jun 27 2018, 9:42 PM

I think that makes sense. +1

ngraham added a subscriber: ngraham.EditedJun 27 2018, 9:53 PM

Strongly agree. Technically, this would solve a lot of problems, including allowing us to finally implement "Automatically switch all running streams when a new output becomes available" by default. See https://mail.kde.org/pipermail/plasma-devel/2018-March/083156.html (and the rest of the thread, for context).

Do you guys need a UI mockup for this?

Do you guys need a UI mockup for this?

For the Speaker Placement and Testing part I would have kept the current 3x3 grid and just append it to the Advanced tab in plasma-pa. No need for a mockup here, unless you have a better idea :)

My main question is: Can/should we drop the Device Preference and Backend Selection entirely?

Here's my proposal:

  1. Move the Speaker Testing to plasma-pa and drop the Audio Hardware Setup tab from Phonon
  2. Drop the Backend tab from Phonon. I think most users just use the preferred backend from their distros and don't fiddle with this often
  3. Create a new combined UI in plasma-pa for configuring switch-on-connect and module-device-manager This means porting the Device Preference tab from phonon to QtQuick and giving it a visual overhaul. @abetts here we could use some mockups :) The result should reflect that those two possibilities are de-facto mutually exclusive
  1. Create a new combined UI in plasma-pa for configuring switch-on-connect and module-device-manager This means porting the Device Preference tab from phonon to QtQuick and giving it a visual overhaul. @abetts here we could use some mockups :) The result should reflect that those two possibilities are de-facto mutually exclusive

I can do that. I will just think of merging these two KCMs into one. You can then tell me if it works, or what needs to be changed.

Please let me know if this is what is meant by the ticket.

Strongly agree. Technically, this would solve a lot of problems, including allowing us to finally implement "Automatically switch all running streams when a new output becomes available" by default. See https://mail.kde.org/pipermail/plasma-devel/2018-March/083156.html (and the rest of the thread, for context).

For this, pulseaudio needs to drop loading module-device-manager by default (see /usr/bin/start-pulseaudio-x11).

Strongly agree. Technically, this would solve a lot of problems, including allowing us to finally implement "Automatically switch all running streams when a new output becomes available" by default. See https://mail.kde.org/pipermail/plasma-devel/2018-March/083156.html (and the rest of the thread, for context).

For this, pulseaudio needs to drop loading module-device-manager by default (see /usr/bin/start-pulseaudio-x11).

Right, which is tracked with https://bugs.freedesktop.org/show_bug.cgi?id=95104

IMO we need a common settings page for switch-on-connect and module-device-manager that indicates that those are mutually exclusive. Which one should be the default and how to achieve that is orthogonal to it.
A technical question for @drosca or @sitter: Does the Phonon/module-device-manager settings contain anything specific to Phonon or is it just about PulseAudio?

Fuchs added a subscriber: Fuchs.EditedJul 14 2018, 5:07 PM

What happens to supported systems that do not have pulse audio?
The *BSDs we do support come to mind.
Also Linux distributions that do not use PA or offer to not use PA.

On these systems we would remove the possibility to configure Audio as they are not going to use PA.

In T9091#151167, @Fuchs wrote:

What happens to supported systems that do not have pulse audio?
The *BSDs we do support come to mind.
Also Linux distributions that do not use PA or offer to not use PA.

On these systems we would remove the possibility to configure Audio as they are not going to use PA.

The Audio Hardware Setup tab in the Phonon KCM actually depends on PulseAudio, removing that changes nothing for non-PA users. I don't know if the Device Preference tab is useful without PA. I'm looking for an answer from @sitter here.

Fuchs added a comment.Jul 14 2018, 5:21 PM

Ah, great, so it would not be any regression for non-PA users, thanks for the info

! In T9091#151169, @nicolasfella wrote:
I don't know if the Device Preference tab is useful without PA. I'm looking for an answer from @sitter here.

From what I remember, it is useful even without PA. @adridg, @rakuco, @tcberner , you may help here.

  • There is PA FreeBSD -- but many prefer to not use it.
  • The Phonon Audio Video config dialog in systemsettings is "useful" in that it let's you test the sound output and check the installed backends.

But is the Device Preference tab (apart from the Test button) useful without PA on FreeBSD?

I would say not really.

bruns added a subscriber: bruns.Sep 7 2018, 9:35 PM

Any update on this, @nicolasfella?

A first step is done (removal of the Device Setup tab in Phonon).

To proceed I would need some technical questions answered, but I got too much on my plate right now so it has low priority

Cool, thanks for the status update. And if you ask your questions here, maybe whoever's in the know can have a shot at can answering them.

@nicolasfella what were the questions you had?