[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