Clay Player

Clay [beta]

Build Status Documentation Status PyPI version Maintainability

Standalone command line player for Google Play Music.

This app wouldn't be possible without the wonderful gmusicapi and VLC libraries.

This project is neither affiliated nor endorsed by Google.

It's being actively developed, but is still in the early beta stage, so many features are missing and/or may be bugged.

We're on IRC!

Screenshot:

Clay Player screenshot

Click the image below to see the screencast:

asciicast

Quick start

sudo apt install python-gi python-gi-cairo python3-gi python3-gi-cairo vlc keybinder python-keybinder
pip install --user clay-player
clay

Documentation

Documentation is available here.

Requirements

What works

What is being developed

Installation

Warning: The AUR and PyPy packages called python3-keybinder will not work with Clay since you need to use the official bindings. Since Ubuntu seperated the official bindings into a different package but with the same name as the unofficial one it can cause some confusion. So if you get a Namespace Keybinder not available warning it is probably caused by this. So, for example, on Arch Linux you need the libkeybinder3 package instead.

  1. Install Python 3, and VLC from your package manager.
  2. Optionally, you can install PyGObject, DBus for Python and keybinder plus bindings if you want global X keybinds.

Method 1 (PyPi, automatic)

Just install the player using pip:

pip install --user clay-player
clay

Method 2 (from source, manual)

  1. Clone the source code.

  2. Create & activate virtualenv with system packages:

    virtualenv --system-site-packages --prompt="(clay) " .env
    source .env/bin/activate
  3. Install the requirements:

    pip install -r requirements.txt
  4. Run the player:

    ./clay/app.py

Method 3 (in Docker)

Sometimes you want to run stuff in Docker. You can run Clay in docker as well.

There are two strict requirements:

Here's how you do it:

  1. Clone the source code

  2. Create "~/.config/clay" directory (to have proper volume permissions in docker)

    mkdir ~/.config/clay
  3. Build & run the image

    make run

You should get the sound working. Also docker will reuse the Clay config file from host (if you have one).

Configuration

Controls

General

Songs

Playback

Equalizer

Misc

X keybinds

NOTE: you need to pass the --with-x-keybinds flag for these to work

Troubleshooting

At some point, the app may fail. Possible reasons are app bugs, Google Play Music API issues, gmusicapi bugs, urwid bugs etc.

If you encounter a problem, please feel free to submit an issue. I'll try to figure it out ASAP.

Most issues can be reproduced only with specific data coming from Google Play Music servers.

Use "Debug" tab within app to select the error and hit "Enter" to copy it into clipboard. This will help me to investigate this issue.

Credits

Made by Andrew Dunai.

Regards to gmusicapi and VLC who made this possible.

People who contribute to this project: