Properties like Identity, SupportedUriSchemes, SupportedMimeTypes are mandatory.
Ignore the player if it's clearly violating the spec.
CHANGELOG: Players not compliant to MPRIS specification will no longer work with Media Controller applet.
Differential Revision: https://phabricator.kde.org/D22596
Avoids plasmashell freezing when the player app is unresponsive or has a broken MPRIS implementation
Differential Revision: https://phabricator.kde.org/D20661
All the information we need (player capabilities and playback status) is already present and managed by the PlayerContainer
BUG: 397685
FIXED-IN: 5.13.5
Differential Revision: https://phabricator.kde.org/D14970
Summary:
Add simple volume control to Media Controller applet. Volume can by changed by:
- mouse wheel on applet icon (3 % step), and
- new global shortcuts (5 % step, unbound by default).
There is no mute support currently (mpris interface does not have a mute method so we would have to keep
track of old volume).
BUG: 386588
Test Plan: Tested in daily use with Cantata and SMPlayer. There is no UI change.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, nicolasfella, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11021
Summary:
* first check CanControl property, as it overrules things
* next check each action Can* property, to spare D-Bus call and app
activation if false
* support CanPause and only call PlayPause is possible,
otherwise use Play
Test Plan:
Vlc can be controlled by keyboard media keys as before,
Gwenview patched to support MPRIS (with CanPause=false) can now be
controlled with the Play/Pause media key.
Reviewers: broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10991
Since Qt 5.6.3/5.7.1 qdbusxml2cpp favours as name for signals argument
annotations the name "org.qtproject.QtDBus.QtTypeName.Out*", matching
the "out" direction nature of the arguments.
".In*" is still supported for backward compat, but with a warning.
Creating one from an empty string prints a warning and here we don't actually need
a fully-fledged QDBusObjectPath, we can just compare strings.
BUG: 383557
Differential Revision: https://phabricator.kde.org/D7538
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
Summary: This is needed so Plasma::DataEngine can construct the metadata
Test Plan: Debug. Lots of debug.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4554
QDBusArgument MapType fits all kinds of maps but when we try to stream a map of type
other than a{sv} (which the MRPIS spec requires) into a QVariantMap we would crash.
Explicitly check signature to avoid this.
BUG: 374531
FIXED-IN: 5.8.6
The MPRIS specification recommends to media players to distinguish instances of
them by appending its process id. For example this is supported by the Dragon
Player. The patch makes it possible for connected clients of MPRIS Dataengine
to query this directly and by that distinguish multiple instances of a player.
While clients were able to do this earlier already by checking the source name
and doing the same string operations as here, it's more convenient with this
patch, since they then don't have to do it on their own anymore but just need
to query the data.
Reviewers: #Plasma, davidedmundson
Tags: #Plasma
Differential Revision: https://phabricator.kde.org/D3667
While investingating properties of the MPRIS dataengine, I have noitced
that the :xsesam:url property in the metadata was encoded incorrectly. I
have several folders containing music with non-Latin characters, and
they showed up as ????.
After a quick chat with kbroulik on IRC, I decided to make this patch,
which uses UTF-8 instead.
Differential Revision: https://phabricator.kde.org/D2732
Summary:
Also set a consistent naming structure and to be only Info+ by default.
This may mean you need to update your logging rules if you want debug
output.
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: graesslin, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D1956
is possible it's null for an instant when the player quits
a call to start() in the moment between the app is closed and
the teardown is done is unlikely but apparently happens
BUG:361985
is possible it's null for an instant when the player quits
a call to start() in the moment between the app is closed and
the teardown is done is unlikely but apparently happens
BUG:361985