kdeconnect-kde/plugins/mpriscontrol
Max Rumpf fbadf09fb5 mpriscontrol plugin should ignore playerctld
playerctld (https://github.com/altdesktop/playerctl/issues/161) is a proxy daemon for the currently active player by playerctl, which facilitates managing mpris players, forwarding requests to the currently active/last active player, and sorting out troubles with selecting the correct player manually.
Unfortunately, it also creates an annoying issue with kdeconnect: when playing media on the phone, kdeconnect publishes the state to the computer through the mprisremote plugin - then, playerctld picks it up as active player, and registers its own mpris media player. As a result, the mpriscontrol plugin sees this as a running media player, and in turn, publishes the state back to the phone, essentially creating another media session on the phone, resulting in two notifications. As playerctld is _always_ only a proxy to another media player (or kdeconnect), it can safely be ignored, just like kdeconnect itself already is. This commit adds an if check doing exactly that.
2020-05-20 21:12:33 +00:00
..
CMakeLists.txt Use generated DBus interface in mpriscontrol 2020-01-20 17:36:44 +01:00
kdeconnect_mpriscontrol.json SVN_SILENT made messages (.desktop file) - always resolve ours 2020-04-07 06:11:40 +02:00
mpriscontrolplugin-win.cpp Fix minor EBN issues 2019-12-22 09:49:55 +02:00
mpriscontrolplugin-win.h Fix minor EBN issues 2019-12-22 09:49:55 +02:00
mpriscontrolplugin.cpp mpriscontrol plugin should ignore playerctld 2020-05-20 21:12:33 +00:00
mpriscontrolplugin.h Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
org.freedesktop.DBus.Properties.xml Use generated DBus interface in mpriscontrol 2020-01-20 17:36:44 +01:00
org.mpris.MediaPlayer2.Player.xml Use generated DBus interface in mpriscontrol 2020-01-20 17:36:44 +01:00
org.mpris.MediaPlayer2.xml Use generated DBus interface in mpriscontrol 2020-01-20 17:36:44 +01:00
README Move the plugins into a different top-ĺevel directory 2014-06-14 16:34:11 +02:00

This plugin controls the playback of mpris-enabled applications in this device,
commanded by its counterpart in the other device that acts as a remote control.
That means both plugins are not symmetrical.

This plugins receives and sends packages with type kdeconnect.mpris.

It keeps a list of detected players it can control via MPRIS. When it receives
a package that contains the boolean "requestPlayerList" set to true, it will
send back the list of players in an array named "playerList". If a new player is
detected or a known one dissappears, it should also send this list. Note that
players are identified only by its name (its MPRIS Identity), so there can not
be two players with the same display name.

This plugins also reports the current song, extracted from MPRIS Metadata. It
should send it when it changes or when receiving a package containing a boolean
"requestNowPlaying" set to true.

The remote devices can send packages with commands to one of the players. Those
packages will contain a string "player" with the name of the player they want to
command and a string "action" with the name of an MPRIS call (like "Play",
"Next"...).

This plugin can also control the system volume. The peer device can send a
package with "requestVolume" set to true to ask for the current volume, or send
a package with "setVolume" set to an integer in the range [0,100] to change it.