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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 19th, 2012, 10:24 p.m., <b>Michael Pyne</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;">Thanks, oddly enough Eike Hein also recently contributed some code to support MPRIS2 since Konversation will soon only support that. See http://quickgit.kde.org/index.php?p=clones%2Fjuk%2Fmpyne%2Fjuk-MPRIS.git&a=summary I didn't have a good tester for it though, and it sounds as if you've implemented more of the interfaces (so far we only have the Player interface).</pre>
 </blockquote>




 <p>On April 19th, 2012, 11:38 p.m., <b>Eike Hein</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;">Michael is being a bit generous there, what I've actually done is implement MPRIS2 for Dragon, and he's doing the job of porting my Dragon code over to JuK right now.

Check out git@git.kde.org:hein/scratch/dragon for that code (I'm about to update it to reflect MPRIS 2.2).

I have a hunch that your next task would be to work on Dragon, so you can rest comfortably that the work is already done.</pre>
 </blockquote>





 <p>On April 20th, 2012, 12:30 a.m., <b>Alex Merry</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;">Eike: I'll try running dragon through my tester program once I have a working kdelibs 4.8.3.  One issue you might have to fix is that the Raise code didn't work for JuK; I used Amarok's, which uses show() instead of raise() and forceActivateWindow() instead of activateWindow().

Also, I'm not sure QApplication::closeAllWindows() is the right thing to call from Quit; wouldn't QCoreApplication::quit() be better?</pre>
 </blockquote>





 <p>On April 20th, 2012, 12:31 a.m., <b>Alex Merry</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;">Oh, also, your track ids shouldn't start with /org/mpris/MediaPlayer2; that's reserved for use by the spec.</pre>
 </blockquote>





 <p>On April 20th, 2012, 12:35 a.m., <b>Eike Hein</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;">I call QApplication::closeAllWindows() because that's what Dragon's own KStandardAction::quit is hooked up to as well. Frankly I found it questionable too since I would expect that to break when an unclosable dialog window is open, but I figured I'd follow the Dragon developer's decision and went for consistency.

As for the track IDs, basically every player I tested with used /org/mpris/MediaPlayer2 in the track IDs and the plans for 2.2 seemed to sort of codify it with the NoTrack thing (which I now realize I misunderstood), that's why I went for it. I'll change that.

I also just pushed MPRIS 2.2 support, i.e. the fullscreen things, and mpyne is merging that into the JuK version.</pre>
 </blockquote>





 <p>On April 20th, 2012, 12:43 a.m., <b>Eike Hein</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;">Fixed the trackids for Dragon.</pre>
 </blockquote>





 <p>On April 20th, 2012, 12:49 a.m., <b>Eike Hein</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;">Regarding the raise code, Amarok calls show() because it has a system tray icon and thus its window may actually be hidden, which isn't the case for Dragon, so raise() ought to be good enough there. For JuK, show() might be better though.

Using forceActiveWindow() is a bit nasty actually because it bypasses kwin's focus stealing prevention, although I suppose you can make a case that a call to the method will most likely be user intent, so in the end I decided to adopt it in Dragon, too.</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;">WRT track IDs, we only put that restriction in to 2.2, when we put in NoTrack and realised we wanted to avoid potential clashes (Amarok has an id for "not in the playlist", for example, and it's not inconceivable the spec could get something similar at some point).</pre>
<br />








<p>- Alex</p>


<br />
<p>On April 20th, 2012, 12:19 a.m., Alex Merry wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Multimedia and Michael Pyne.</div>
<div>By Alex Merry.</div>


<p style="color: grey;"><i>Updated April 20, 2012, 12:19 a.m.</i></p>






<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;">This adds basic support for MPRIS2 to JuK (http://specifications.freedesktop.org/mpris-spec/latest/)
    
Some (optional) things are still unsupported as I have not figured out how to make them work.  Notably, it is not possible to seek, as the naive implementation (calling PlayerManager->seek()) behaves strangely (the existing D-Bus interface doesn't support seeking, either).

The existing collection interface is not replicated.  Most things from the existing player interface are implemented in this MPRIS2 interface (I think the only exception is that MPRIS2 does not have an "album random" option).</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;">Tested using the MPRIS2 tester application (http://github.com/randomguy3/mpristester).</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>CMakeLists.txt <span style="color: grey">(9bd57f6c08abd9b144b0abc1775702284d6af753)</span></li>

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

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

 <li>org.mpris.MediaPlayer2.Player.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>org.mpris.MediaPlayer2.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>playermanager.h <span style="color: grey">(0eec655b487c5e0e37856b39e128087038987f05)</span></li>

 <li>playermanager.cpp <span style="color: grey">(54f601d19f801327f45b3157ed090aa785370583)</span></li>

 <li>volumepopupbutton.h <span style="color: grey">(6fb621b10c9a29f11d66869aac6451ed52935d79)</span></li>

 <li>volumepopupbutton.cpp <span style="color: grey">(76bd95d8e8713ace3afcba0ee510fdb19d6777b3)</span></li>

</ul>

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




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








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