It is currently October 22nd, 2018, 12:21 am

Google Play Music Desktop Player Plugin. Includes media controls

Share your custom plugins and applications to enhance Rainmeter.
User avatar
tjhrulz
Developer
Posts: 221
Joined: October 13th, 2016, 1:28 am
Location: Earth

Google Play Music Desktop Player Plugin. Includes media controls

tjhrulz » February 5th, 2017, 5:49 am

So I finished documenting everything so I figured I would release the plugin on here.
Basically this plugin adds every feature available in NowPlaying (Except genre, year, and track #) to GPMDP, as well as a few extra info types. Supports the standard array of bangs.

You are free to redistribute my plugin with your skins.
Also with the latest version you no longer need an authentication skin as authentication is now automatic

The documentation and code is all available on my github but to break down the types quickly for you here.

Updated to version 1.4.1
Planned for next version: Performance improvements when not using the queue. Ability to download album art from queue

Changelog:
August, 28, 2017
CPU improvements

May, 26, 2017
Automatic queue length
DisableLeadingZero for Position and Duration
AsDecimal for progress
Better default cover handling so each skin gets its own
Better theme color support so they are retained after GPMDP is closed

May, 15, 2017
Automatic authentication
Progress and SetProgress are now doubles not ints
Queue search improvements
Fixed possible crashes

Feb, 8, 2017
Now supports a queue of last 10 songs and next 10 songs
Small memory enhancements

Feb, 7, 2017
Performance enhancements
Cover now has a fallback store location and if GPMDP is closed will point to the default cover location.

Feb, 6, 2017
Values now reset to default values on GPMDP close
Position and duration now have default values of 00:00
Fixed a memory leak that would happen if GPMDP was closed.
All of these are defined with PlayerInfo=

Title - String
Artist - String
Album - String
Cover - Path
  • Attributes:
    DefaultPath - Path (Value of the measure when album art is still downloading)
    CoverPath - Path (Value of the measure when album art is done downloading, where album art is downloaded to)
CoverWebAddress - String (Updated only once album art is downloaded)
Position - String & Int/Decimal
  • Attributes:
    DisableLeadingZero - Integer (Same as normal now playing)
    IncludeMS - Integer (If 1 number context will be a decimal and include milliseconds after decimal point)
Duration - String & Int/Decimal
  • Attributes:
    DisableLeadingZero - Integer (Same as normal now playing)
    IncludeMS - Integer (If 1 number context will be a decimal and include milliseconds after decimal point)
Progress - Percent (Double) MaxValue: 100
  • Attribute:
    AsDecimal - Integer (Changes maxValue to 1 and set scale to be from 0 to 1 instead of 0 to 100)
Repeat - 0, 1 or 2
Shuffle - 0 or 1
Rating -1, 0, or 1
Volume - Percent (Integer) MaxValue: 100
Lyrics - String (Null while loading lyrics)
Queue - List
  • Attributes:
    QueueLocation - Integer (Location of song to read from queue relative of current, i.e the song two songs ago is QueueLocation=-2, if outside of queue length values will be default values or blank)
    QueueType - String [Title, Artist, Album, AlbumArt, Duration, PlayCount, or Index](Note AlbumArt returns a URL)
ThemeType - 0 for light, 1 for dark
ThemeColor - Comma Seperated RGB Value
State - 0, 1, 2
Status - -1, 0, 1, 2

As for supported bangs
SetPosition ### (Where ### is a double between 0-100, can be relative by adding + or - to beginning)
SetVolume ### (Where ### is an int between 0-100, can be relative by adding + or - to beginning)
Previous
PlayPause
Next
Repeat
Shuffle
OpenPlayer
ClosePlayer
TogglePlayer
ToggleThumbsUp
ToggleThumbsDown
SetRating # (Where # is -1 for thumbs down, 0 for no rating, 1 for thumbs up)

Link to github: https://github.com/tjhrulz/GPMDP-Plugin
Link to latest release: https://github.com/tjhrulz/GPMDP-Plugin/releases/tag/1.3.2
You do not have the required permissions to view the files attached to this post.
Last edited by tjhrulz on August 29th, 2017, 4:46 pm, edited 7 times in total.
User avatar
MarcoPixel
Posts: 35
Joined: June 8th, 2012, 9:43 am
Location: Austria

Re: Google Play Music Desktop Player Plugin. Includes media controls

MarcoPixel » February 5th, 2017, 8:21 pm

Cool stuff, works great and no issues!

It's also really easy to implement, it's similar to NowPlaying.
User avatar
tjhrulz
Developer
Posts: 221
Joined: October 13th, 2016, 1:28 am
Location: Earth

Re: Google Play Music Desktop Player Plugin. Includes media controls

tjhrulz » February 7th, 2017, 1:30 am

I have updated the plugin to address a memory leak as well as tweak how a few variables are handled internally for better consistency. I plan to further tweak a few variables as well as increase performance as in order to fix that memory leak the plugin has to do a process search on a somewhat regular basis (The plugin still normally sits a 0.0% usage but when GPMDP is closed I have seen it spike up to 0.3% on my i5).

Edit: Updated now to 1.1.2, CPU usage back down to <0.0% when GPMDP is closed.
User avatar
tjhrulz
Developer
Posts: 221
Joined: October 13th, 2016, 1:28 am
Location: Earth

Re: Google Play Music Desktop Player Plugin. Includes media controls

tjhrulz » February 9th, 2017, 1:45 am

I have also now added support for accessing the queue from GPMDP.

So for example:

Code: Select all

[MeasureNextSongTitle]
Measure=Plugin
Plugin=GPMDPPlugin
PlayerInfo=Queue
QueueLocation=1
QueueType=Title
Will get the title of the next song. You can get up to 10 songs in the past and 10 songs in the future (As well as the current song) and can get Title, Artist, Album, AlbumArt, Duration, PlayCount, and Index. Note AlbumArt is for the time being just the URL of the album art, and index is the index in the overall queue for GPMDP. Also note that all info will the blank ("") if there is not a song in that location in the queue, so feel free to as a substitute like Substitute="":"N/A"

In the future it will have an album art downloader as well as I hope to make its length expand based on need so you can get as many songs as you want into the past or future.
User avatar
jsmorley
Developer
Posts: 18152
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Google Play Music Desktop Player Plugin. Includes media controls

jsmorley » February 9th, 2017, 3:22 am

Google Play Music has a lot going for it. It's busy uploading my 6,000 or so songs on my PC to the cloud now, and then I'll give it a real go. Nice to be able to get at my entire music collection from any device, anywhere.

Once I get the hang of the site and various apps, I'll give the plugin a go in Rainmeter and see how that is...

Thanks for sharing this with the community.
User avatar
tjhrulz
Developer
Posts: 221
Joined: October 13th, 2016, 1:28 am
Location: Earth

Re: Google Play Music Desktop Player Plugin. Includes media controls

tjhrulz » April 20th, 2017, 8:59 pm

I just realized I never added to the documentation how to use the queue, I am adding that now.
User avatar
tjhrulz
Developer
Posts: 221
Joined: October 13th, 2016, 1:28 am
Location: Earth

Re: Google Play Music Desktop Player Plugin. Includes media controls

tjhrulz » May 16th, 2017, 1:09 am

Updated OP to version 1.3.2, now no longer needs a special skin to authenticate and will automatically authenticate with no user interaction.
User avatar
tjhrulz
Developer
Posts: 221
Joined: October 13th, 2016, 1:28 am
Location: Earth

Re: Google Play Music Desktop Player Plugin. Includes media controls

tjhrulz » August 29th, 2017, 4:48 pm

Fixed a performance issue related to the connection thread, you should update if you are using an older version of the plugin.