Review Request 127485: KCM: Add button to set default devices
David Rosca
nowrep at gmail.com
Fri Apr 1 07:02:59 UTC 2016
> On March 24, 2016, 9:37 p.m., Kai Uwe Broulik wrote:
> > I like the RadioButton but it should say "Default" or "Default Device" (if we could depend on Qt 5.7 we could also add a tooltip explaining what that means... :/ )
> >
> > Can you perhaps also have a look at the OSD/volume keys to affect the default device? At the moment it's kinda random what device it actually shows and manipulates all of them simultaneously etc
>
> David Rosca wrote:
> > I like the RadioButton but it should say "Default" or "Default Device" (if we could depend on Qt 5.7 we could also add a tooltip explaining what that means... :/ )
>
> What about:
> `text: checked ? "Default" : ""`
>
> > Can you perhaps also have a look at the OSD/volume keys to affect the default device? At the moment it's kinda random what device it actually shows and manipulates all of them simultaneously etc
>
> Yes, in next patch.
>
> Kai Uwe Broulik wrote:
> Yeah, that'll work. This won't clutter the UI but still make it obvious what the radio is, granted that there's always a default device.
>
> Oh, and, the "mute" button doesn't have a tooltip. Sorry for abusing your RB as bugtracker :)
>
> Xuetian Weng wrote:
> Just to throw some random idea, maybe also make the "Default" or device name text bold?
>
> Also hope this change doesn't do anything werid if current default device becomes unplugged.
>
> And how does this cooperate with current phonon kcm? It has a priority list to decide which device to use first.
>
> Kai Uwe Broulik wrote:
> > And how does this cooperate with current phonon kcm?
>
> I always thought this thing was basically dead and useless but apparently it actually determins the priority of devices and causes my headset to become the new default when I plug it in. Of course only if I manually configured that for every newly discovered device, not really smart. I wonder if Pulse can just entirely take its job? I'm not an expert in that area, though. Or perhaps it's already configuring Pulseaudio which makes it even more redundant and inconsistent to have - the "hardware" tab at least also changes the settings I see in Plasma PA.
>
> Xuetian Weng wrote:
> It works for all application (non-Qt/non-phonon) and it talks to Pulseaudio directly. And I love the idea that it can remember the unplugged device. FYI phonon itself wraps around libpulse and the final call to libpulse is pa_ext_device_manager_reorder_devices_for_role and that's why start-pulseaudio-kde exists (now it's merged to start-pulseaudio-x11 by checking env var).
>
> I don't have new devices comes in regularly, so for now I think the current configuration burden is fine to me. Though I did hope it would hope it can be cleverer if a new headset comes in, it automatically put it on the top of the list by default.
>
> And as you can see, it is NOT UNCOMMON for people to have more than 3 devices (HDMI, built-in, and a bluetooth headset, maybe even a bluetooth speaker). It's not possible to deterministically decide which device is default if there's only a single default device in the config when multiple devices are available. Priority list is not perfect, but it's a possible and easy for user to understand solution to problem.
>
> We need to have a UI to replace kcm-phonon's feature here. It does not need to employ same implementation, but IMHO need to solve the problem (choose default device correctly).
>
> I don't think people commonly want have sound on more than one devices at the same time though.
>
> Kai Uwe Broulik wrote:
> You're right, a priority list is needed. However, following the simple by default powerful as needed it should assume when a new device appears the user probably wants to playback on that device now, unless he has configured some insanity setup earlier.
>
> Having to go through a complicated KCM when plugging in (for the first time but still) a headset or HDMI cable, which being listed even when nothing connected is beyond me, is a big no-go.
>
> Thomas Pfeiffer wrote:
> Exactly. There is not much use in plugging in an audio output device if one doesn't want to play audio through it.
It doesn't affect kcm phonon as this just sets default sink/source in PulseAudio which is used as fallback device (I plan to also make global volume control shortcuts only to affect the default device).
I don't think we should really mess with the streams when user plugs in new device, because there are various issues with it and user might not even want it. One issue is that PulseAudio (by default?) remembers the device on which a stream is. So let's say that user plugs headphones, we switch all streams and set the default device to the headphones. User then starts video player and PulseAudio picks the internal sound card (it restores the device for stream).
We can try to do the same as kcm phonon (pa_ext_device_manager_reorder_devices_for_role), but probably only moving the new device up on plugging should be enough. For me, kcm phonon never really worked reliably though (I assume the stream restore was to blame).
- David
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127485/#review93950
-----------------------------------------------------------
On March 24, 2016, 9:52 p.m., David Rosca wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127485/
> -----------------------------------------------------------
>
> (Updated March 24, 2016, 9:52 p.m.)
>
>
> Review request for Plasma and KDE Usability.
>
>
> Repository: plasma-pa
>
>
> Description
> -------
>
> It is now possible to set default input and output devices.
> UI is exactly the same as pavucontrol - checkable button next to mute button.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b3e1855
> src/context.h 8a3a821
> src/context.cpp 115c8a7
> src/device.h 5867fb2
> src/kcm/package/contents/ui/DefaultDeviceButton.qml PRE-CREATION
> src/kcm/package/contents/ui/DeviceListItem.qml 979c693
> src/kcm/package/contents/ui/MuteButton.qml 693ab2d
> src/server.h PRE-CREATION
> src/server.cpp PRE-CREATION
> src/sink.h 7db716b
> src/sink.cpp d412b7b
> src/source.h 325cde9
> src/source.cpp fa9f0a0
>
> Diff: https://git.reviewboard.kde.org/r/127485/diff/
>
>
> Testing
> -------
>
> Works same as pavucontrol. pavucontrol uses "emblem-default" as icon, but this icon is not in Breeze so I used "checkmark". Unfortunately it isn't entirely clear what the button is doing from the icon ...
>
>
> File Attachments
> ----------------
>
> kcm-default-device.png
> https://git.reviewboard.kde.org/media/uploaded/files/2016/03/24/6d5d5bb5-3619-470c-b6d6-e7693d888c9b__kcm-default-device.png
> kcm-default-device.png
> https://git.reviewboard.kde.org/media/uploaded/files/2016/03/24/23f3638a-aa27-4f46-aa6a-989c8d313a6a__Screenshot_20160324_220624.png
>
>
> Thanks,
>
> David Rosca
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160401/4adc8f6d/attachment-0001.html>
More information about the Plasma-devel
mailing list