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

List:       kde-panel-devel
Subject:    Re: 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)]

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


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

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