Archived. GPMDP doesn't seem to exist anymore.
OBS Studio plugin for displaying information from Google Play Music Desktop Player
Copy gpmdp.dll (or gpmdp.so or gpmdp.dylib) into the OBS Studio plugin directory. On Windows it'll be something like "C:\Program Files (x86)\obs-studio\obs-plugins\64bit".
obs-gpmdp adds two new sources to OBS. You will want to have something playing while you customize your scene because everything is supposed to autohide when nothing is playing.
GPMDP Album Art is simply the album art for the currently playing track. It should work like an image source.
GPMDP Now Playing is a custom text source that can be used to display information about the currently playing track. It takes most of the usual text source properties, except that it takes a template instead of static text.
The templates are rendered by [Tera]. Basically, you put placeholders inside double curly braces like {{title}}
and they get replaced with the values from GPMDP.
The allowable placeholders are:
{{artist}}
: displays the name of the artist{{album}}
: displays the name of the album{{title}}
: displays the title of the trackHere are some simple templates that should work:
{{title}}
{{artist}} - {{album}}
Tera has some other features too. Most of them probably aren't that useful in this case, but you can do things like {{title | upper}}
if you want the title to appear in all capitals. See the template documentation for more information.
obs-gpmdp is implemented as two Rust crates.
libobs-sys is just an API definition for OBS built using rust-bindgen.
obs-gpmdp is the plugin itself. Inside obs-gpmdp the obs module tries to be a generic Rust plugin API for OBS, but it's not documented and really only contains the parts required for obs-gpmdp.
obs-gpmdp is built using Cargo which should be installed if you follow the Rust installation instructions.
You will need to install Clang for rust-bindgen to work. See rust-bindgen requirements.
On Windows the build script will try to find an installation of OBS to link against. On other systems you may need to set environment variables so the linker can find OBS.