void ScrobblerAdapter::announceTrackCorrections( const lastfm::Track &track ) { static const lastfm::Track::Corrections orig = lastfm::Track::Original; static const lastfm::Track::Corrections correct = lastfm::Track::Corrected; QString trackName = i18nc( "%1 is artist, %2 is title", "%1 - %2", track.artist().name(), track.title() ); QStringList lines; lines << i18n( "Last.fm suggests that some tags of track <b>%1</b> should be " "corrected:", trackName ); QString line; line = printCorrected( Meta::valTitle, track.title( orig ), track.title( correct ) ); if( !line.isEmpty() ) lines << line; line = printCorrected( Meta::valAlbum, track.album( orig ), track.album( correct ) ); if( !line.isEmpty() ) lines << line; line = printCorrected( Meta::valArtist, track.artist( orig ), track.artist( correct ) ); if( !line.isEmpty() ) lines << line; line = printCorrected( Meta::valAlbumArtist, track.albumArtist( orig ), track.albumArtist( correct ) ); if( !line.isEmpty() ) lines << line; Amarok::Components::logger()->longMessage( lines.join( "<br>" ) ); }
bool ScrobbleService::scrobblableTrack( const lastfm::Track& track ) const { return unicorn::UserSettings().value( "scrobblingOn", true ).toBool() && track.extra( "playerId" ) != "spt" && !track.artist().isNull() && ( unicorn::UserSettings().value( "podcasts", true ).toBool() || !track.isPodcast() ) && !track.isVideo(); }
void Song::InitFromLastFM(const lastfm::Track& track) { d->valid_ = true; d->filetype_ = Type_Stream; d->title_ = track.title(); d->album_ = track.album(); d->artist_ = track.artist(); d->track_ = track.trackNumber(); set_length_nanosec(track.duration() * kNsecPerSec); }
void LastFmRadioStation::EmitTrack (const lastfm::Track& track) { qDebug () << Q_FUNC_INFO << track.url (); const Media::AudioInfo info = { track.artist (), track.album (), track.title (), QStringList (), static_cast<qint32> (track.duration () / 1000), 0, static_cast<qint32> (track.trackNumber ()), QVariantMap () }; emit gotNewStream (track.url (), info); }
void MainWindow::onTrackSpooled(const lastfm::Track& track) { setWindowTitle(m_radio.station().rql()); ui->trackProgress->setMinimum(0); ui->trackProgress->setMaximum(track.duration()); ui->album->setText(track.album()); ui->artist->setText(track.artist()); ui->title->setText(track.title()); m_trackGetInfoReply = track.getInfo(); connect(m_trackGetInfoReply, SIGNAL(finished()), SLOT(onGetInfoFinished())); // send the now playing and cache the track so it can be submitted later m_scrobSocket->start(track); }
uint qHash(const lastfm::Track& track) { return qHash(track.title()) ^ qHash(track.artist().name()) ^ qHash(track.album().title()); }