mdonoughe / obs-gpmdp

OBS Studio plugin for displaying information from Google Play Music Desktop Player
GNU General Public License v3.0
5 stars 1 forks source link

Archived. GPMDP doesn't seem to exist anymore.

obs-gpmdp

OBS Studio plugin for displaying information from Google Play Music Desktop Player

Usage

Dependencies

Installation

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".

Usage

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

GPMDP Album Art is simply the album art for the currently playing track. It should work like an image source.

GPMDP Now Playing

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:

Here are some simple templates that should work:

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.

Development

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.

Building

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.