<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    <div class="moz-forward-container"><br>
      <br>
      -------- Forwarded Message --------
      <table class="moz-email-headers-table" border="0" cellspacing="0"
        cellpadding="0">
        <tbody>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">Subject:
            </th>
            <td>Re: [MPRIS] [RFC] CanControlvolume property</td>
          </tr>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">Date: </th>
            <td>Tue, 6 Mar 2018 :05:02 +0100</td>
          </tr>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">From: </th>
            <td>Nicolas Fella <a class="moz-txt-link-rfc2396E" href="mailto:nicolas.fella@gmx.de"><nicolas.fella@gmx.de></a></td>
          </tr>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">To: </th>
            <td>Mirsal <a class="moz-txt-link-rfc2396E" href="mailto:mirsal@mirsal.fr"><mirsal@mirsal.fr></a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div class="moz-cite-prefix">Hi,<br>
        <br>
        On 06.03.2018 11:14, Mirsal wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:b3c4c733-acf7-5008-66ea-54e58f52487c@mirsal.fr">
        <pre wrap="">Hi Nicolas,

Nicolas Fella:
</pre>
        <blockquote type="cite">
          <pre wrap="">during my work on KDE Connect [1] I came across multiple players that do
not support setting the volume (e.g. Spotify) or do not have a concept
of volume at all (e.g. Gwenview [2] which is being patched with MPRIS
support [3]). As far as I understand there is no way for the player to
signal that controlling the volume is unsupported.
</pre>
        </blockquote>
        <pre wrap="">Well, actually there is a way, though the wording of the spec is
lacking. Players should not expose the Volume property as read/write if
getting or setting the volume is not supported. That way, clients can
use dbus introspection to find out what is supported.
</pre>
      </blockquote>
      Then the wording of the spec should include that.
      <blockquote type="cite"
        cite="mid:b3c4c733-acf7-5008-66ea-54e58f52487c@mirsal.fr">
        <blockquote type="cite">
          <pre wrap="">A canControlVolume
property together with a canControlVolumeChanged signal would enable UIs
to gracefully handle players that do not support it by disabling volume
sliders when appropriate.
</pre>
        </blockquote>
        <pre wrap="">As much as I dislike the CanControl property, I understand that having
more granularity and runtime capabilities change signalling would be a
clear win. Do you think that signalling runtime changes of volume
getting/setting capabilities is absolutely required?</pre>
      </blockquote>
      Not absolutely required, but there is at least one case where it
      would be useful. Gwenview is an image viewer that can expose
      slideshows to MPRIS. A image has no sound at all, so it would make
      sense to disable volume control here. Gwenview is also able to
      play videos, so if there is a video in the slideshow it would make
      perfect sense to enable the volume control here. This sure is an
      edge case, but given that MPRIS is worded with 'media', not
      'music' in mind, it could also be applied to e.g. PowerPoint/LO
      Impress presentations, which would face the same problem.
      <blockquote type="cite"
        cite="mid:b3c4c733-acf7-5008-66ea-54e58f52487c@mirsal.fr">
        <blockquote type="cite">
          <pre wrap="">This would lead to better user experience
because otherwise the controller or player appears broken.
</pre>
        </blockquote>
        <pre wrap="">Yes, though let's try and fix it using dbus introspection first. If it
is not manageable, then we would need to change the spec.

Cheers,

</pre>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
MPRIS mailing list
<a class="moz-txt-link-abbreviated" href="mailto:MPRIS@lists.freedesktop.org" moz-do-not-send="true">MPRIS@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/mpris" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/mpris</a>
</pre>
      </blockquote>
      BR <br>
      <br>
      Nicolas<br>
    </div>
  </body>
</html>