From b053f9969000d21cb1e1fb4072f5ba7300d7795e Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sun, 11 Jul 2021 05:18:39 +0200 Subject: [PATCH] Add Song::is_radio() --- src/core/song.cpp | 9 ++------- src/core/song.h | 1 + src/covermanager/albumcoverloader.cpp | 2 +- src/scrobbler/listenbrainzscrobbler.cpp | 2 +- src/scrobbler/scrobblingapi20.cpp | 2 +- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/core/song.cpp b/src/core/song.cpp index 1012f56ac..017dd260b 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -375,13 +375,8 @@ double Song::rating() const { return d->rating_; } bool Song::is_collection_song() const { return d->source_ == Source_Collection; } bool Song::is_metadata_good() const { return !d->url_.isEmpty() && !d->artist_.isEmpty() && !d->title_.isEmpty(); } -bool Song::is_stream() const { return d->source_ == Source_Stream || - d->source_ == Source_Tidal || - d->source_ == Source_Subsonic || - d->source_ == Source_Qobuz || - d->source_ == Source_SomaFM || - d->source_ == Source_RadioParadise; -} +bool Song::is_stream() const { return is_radio() || d->source_ == Source_Tidal || d->source_ == Source_Subsonic || d->source_ == Source_Qobuz; } +bool Song::is_radio() const { return d->source_ == Source_Stream || d->source_ == Source_SomaFM || d->source_ == Source_RadioParadise; } bool Song::is_cdda() const { return d->source_ == Source_CDDA; } bool Song::is_compilation() const { return (d->compilation_ || d->compilation_detected_ || d->compilation_on_) && !d->compilation_off_; } bool Song::stream_url_can_expire() const { return d->source_ == Song::Source_Tidal || d->source_ == Song::Source_Qobuz; } diff --git a/src/core/song.h b/src/core/song.h index 86c6e00b7..a20b0add5 100644 --- a/src/core/song.h +++ b/src/core/song.h @@ -262,6 +262,7 @@ class Song { bool is_collection_song() const; bool is_stream() const; + bool is_radio() const; bool is_cdda() const; bool is_metadata_good() const; bool art_automatic_is_valid() const; diff --git a/src/covermanager/albumcoverloader.cpp b/src/covermanager/albumcoverloader.cpp index 0ff014d4a..fa54d9409 100644 --- a/src/covermanager/albumcoverloader.cpp +++ b/src/covermanager/albumcoverloader.cpp @@ -381,7 +381,7 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage(Task *task) { } // For local files and streams initialize art if found. - if ((task->song.source() == Song::Source_LocalFile || task->song.source() == Song::Source_Stream) && !task->song.art_manual_is_valid() && !task->song.art_automatic_is_valid()) { + if ((task->song.source() == Song::Source_LocalFile || task->song.is_radio()) && !task->song.art_manual_is_valid() && !task->song.art_automatic_is_valid()) { switch (task->state) { case State_None: break; diff --git a/src/scrobbler/listenbrainzscrobbler.cpp b/src/scrobbler/listenbrainzscrobbler.cpp index ffa41a569..f821e2738 100644 --- a/src/scrobbler/listenbrainzscrobbler.cpp +++ b/src/scrobbler/listenbrainzscrobbler.cpp @@ -642,7 +642,7 @@ void ListenBrainzScrobbler::CheckScrobblePrevSong() { quint64 duration = QDateTime::currentDateTime().toSecsSinceEpoch() - timestamp_; - if (!scrobbled_ && song_playing_.is_metadata_good() && song_playing_.source() == Song::Source_Stream && duration > 30) { + if (!scrobbled_ && song_playing_.is_metadata_good() && song_playing_.is_radio() && duration > 30) { Song song(song_playing_); song.set_length_nanosec(duration * kNsecPerSec); Scrobble(song); diff --git a/src/scrobbler/scrobblingapi20.cpp b/src/scrobbler/scrobblingapi20.cpp index 82fd13a07..ffbcf64e9 100644 --- a/src/scrobbler/scrobblingapi20.cpp +++ b/src/scrobbler/scrobblingapi20.cpp @@ -1086,7 +1086,7 @@ void ScrobblingAPI20::CheckScrobblePrevSong() { quint64 duration = QDateTime::currentDateTime().toSecsSinceEpoch() - timestamp_; - if (!scrobbled_ && song_playing_.is_metadata_good() && song_playing_.source() == Song::Source_Stream && duration > 30) { + if (!scrobbled_ && song_playing_.is_metadata_good() && song_playing_.is_radio() && duration > 30) { Song song(song_playing_); song.set_length_nanosec(duration * kNsecPerSec); Scrobble(song);