m_proxies does not always contain all players, and a player is added to
m_proxies only when it has a valid proxyPid. But the container is
ensured to be added to one of m_playing, m_paused and m_stopped.
So we need to ensure m_playing, m_paused and m_stopped are all empty
before emitting `playerListEmptied()`.
BUG: 447169
FIXED-IN: 5.24
When all players are closed, media player applet on the
desktop still shows a track from the last player, and
player control buttons are still clickable but have no effect.
Add a new signal named `playerListEmptied()`. When the proxy list is empty,
the signal is emitted and `m_multiplexer` is scheduled to be deleted, so
the media player applet on the desktop can indicate the right status of
no player opened.
BUG: 446098
FIXED-IN: 5.24
Plasma Browser Integration provides controls for Chrome, so when a player with kde:pid metadata is found, it is preferred over the actual pid it represents.
Differential Revision: https://phabricator.kde.org/D26702
Summary:
The lockscreen uses the MPRIS dataengine. This leads to two applications
registring the service using the same component name which leads to the
shortcuts not working when the lock screen closes.
We want to have the applet register the shortcuts, but not every
dataengine user.
Ideally this shouldn't be in the dataengine either because DataEngines
are read only. This moves the logic to the service which is writable and
registers the shortcuts for the multiplexer there when requested from
the applet.
BUG: 380526
FIXED-IN: 5.10.1
Test Plan:
Opened media player.
Used play/pause shortcut. (the only one my keyboard has)
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D6100
Instead of having the media control shortcuts being grouped under
"plasmashell" a dedicated component "Media Controller" is added and all
shortcuts are assigned to it.
This solves the problem if multiple processes include the dataengine, the
shortcuts would be registered in each application.
REVIEW: 122588
The multiplexer registers global shortcuts for:
* play/pause
* next
* previous
* stop
and delegates them to the active player if triggered.
This could mean that media shortcuts for non mpris2 enabled
applications might break. The advantage is that we have global
shortcuts for media control.
BUG: 341587
FIXED-IN: 5.3.0
REVIEW: 122437
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
techbase wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://community.kde.org/Frameworks/GitOldHistory
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo kde-workspace, frameworks branch, at commit
049113e719dd2fc4446d054fa1a3aada330094f0