kdeconnect-kde/plugins/mpriscontrol
Jun Bo Bi f4c7e12ea6 [mpriscontrol] add primitive windows support
Summary: Added primitive support for the mpriscontrol plugin on Windows by simulating VK_MEDIA key presses. I took a look into `ISystemMediaTransportControls`, but there doesn't seem to query it since it's per app. Leaving simulating key presses our only option for now. Completes T10000

Reviewers: kdeconnect, #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka

Tags: #kde_connect, #windows

Maniphest Tasks: T10000

Differential Revision: https://phabricator.kde.org/D17702
2018-12-21 19:24:06 +01:00
..
CMakeLists.txt [mpriscontrol] add primitive windows support 2018-12-21 19:24:06 +01:00
kdeconnect_mpriscontrol.json SVN_SILENT made messages (.desktop file) - always resolve ours 2018-10-24 05:55:51 +02:00
mpriscontrolplugin-win.cpp [mpriscontrol] add primitive windows support 2018-12-21 19:24:06 +01:00
mpriscontrolplugin-win.h [mpriscontrol] add primitive windows support 2018-12-21 19:24:06 +01:00
mpriscontrolplugin.cpp Support file url album art - Desktop 2018-03-25 13:45:01 +02:00
mpriscontrolplugin.h Support file url album art - Desktop 2018-03-25 13:45:01 +02:00
mprisdbusinterface.xml Maybe fix build with old version of Qt (or Dbus, not sure) 2017-01-05 00:35:01 +01:00
propertiesInterface.xml Maybe fix build with old version of Qt (or Dbus, not sure) 2017-01-05 00:35:01 +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.