From 3b5ba650989f08b43bd23ab371824b94765ef3be Mon Sep 17 00:00:00 2001 From: Nikolay Tischenko Date: Sun, 13 Mar 2011 12:40:00 +0600 Subject: [PATCH] albumart DBus method --- src/coverfinder.cpp | 2 ++ src/dbusadaptor.h | 3 +++ src/player/player.h | 3 +++ src/playerform.cpp | 1 + 4 files changed, 9 insertions(+) diff --git a/src/coverfinder.cpp b/src/coverfinder.cpp index a10dab0..8449be7 100644 --- a/src/coverfinder.cpp +++ b/src/coverfinder.cpp @@ -134,6 +134,7 @@ bool CoverFinder::_extract(QString file) { QImage img; img.loadFromData((const uchar *) pic->picture().data(), pic->picture().size()); emit found(img); + emit foundPath(""); return true; } if (f != NULL) delete f; @@ -149,6 +150,7 @@ bool CoverFinder::_async_find(QFileInfo filePath, Track track) { if (!_find(filePath.absolutePath()) && !_tfind(track.metadata().artist(), track.metadata().album()) && !_malfind(track) && !_extract(filePath.absoluteFilePath())) { emit found(_defaultCover); + emit foundPath(""); return false; } return true; diff --git a/src/dbusadaptor.h b/src/dbusadaptor.h index d5ecc91..9d84d89 100644 --- a/src/dbusadaptor.h +++ b/src/dbusadaptor.h @@ -69,6 +69,9 @@ class DBusAdaptop: public QDBusAbstractAdaptor " \n" " \n" " \n" + " \n" + " \n" + " \n" " \n" "") public: diff --git a/src/player/player.h b/src/player/player.h index 9a00ebf..ab26c9d 100644 --- a/src/player/player.h +++ b/src/player/player.h @@ -90,6 +90,8 @@ namespace SomePlayer { QString title(); PlayerState state() {return _state;} QString stateText(); + QString albumart() {return _albumart;} + void setAlbumart(QString albumart) {_albumart = albumart;} private slots: void _stateChanged(Phonon::State, Phonon::State); void _tick(qint64); @@ -112,6 +114,7 @@ namespace SomePlayer { void _truncate_history(); int _awaiting_seek_pos; bool _awaiting_seek; + QString _albumart; }; }; }; diff --git a/src/playerform.cpp b/src/playerform.cpp index b2f1eba..d754235 100644 --- a/src/playerform.cpp +++ b/src/playerform.cpp @@ -176,6 +176,7 @@ PlayerForm::PlayerForm(Library* lib, QWidget *parent) : _dbusadaptor = new DBusAdaptop(_player); connect(_player, SIGNAL(stateChanged(PlayerState)), _dbusadaptor, SIGNAL(stateChanged())); connect(_coverfinder, SIGNAL(foundPath(QString)), _dbusadaptor, SIGNAL(albumArt(QString))); + connect(_coverfinder, SIGNAL(foundPath(QString)), _player, SLOT(setAlbumart(QString))); QDBusConnection connection = QDBusConnection::sessionBus(); bool ret = connection.registerService(_SERVICE_NAME_); ret = connection.registerObject("/", _player); -- 1.7.9.5