A rainmeter plugin that adds support for the music info and playback controls from Google Play Music Desktop Player.
Included in this repo is an example skin that shows how to use every measure and bang as well as a more fleshed out skin to show the possibilities of this plugin.
Note: GPMDP currently has a bug with position being incorrectly reported to anything using its WebSocket API. If it is not fixed soon I will submit a patch myself.
If you would like to support this plugin and other plugins I make please check out my patreon
Feature complete - Focus is now on bug fixes and other small improvements. Focus has shifted to WebNowPlaying and a unified NowPlaying plugin.
- Standard media information (title, artist, album, cover, position, duration, progress)
- Standard media controls (play, pause, forward/rewind, shuffle, rewind, volume)
- Full Queue & lyrics support
- Rating support (thumbs up/thumbs down)
- Theming support (fetch colors from GPMDP themes)
- Automatic authentification to GPMDP
- Performance improvements when not using queue
- Storing image in temp when no location is declared instead of in your Rainmeter directory,
-
Title, Artist, Album
String of current playing songs info, blank if no info.
-
Cover
String that points to current album art, while downloading or if no album art points to the path of the default. Note: The image resolution can be up to 512 x 512 and also the image has not to be a square.
Attributes:
CoverPath - A system path to where to store the album art.
DefaultPath - A system path to what image to use when downloading the album art. -
CoverWebAddress
String of URL location of current album art, useful for doing an onChangeAction as cover will update twice when the song changes. This will only update once.
-
Position, Duration
String of how far into the song or how long the song is, formated MM:SS.
Attributes:
DisableLeadingZero - If set to 1 strings will be formatted as M:SS IncludeMS - If enabled any decimal context will include milliseconds added after the decimal place -
Progress
Double of how far into the song you are as a percentage. To clarify that number is formated ##.##### and has a predefined max of 100.00.
Attributes:
AsDecimal - If set to 1 changes scale of progress from 0-100 to 0-1, also changes MaxValue to 1 -
Repeat
Integer of if GPMDP is set to repeat. 0 is no, 1 is repeat one song, 2 is repeat all.
-
Shuffle
Integer of if GPMDP is set to shuffle. 0 is no, 1 is yes.
-
Rating
Integer of the rating of the song. -1 is thumbs down, 0 is no rating, 1 is thumbs up.
-
Volume
Integer between 0-100 of what the current volume is set in GPMDP.
-
Lyrics
String of the lyrics of the song. Note: While downloading the lyrics or if there are none known this string will be empty. Thus this changes twice on any song with lyrics and only once on a song without lyrics.
-
Queue
String of an info type from a location in the relative queue.
Attributes:
QueueLocation - An integer that is the song relative to the current song you want. Now queue length is dynamic so similar to before if the queue was not long enough if you try to access a location not in the queue you will get either "" "00:00" or "0" depending on the info type. So QueueLocation=-1 will give you info from the last song.
QueueType - A string that is either Title, Artist, Album, AlbumArt, Duration, PlayCount, or Index. Note duration accepts same flags as normal -
themetype
Integer of the type of theme GPMDP is using. 0 is white, 1 is black.
-
themecolor
String of RGB value without transparency of the theme color in GPMDP.
-
State
Integer of the play state of GPMDP. 0 is stopped, 1 is playing, 2 is paused.
-
ConnectionStatus
orStatus
Integer status of the connection to GPMDP.
-1 is plugin has not finished initializing and will become 0-2 in a moment, 0 is disconnected, 1 is connected but without remote control access, 2 is full connection.
Authentication should now be fully automatic so an authentication skin should not be necessary, but in the event it stays 1 the automatic authentication has failed.
-
SetPosition ##.####
Where ##.#### is a Double between 0-100. Sets the what percent of the way through the song the song is. Add + or - in front to set the position relatively.
-
SetVolume ###
Where ### is a Integer beween 0-100, add + or - in front to set the volume relatively.
-
Previous
,PlayPause
,Next
Self explanitory. Note: Previous sets the song back to the start before going back to the previous song, PlayPause is a toggle and there is not currently a play or pause that just does that if it is requested in the future I could hack together a way to add this but GPMDP does not support it.
-
Repeat
Toggles through repeat modes, order goes None -> Repeat All -> Repeat One ->
-
Shuffle
Toggles through shuffle modes, order goes None -> Shuffle All
-
ToggleThumbsUp
andToggleThumbsDown
Toggles the song being thumbed up or down, to set it to a specific state see SetRating.
-
SetRating #
Where # is an integer, -1 is thumbs down, 0 is no rating, 1 is thumbs up.
-
SetSong #
Where # is an integer, sets what song to play in the current queue. Add - or + before integer to access relatively. So -2 will set to the song 2 songs ago, 2 will set to the second song in the queue overall, and +2 will set it to 2 songs from current Note if you try to set a song outside the range of the queue it will clamp to the first or last song in the queue.
-
OpenPlayer
,ClosePlayer
andTogglePlayer
Opens, closes or toggles GPMDP. Useful since to correctly launch GPMDP requires pointing to the update.exe and adding an argument or changing it on every update.
-
key ####
orkeycode ####
- Deprecated, authentication is now automatic unless settings file can not be foundWhere #### is the 4 digit authentication code for GPMDP used to elavate connection status from 1 to 2, Note: this only has to be done once per machine and then it is saved in the rainmeter.data file. If connection status is 0 then GPMDP is not setup and doing this will do nothing.