19
19
#include "mpris_common.h"
20
20
#include "mpris1.h"
21
21
#include "mpris2.h"
22
#include "core/artloader.h"
22
#include "core/logging.h"
23
23
#include "core/mpris2_player.h"
24
24
#include "core/mpris2_root.h"
25
25
#include "core/mpris2_tracklist.h"
26
26
#include "core/player.h"
27
#include "core/timeconstants.h"
28
#include "covers/artloader.h"
27
29
#include "engines/enginebase.h"
28
30
#include "playlist/playlist.h"
29
31
#include "playlist/playlistmanager.h"
152
154
QString Mpris2::Identity() const {
153
return QString("%1 %2").arg(
154
QCoreApplication::applicationName(),
155
QCoreApplication::applicationVersion());
155
return QCoreApplication::applicationName();
158
158
QString Mpris2::DesktopEntryAbsolutePath() const {
304
304
// ... and we add the cover information later, when it's available.
305
305
void Mpris2::ArtLoaded(const Song& song, const QString& art_uri) {
306
306
last_metadata_ = QVariantMap();
307
song.ToXesam(&last_metadata_);
308
309
using mpris::AddMetadata;
309
310
AddMetadata("mpris:trackid", current_track_id(), &last_metadata_);
310
AddMetadata("xesam:url", song.filename(), &last_metadata_);
311
AddMetadata("xesam:title", song.PrettyTitle(), &last_metadata_);
312
AddMetadataAsList("xesam:artist", song.artist(), &last_metadata_);
313
AddMetadata("xesam:album", song.album(), &last_metadata_);
314
AddMetadataAsList("xesam:albumArtist", song.albumartist(), &last_metadata_);
315
AddMetadata("mpris:length", song.length_nanosec() / kNsecPerUsec, &last_metadata_);
316
AddMetadata("xesam:trackNumber", song.track(), &last_metadata_);
317
AddMetadataAsList("xesam:genre", song.genre(), &last_metadata_);
318
AddMetadata("xesam:discNumber", song.disc(), &last_metadata_);
319
AddMetadataAsList("xesam:comment", song.comment(), &last_metadata_);
320
AddMetadata("xesam:contentCreated", AsMPRISDateTimeType(song.ctime()), &last_metadata_);
321
AddMetadata("xesam:lastUsed", AsMPRISDateTimeType(song.lastplayed()), &last_metadata_);
322
AddMetadata("xesam:audioBPM", song.bpm(), &last_metadata_);
323
AddMetadataAsList("xesam:composer", song.composer(), &last_metadata_);
324
AddMetadata("xesam:useCount", song.playcount(), &last_metadata_);
325
AddMetadata("xesam:autoRating", song.score(), &last_metadata_);
326
312
if (song.rating() != -1.0) {
327
313
AddMetadata("rating", song.rating() * 5, &last_metadata_);