Audioscrobbler.cpp   Audioscrobbler.cpp 
skipping to change at line 90 skipping to change at line 90
{ {
QList<Track> tracks; QList<Track> tracks;
tracks.append( track ); tracks.append( track );
cacheBatch( tracks ); cacheBatch( tracks );
} }
void void
lastfm::Audioscrobbler::cacheBatch( const QList<lastfm::Track>& tracks, con st QString& ) lastfm::Audioscrobbler::cacheBatch( const QList<lastfm::Track>& tracks, con st QString& )
{ {
d->m_cache.add( tracks ); d->m_cache.add( tracks );
foreach ( const Track& track, d->m_cache.tracks() )
MutableTrack( track ).setScrobbleStatus( Track::Cached );
emit scrobblesCached( tracks ); emit scrobblesCached( tracks );
submit(); submit();
} }
void void
lastfm::Audioscrobbler::cacheBatch( const QList<lastfm::Track>& tracks )
{
cacheBatch( tracks, "" );
}
void
lastfm::Audioscrobbler::submit() lastfm::Audioscrobbler::submit()
{ {
if (d->m_cache.tracks().isEmpty() // there are no tracks to submit if (d->m_cache.tracks().isEmpty() // there are no tracks to submit
|| !d->m_scrobbleReply.isNull() ) // we are already submitting scrobbles || !d->m_scrobbleReply.isNull() ) // we are already submitting scrobbles
return; return;
// copy tracks to be submitted to a temporary list // copy tracks to be submitted to a temporary list
d->m_batch = d->m_cache.tracks().mid( 0, 50 ); d->m_batch = d->m_cache.tracks().mid( 0, 50 );
// if there is only one track use track.scrobble, otherwise use track.s crobbleBatch // if there is only one track use track.scrobble, otherwise use track.s crobbleBatch
skipping to change at line 153 skipping to change at line 154
mTrack.setScrobbleErrorText( trackXml["ignoredMessage"].text() ); mTrack.setScrobbleErrorText( trackXml["ignoredMessage"].text() );
mTrack.setScrobbleStatus( Track::Error ); mTrack.setScrobbleStatus( Track::Error );
} }
} }
void void
lastfm::Audioscrobbler::onNowPlayingReturn() lastfm::Audioscrobbler::onNowPlayingReturn()
{ {
lastfm::XmlQuery lfm; lastfm::XmlQuery lfm;
if ( lfm.parse( static_cast<QNetworkReply*>(sender())->readAll() ) ) if ( lfm.parse( d->m_nowPlayingReply ) )
{ {
qDebug() << lfm; qDebug() << lfm;
if ( lfm.attribute("status") == "ok" ) if ( lfm.attribute("status") == "ok" )
d->parseTrack( lfm["nowplaying"], d->m_nowPlayingTrack ); d->parseTrack( lfm["nowplaying"], d->m_nowPlayingTrack );
else else
emit nowPlayingError( lfm["error"].attribute("code").toInt(), l fm["error"].text() ); emit nowPlayingError( lfm["error"].attribute("code").toInt(), l fm["error"].text() );
d->m_nowPlayingTrack = Track();
d->m_nowPlayingReply = 0;
} }
else else
{ {
qDebug() << lfm.parseError().message() << lfm.parseError().enumValu e(); qDebug() << lfm.parseError().message() << lfm.parseError().enumValu e();
} }
d->m_nowPlayingTrack = Track(); d->m_nowPlayingTrack = Track();
d->m_nowPlayingReply = 0; d->m_nowPlayingReply = 0;
} }
void void
lastfm::Audioscrobbler::onTrackScrobbleReturn() lastfm::Audioscrobbler::onTrackScrobbleReturn()
{ {
lastfm::XmlQuery lfm; lastfm::XmlQuery lfm;
if ( lfm.parse( d->m_scrobbleReply->readAll() ) ) if ( lfm.parse( d->m_scrobbleReply ) )
{ {
qDebug() << lfm; qDebug() << lfm;
if (lfm.attribute("status") == "ok") if (lfm.attribute("status") == "ok")
{ {
int index = 0; int index = 0;
foreach ( const XmlQuery& scrobble, lfm["scrobbles"].children(" scrobble") ) foreach ( const XmlQuery& scrobble, lfm["scrobbles"].children(" scrobble") )
d->parseTrack( scrobble, d->m_batch.at( index++ ) ); d->parseTrack( scrobble, d->m_batch.at( index++ ) );
 End of changes. 6 change blocks. 
10 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/