<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/105201/">http://git.reviewboard.kde.org/r/105201/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On June 11th, 2012, 8:41 a.m., <b>Bart Cerneels</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'm assuming this is mostly code copied and edited (but not completely) from the playdar work done by Andy for GSoC 2010.
As far as I understand it the protocol used by the Tomahawk resolver is still the same (playdar API), so that should work. There are a few things you should look at before going on with this design though.
First do some namespace cleanup. ScriptResolver for instance is a confusing name. Here you won't be dealing with a resolver script but the spotify-resolver application. ResolverProcessInterface looks a little long, but does cover it's function pretty well. Up to you to figure out a good name.

I've not gone through the architecture of the playdar QueryMaker. It probably works, but I wonder if it has to be so complicated. QM is not a simple API to begin with though. Spotify does not support search strings for specific types (artist, album, genre, etc) AFAIU, so a mapping might be more straight forward. If this code is working keep it for now, as long as no performance issues pop up.</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;">Yes, some code like meta classe are just copy and paste. Some of them like Controller class might be deleted or replaced later, I was thinking about replacing it by ScriptResolver.
QM is more complicated than I thought, it may take some time to fully understand how it works. Spotify can do specific search by using "artist:" or "album:" and using of logical operands like 'AND' or 'OR' is also possible, details are on https://developer.spotify.com/technologies/libspotify/guidelines-hardware/ in the 'Search' section. So it is easy to construct a search string for specific types.</pre>
<br />








<p>- Zhengliang</p>


<br />
<p>On June 11th, 2012, 1:26 p.m., Zhengliang Feng 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 Amarok.</div>
<div>By Zhengliang Feng.</div>


<p style="color: grey;"><i>Updated June 11, 2012, 1:26 p.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;">Add Spotify collection code

Currently implemented SpotifyCollection, SpotifyQueryMaker and
SpotifyMeta. The ScriptResolver is the class handles communcation with
standalone Spotify resolver, the code is mainly from original
ScriptResolver, but added more functions to handle messages separately.

The controller class is used to start a ScriptResolver in a separate
thread and handles queries.</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;">Communication between ScriptResolver and Spotify resolver( from Tomahawk resolver repo https://github.com/ofan/tomahawk-resolvers ).
Logging into Spotify using a username and password.</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/core-impl/collections/spotifycollection/support/ScriptResolver.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/core-impl/collections/spotifycollection/support/ScriptResolver.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

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




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








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