From 443be1c2c8a264b065b0083ca7eb7b7ba081da5c Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Thu, 2 Jan 2020 19:21:27 +0100 Subject: [PATCH] Increase lyrics score if lyrics text > 60 --- src/lyrics/auddlyricsprovider.cpp | 1 + src/lyrics/chartlyricsprovider.cpp | 1 + src/lyrics/lololyricsprovider.cpp | 6 ++++++ src/lyrics/lyricsfetcher.cpp | 1 + src/lyrics/lyricsfetcher.h | 1 + src/lyrics/ovhlyricsprovider.cpp | 3 +++ 6 files changed, 13 insertions(+) diff --git a/src/lyrics/auddlyricsprovider.cpp b/src/lyrics/auddlyricsprovider.cpp index 63223e1a5..cbe372da2 100644 --- a/src/lyrics/auddlyricsprovider.cpp +++ b/src/lyrics/auddlyricsprovider.cpp @@ -113,6 +113,7 @@ void AuddLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 i result.score = 0.0; if (result.artist.toLower() == artist.toLower()) result.score += 1.0; if (result.title.toLower() == title.toLower()) result.score += 1.0; + if (result.lyrics.length() > LyricsFetcher::kGoodLyricsLength) result.score += 1.0; //qLog(Debug) << "AudDLyrics:" << result.artist << result.title << result.lyrics.length(); results << result; diff --git a/src/lyrics/chartlyricsprovider.cpp b/src/lyrics/chartlyricsprovider.cpp index 5c3a45a7f..1c673f303 100644 --- a/src/lyrics/chartlyricsprovider.cpp +++ b/src/lyrics/chartlyricsprovider.cpp @@ -112,6 +112,7 @@ void ChartLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 result.score = 0.0; if (result.artist.toLower() == artist.toLower()) result.score += 1.0; if (result.title.toLower() == title.toLower()) result.score += 1.0; + if (result.lyrics.length() > LyricsFetcher::kGoodLyricsLength) result.score += 1.0; if (result.artist.toLower() == artist.toLower() || result.title.toLower() == title.toLower()) { results << result; } diff --git a/src/lyrics/lololyricsprovider.cpp b/src/lyrics/lololyricsprovider.cpp index d95e5a55c..2266683dc 100644 --- a/src/lyrics/lololyricsprovider.cpp +++ b/src/lyrics/lololyricsprovider.cpp @@ -119,6 +119,12 @@ void LoloLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 i else if (type == QXmlStreamReader::EndElement) { if (name == "result") { if (!result.lyrics.isEmpty()) { + if (result.artist.toLower() == artist.toLower()) + result.score += 1.0; + if (result.title.toLower() == title.toLower()) + result.score += 1.0; + if (result.lyrics.length() > LyricsFetcher::kGoodLyricsLength) + result.score += 1.0; results << result; } result = LyricsSearchResult(); diff --git a/src/lyrics/lyricsfetcher.cpp b/src/lyrics/lyricsfetcher.cpp index 9c4dae438..716b7b237 100644 --- a/src/lyrics/lyricsfetcher.cpp +++ b/src/lyrics/lyricsfetcher.cpp @@ -30,6 +30,7 @@ #include "lyricsfetchersearch.h" const int LyricsFetcher::kMaxConcurrentRequests = 5; +const int LyricsFetcher::kGoodLyricsLength = 60; LyricsFetcher::LyricsFetcher(LyricsProviders *lyrics_providers, QObject *parent) : QObject(parent), diff --git a/src/lyrics/lyricsfetcher.h b/src/lyrics/lyricsfetcher.h index cc3496017..5c905f160 100644 --- a/src/lyrics/lyricsfetcher.h +++ b/src/lyrics/lyricsfetcher.h @@ -65,6 +65,7 @@ class LyricsFetcher : public QObject { virtual ~LyricsFetcher() {} static const int kMaxConcurrentRequests; + static const int kGoodLyricsLength; quint64 Search(const QString &artist, const QString &album, const QString &title); void Clear(); diff --git a/src/lyrics/ovhlyricsprovider.cpp b/src/lyrics/ovhlyricsprovider.cpp index 58d3f0a4a..484cd99a1 100644 --- a/src/lyrics/ovhlyricsprovider.cpp +++ b/src/lyrics/ovhlyricsprovider.cpp @@ -87,6 +87,9 @@ void OVHLyricsProvider::HandleSearchReply(QNetworkReply *reply, const quint64 id LyricsSearchResult result; result.lyrics = json_obj["lyrics"].toString(); + if (result.lyrics.length() > LyricsFetcher::kGoodLyricsLength) + result.score += 1.0; + qLog(Debug) << "OVHLyrics: Got lyrics for" << artist << title; emit SearchFinished(id, LyricsSearchResults() << result);