Add moodbar

This commit is contained in:
Jonas Kvinge
2019-04-18 15:03:01 +02:00
parent 37b923bea3
commit 907d18a83a
49 changed files with 3347 additions and 5 deletions

View File

@@ -61,6 +61,8 @@
#include "lyrics/auddlyricsprovider.h"
#include "lyrics/chartlyricsprovider.h"
#include "scrobbler/audioscrobbler.h"
#include "internet/internetservices.h"
#include "internet/internetsearch.h"
@@ -69,7 +71,10 @@
# include "covermanager/tidalcoverprovider.h"
#endif
#include "scrobbler/audioscrobbler.h"
#ifdef HAVE_MOODBAR
# include "moodbar/moodbarcontroller.h"
# include "moodbar/moodbarloader.h"
#endif
bool Application::kIsPortable = false;
@@ -136,7 +141,14 @@ class ApplicationImpl {
#ifdef HAVE_TIDAL
tidal_search_([=]() { return new InternetSearch(app, Song::Source_Tidal, app); }),
#endif
scrobbler_([=]() { return new AudioScrobbler(app, app); })
scrobbler_([=]() { return new AudioScrobbler(app, app); }),
#ifdef HAVE_MOODBAR
moodbar_loader_([=]() { return new MoodbarLoader(app, app); }),
moodbar_controller_([=]() { return new MoodbarController(app, app); }),
#endif
dummy_([=]() { return nullptr; })
{}
Lazy<TagReaderClient> tag_reader_client_;
@@ -160,6 +172,11 @@ class ApplicationImpl {
Lazy<InternetSearch> tidal_search_;
#endif
Lazy<AudioScrobbler> scrobbler_;
#ifdef HAVE_MOODBAR
Lazy<MoodbarLoader> moodbar_loader_;
Lazy<MoodbarController> moodbar_controller_;
#endif
Lazy<QVariant> dummy_;
};
@@ -231,3 +248,7 @@ InternetServices *Application::internet_services() const { return p_->internet_s
InternetSearch *Application::tidal_search() const { return p_->tidal_search_.get(); }
#endif
AudioScrobbler *Application::scrobbler() const { return p_->scrobbler_.get(); }
#ifdef HAVE_MOODBAR
MoodbarController *Application::moodbar_controller() const { return p_->moodbar_controller_.get(); }
MoodbarLoader *Application::moodbar_loader() const { return p_->moodbar_loader_.get(); }
#endif

View File

@@ -56,9 +56,13 @@ class CoverProviders;
class AlbumCoverLoader;
class CurrentArtLoader;
class LyricsProviders;
class AudioScrobbler;
class InternetServices;
class InternetSearch;
class AudioScrobbler;
#ifdef HAVE_MOODBAR
class MoodbarController;
class MoodbarLoader;
#endif
class Application : public QObject {
Q_OBJECT
@@ -92,12 +96,17 @@ class Application : public QObject {
LyricsProviders *lyrics_providers() const;
AudioScrobbler *scrobbler() const;
InternetServices *internet_services() const;
#ifdef HAVE_TIDAL
InternetSearch *tidal_search() const;
#endif
AudioScrobbler *scrobbler() const;
#ifdef HAVE_MOODBAR
MoodbarController *moodbar_controller() const;
MoodbarLoader *moodbar_loader() const;
#endif
void MoveToNewThread(QObject *object);
void MoveToThread(QObject *object, QThread *thread);

View File

@@ -151,6 +151,11 @@
# include "core/macsystemtrayicon.h"
#endif
#ifdef HAVE_MOODBAR
# include "moodbar/moodbarcontroller.h"
# include "moodbar/moodbarproxystyle.h"
#endif
using std::bind;
using std::floor;
using std::stable_sort;
@@ -667,6 +672,11 @@ MainWindow::MainWindow(Application *app, SystemTrayIcon *tray_icon, OSD *osd, co
ui_->track_slider->SetApplication(app);
#ifdef HAVE_MOODBAR
// Moodbar connections
connect(app_->moodbar_controller(), SIGNAL(CurrentMoodbarDataChanged(QByteArray)), ui_->track_slider->moodbar_style(), SLOT(SetMoodbarData(QByteArray)));
#endif
// Playing widget
qLog(Debug) << "Creating playing widget";
ui_->widget_playing->set_ideal_height(ui_->status_bar->sizeHint().height() + ui_->player_controls->sizeHint().height());