diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/ext-sysmon/extsysmon.cpp index cf9a93a..122e0c3 100644 --- a/sources/ext-sysmon/extsysmon.cpp +++ b/sources/ext-sysmon/extsysmon.cpp @@ -300,6 +300,33 @@ QStringList ExtendedSysMon::getPlayerInfo(const QString playerName, info[2] = QString::number(time); } } + else if (playerName == QString("clementine")) { + // clementine + command.start("qdbus org.kde.clementine /Player GetMetadata"); + command.waitForFinished(-1); + qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()); + for (int i=0; i 1) { + if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("album")) + info[0] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed(); + else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("artist")) + info[1] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed(); + else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("time")) + info[3] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed(); + else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("title")) + info[4] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed(); + } + } + command.start("qdbus org.kde.clementine /Player PositionGet"); + command.waitForFinished(-1); + qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()); + for (int i=0; i