<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 />





 <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>
 <br />





<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/105201/diff/1/?file=67178#file67178line186" style="color: black; font-weight: bold; text-decoration: underline;">src/core-impl/collections/spotifycollection/SpotifyMeta.h</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">namespace Meta</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">186</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="ew">            </span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This whitespace at end of line can be prevented by using the option "Clean whitespaces" in Text Editor > Behavior of the QtCreator settings.</pre>
</div>
<br />



<p>- Bart</p>


<br />
<p>On June 10th, 2012, 7:10 a.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 10, 2012, 7:10 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;">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/CMakeLists.txt <span style="color: grey">(c78b9202ece71b51189c4e47d85acfa4a74ef8d6)</span></li>

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

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

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

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

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

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

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

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

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

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

 <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>