[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-usability
Subject:    Re: [KDE Usability] Review Request 127485: KCM: Add button to set default devices
From:       Thomas Pfeiffer <colomar () autistici ! org>
Date:       2016-03-31 22:04:06
Message-ID: 20160331220406.12706.96239 () mimi ! kde ! org
[Download RAW message or body]

--===============8484435840087642898==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit



> 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.

Exactly. There is not much use in plugging in an audio output device if one doesn't want to play audio \
through it.


- Thomas


-----------------------------------------------------------
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
> 
> 


--===============8484435840087642898==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit




<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; \
border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/127485/">https://git.reviewboard.kde.org/r/127485/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 24th, 2016, 9:37 p.m. UTC, <b>Kai Uwe Broulik</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">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... :/ )</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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</p></pre>  \
</blockquote>




 <p>On March 24th, 2016, 9:42 p.m. UTC, <b>David Rosca</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 \
1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;"> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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... :/ )</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What \
about: <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: \
0;line-height: inherit;">text: checked ? "Default" : ""</code></p> <blockquote style="text-rendering: \
inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 \
0.5em;line-height: inherit;"> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">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</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Yes, \
in next patch.</p></pre>  </blockquote>





 <p>On March 24th, 2016, 9:50 p.m. UTC, <b>Kai Uwe Broulik</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">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.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">Oh, and, the "mute" button doesn't have a \
tooltip. Sorry for abusing your RB as bugtracker :)</p></pre>  </blockquote>





 <p>On March 31st, 2016, 8:53 p.m. UTC, <b>Xuetian Weng</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Just to throw some random idea, maybe also make the "Default" or device \
name text bold?</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Also hope this change doesn't do anything werid if current default device \
becomes unplugged.</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">And how does this cooperate with current phonon kcm? It has a priority \
list to decide which device to use first.</p></pre>  </blockquote>





 <p>On March 31st, 2016, 9:06 p.m. UTC, <b>Kai Uwe Broulik</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 \
1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;"> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And how \
does this cooperate with current phonon kcm?</p> </blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>  </blockquote>





 <p>On March 31st, 2016, 9:40 p.m. UTC, <b>Xuetian Weng</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">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).</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">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.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">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).</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">I don't think people commonly want have sound on more than \
one devices at the same time though.</p></pre>  </blockquote>





 <p>On March 31st, 2016, 9:50 p.m. UTC, <b>Kai Uwe Broulik</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">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.</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>  </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: \
-o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Exactly. There is not much use in plugging in an audio output device if \
one doesn't want to play audio through it.</p></pre> <br />










<p>- Thomas</p>


<br />
<p>On March 24th, 2016, 9:52 p.m. UTC, David Rosca wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; \
border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">  <tr>
  <td>

<div>Review request for Plasma and KDE Usability.</div>
<div>By David Rosca.</div>


<p style="color: grey;"><i>Updated March 24, 2016, 9:52 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-pa
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid \
#b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">It is now possible to set default input and \
output devices. UI is exactly the same as pavucontrol - checkable button next to mute button.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">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 ...</p></pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>src/CMakeLists.txt <span style="color: grey">(b3e1855)</span></li>

 <li>src/context.h <span style="color: grey">(8a3a821)</span></li>

 <li>src/context.cpp <span style="color: grey">(115c8a7)</span></li>

 <li>src/device.h <span style="color: grey">(5867fb2)</span></li>

 <li>src/kcm/package/contents/ui/DefaultDeviceButton.qml <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>src/kcm/package/contents/ui/DeviceListItem.qml <span style="color: grey">(979c693)</span></li>

 <li>src/kcm/package/contents/ui/MuteButton.qml <span style="color: grey">(693ab2d)</span></li>

 <li>src/server.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/server.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/sink.h <span style="color: grey">(7db716b)</span></li>

 <li>src/sink.cpp <span style="color: grey">(d412b7b)</span></li>

 <li>src/source.h <span style="color: grey">(325cde9)</span></li>

 <li>src/source.cpp <span style="color: grey">(fa9f0a0)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/127485/diff/" style="margin-left: 3em;">View Diff</a></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/03/24/6d5d5bb5-3619-470c-b6d6-e7693d888c9b__kcm-default-device.png">kcm-default-device.png</a></li>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/03/24/23f3638a-aa27-4f46-aa6a-989c8d313a6a__Screenshot_20160324_220624.png">kcm-default-device.png</a></li>


</ul>




  </td>
 </tr>
</table>







  </div>
 </body>
</html>


--===============8484435840087642898==--


[Attachment #3 (text/plain)]

_______________________________________________
kde-usability mailing list
kde-usability@kde.org
https://mail.kde.org/mailman/listinfo/kde-usability


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic