Changeset View
Changeset View
Standalone View
Standalone View
host/mprisplugin.cpp
Show First 20 Lines • Show All 164 Lines • ▼ Show 20 Line(s) | 164 | } else if (event == QLatin1String("playing")) { | |||
---|---|---|---|---|---|
165 | setPlaybackStatus(QStringLiteral("Playing")); | 165 | setPlaybackStatus(QStringLiteral("Playing")); | ||
166 | 166 | | |||
167 | m_pageTitle = data.value(QStringLiteral("pageTitle")).toString(); | 167 | m_pageTitle = data.value(QStringLiteral("pageTitle")).toString(); | ||
168 | m_tabTitle = data.value(QStringLiteral("tabTitle")).toString(); | 168 | m_tabTitle = data.value(QStringLiteral("tabTitle")).toString(); | ||
169 | 169 | | |||
170 | m_url = QUrl(data.value(QStringLiteral("url")).toString()); | 170 | m_url = QUrl(data.value(QStringLiteral("url")).toString()); | ||
171 | m_mediaSrc = QUrl(data.value(QStringLiteral("mediaSrc")).toString()); | 171 | m_mediaSrc = QUrl(data.value(QStringLiteral("mediaSrc")).toString()); | ||
172 | 172 | | |||
173 | const QUrl posterUrl = QUrl(data.value(QStringLiteral("poster")).toString()); | ||||
174 | if (m_posterUrl != posterUrl) { | ||||
175 | m_posterUrl = posterUrl; | ||||
176 | emitPropertyChange(m_player, "Metadata"); | ||||
177 | } | ||||
178 | | ||||
173 | const qreal oldVolume = volume(); | 179 | const qreal oldVolume = volume(); | ||
174 | 180 | | |||
175 | m_volume = data.value(QStringLiteral("volume")).toDouble(1); | 181 | m_volume = data.value(QStringLiteral("volume")).toDouble(1); | ||
176 | m_muted = data.value(QStringLiteral("muted")).toBool(); | 182 | m_muted = data.value(QStringLiteral("muted")).toBool(); | ||
177 | 183 | | |||
178 | if (volume() != oldVolume) { | 184 | if (volume() != oldVolume) { | ||
179 | emitPropertyChange(m_player, "Volume"); | 185 | emitPropertyChange(m_player, "Volume"); | ||
180 | } | 186 | } | ||
▲ Show 20 Lines • Show All 265 Lines • ▼ Show 20 Line(s) | 451 | if (m_mediaSrc.isValid()) { | |||
446 | metadata.insert(QStringLiteral("kde:mediaSrc"), m_mediaSrc.toDisplayString()); | 452 | metadata.insert(QStringLiteral("kde:mediaSrc"), m_mediaSrc.toDisplayString()); | ||
447 | } | 453 | } | ||
448 | if (m_length > 0) { | 454 | if (m_length > 0) { | ||
449 | metadata.insert(QStringLiteral("mpris:length"), m_length); | 455 | metadata.insert(QStringLiteral("mpris:length"), m_length); | ||
450 | } | 456 | } | ||
451 | if (!m_artist.isEmpty()) { | 457 | if (!m_artist.isEmpty()) { | ||
452 | metadata.insert(QStringLiteral("xesam:artist"), m_artist); | 458 | metadata.insert(QStringLiteral("xesam:artist"), m_artist); | ||
453 | } | 459 | } | ||
454 | if (m_artworkUrl.isValid()) { | 460 | | ||
455 | metadata.insert(QStringLiteral("mpris:artUrl"), m_artworkUrl.toDisplayString()); | 461 | QUrl artUrl = m_artworkUrl; | ||
462 | if (!artUrl.isValid()) { | ||||
463 | artUrl = m_posterUrl; | ||||
464 | } | ||||
465 | if (artUrl.isValid()) { | ||||
466 | metadata.insert(QStringLiteral("mpris:artUrl"), artUrl.toDisplayString()); | ||||
456 | } | 467 | } | ||
457 | 468 | | |||
458 | if (!m_album.isEmpty()) { | 469 | if (!m_album.isEmpty()) { | ||
459 | metadata.insert(QStringLiteral("xesam:album"), m_album); | 470 | metadata.insert(QStringLiteral("xesam:album"), m_album); | ||
460 | // when we don't have artist information use the scheme+domain as "album" (that's what Chrome on Android does) | 471 | // when we don't have artist information use the scheme+domain as "album" (that's what Chrome on Android does) | ||
461 | } else if (m_artist.isEmpty() && m_url.isValid()) { | 472 | } else if (m_artist.isEmpty() && m_url.isValid()) { | ||
462 | metadata.insert(QStringLiteral("xesam:album"), m_url.toDisplayString(QUrl::RemovePath | QUrl::RemoveQuery | QUrl::RemoveFragment)); | 473 | metadata.insert(QStringLiteral("xesam:album"), m_url.toDisplayString(QUrl::RemovePath | QUrl::RemoveQuery | QUrl::RemoveFragment)); | ||
463 | } | 474 | } | ||
▲ Show 20 Lines • Show All 188 Lines • Show Last 20 Lines |