kdeconnect-kde/plugins/mpriscontrol
Àlex Fiestas dbea3171bd Make kdeconnect core compile without KDELibs4Support
This meant to add a lot of dependencies to each plugin since we had
KDELibs4support as PUBLIC link meaning that anything linking against
kdeconnectcore was linking at the same time to mostly all frameworks.

Now each plugin has more or less its dependencies in the CMake some
still depend on KDELibs4Support.

For the mousepad plugin I needed to add a fixX11.h file that basically
undefines/defines again some stuff xlib has that conflcits with normal
C++ and Qt.

Before it was not conflicting because some lib within KDELibs4Support
was including this file, but now we have to do it ourselves.
2014-09-22 02:40:51 +02:00
..
CMakeLists.txt Make kdeconnect core compile without KDELibs4Support 2014-09-22 02:40:51 +02:00
kdeconnect_mpriscontrol.desktop Document in the desktop files the outgoing types for the plugins 2014-06-14 20:35:00 +02:00
mpriscontrolplugin.cpp Make kdeconnect core compile without KDELibs4Support 2014-09-22 02:40:51 +02:00
mpriscontrolplugin.h Port mpris from kDebug to qCDebug 2014-09-22 00:44:47 +02:00
mprisdbusinterface.xml Move the plugins into a different top-ĺevel directory 2014-06-14 16:34:11 +02:00
propertiesInterface.xml First approach to a KF5 port of KDE Connect 2014-06-16 20:02:07 +02: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.