Add duration to lyrics search request
This commit is contained in:
@@ -59,6 +59,7 @@
|
||||
#include "covermanager/albumcoverchoicecontroller.h"
|
||||
#include "lyrics/lyricsfetcher.h"
|
||||
#include "constants/contextsettings.h"
|
||||
#include "constants/timeconstants.h"
|
||||
|
||||
#include "contextview.h"
|
||||
#include "contextalbum.h"
|
||||
@@ -353,7 +354,7 @@ void ContextView::SearchLyrics() {
|
||||
if (lyrics_.isEmpty() && action_show_lyrics_->isChecked() && action_search_lyrics_->isChecked() && !song_playing_.artist().isEmpty() && !song_playing_.title().isEmpty() && !lyrics_tried_ && lyrics_id_ == -1) {
|
||||
lyrics_fetcher_->Clear();
|
||||
lyrics_tried_ = true;
|
||||
lyrics_id_ = static_cast<qint64>(lyrics_fetcher_->Search(song_playing_.effective_albumartist(), song_playing_.artist(), song_playing_.album(), song_playing_.title()));
|
||||
lyrics_id_ = static_cast<qint64>(lyrics_fetcher_->Search(song_playing_.effective_albumartist(), song_playing_.artist(), song_playing_.album(), song_playing_.title(), song_playing_.length_nanosec() / kNsecPerSec));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
#include <QSettings>
|
||||
#include <QMimeData>
|
||||
|
||||
#include "constants/timeconstants.h"
|
||||
#include "core/iconloader.h"
|
||||
#include "core/logging.h"
|
||||
#include "core/settings.h"
|
||||
@@ -1520,7 +1521,7 @@ void EditTagDialog::FetchLyrics() {
|
||||
const Song song = data_.value(ui_->song_list->selectionModel()->selectedIndexes().first().row()).current_;
|
||||
lyrics_fetcher_->Clear();
|
||||
ui_->lyrics->setPlainText(tr("loading..."));
|
||||
lyrics_id_ = static_cast<qint64>(lyrics_fetcher_->Search(song.effective_albumartist(), song.artist(), song.album(), song.title()));
|
||||
lyrics_id_ = static_cast<qint64>(lyrics_fetcher_->Search(song.effective_albumartist(), song.artist(), song.album(), song.title(), song.length_nanosec() / kNsecPerSec));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -49,13 +49,14 @@ LyricsFetcher::LyricsFetcher(const SharedPtr<LyricsProviders> lyrics_providers,
|
||||
|
||||
}
|
||||
|
||||
quint64 LyricsFetcher::Search(const QString &effective_albumartist, const QString &artist, const QString &album, const QString &title) {
|
||||
quint64 LyricsFetcher::Search(const QString &effective_albumartist, const QString &artist, const QString &album, const QString &title, const qint64 duration) {
|
||||
|
||||
LyricsSearchRequest search_request;
|
||||
search_request.albumartist = effective_albumartist;
|
||||
search_request.artist = artist;
|
||||
search_request.album = Song::AlbumRemoveDiscMisc(album);
|
||||
search_request.title = Song::TitleRemoveMisc(title);
|
||||
search_request.duration = duration;
|
||||
|
||||
Request request;
|
||||
request.id = ++next_id_;
|
||||
|
||||
@@ -53,7 +53,7 @@ class LyricsFetcher : public QObject {
|
||||
LyricsSearchRequest search_request;
|
||||
};
|
||||
|
||||
quint64 Search(const QString &effective_albumartist, const QString &artist, const QString &album, const QString &title);
|
||||
quint64 Search(const QString &effective_albumartist, const QString &artist, const QString &album, const QString &title, const qint64 duration);
|
||||
void Clear();
|
||||
|
||||
private:
|
||||
|
||||
@@ -26,11 +26,12 @@
|
||||
|
||||
class LyricsSearchRequest {
|
||||
public:
|
||||
explicit LyricsSearchRequest() = default;
|
||||
explicit LyricsSearchRequest() : duration(-1) {}
|
||||
QString albumartist;
|
||||
QString artist;
|
||||
QString album;
|
||||
QString title;
|
||||
qint64 duration;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(LyricsSearchRequest)
|
||||
|
||||
Reference in New Issue
Block a user