No description
Find a file
2018-02-02 16:39:01 +02:00
clay Fixed playback for non-subscribed accounts. 2018-02-02 16:39:01 +02:00
docs Docs 2018-01-09 20:49:50 +02:00
images Initial 2017-12-28 15:09:40 +02:00
.flake8 Cleanups 2018-01-02 11:26:55 +02:00
.gitignore Docs 2018-01-06 14:01:57 +02:00
.pylintrc Cleanup & refactoring. 2018-01-08 21:54:25 +02:00
.travis.yml Linting 2018-01-06 01:58:53 +02:00
activate.sh Initial 2017-12-28 15:09:40 +02:00
LICENSE Initial commit 2017-12-28 15:06:14 +02:00
Makefile Docs 2018-01-06 14:01:57 +02:00
README.md Added track caching option & more debugging. 2018-02-01 17:25:52 +02:00
requirements.txt Added codename. 2018-01-30 16:26:20 +02:00
setup.py Fixed typo in setuptools install_requires 2018-01-31 18:50:36 +10:00
tox.ini Linting 2018-01-06 01:58:53 +02:00

Clay [alpha]

Build Status Documentation Status

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 alpha version, so many features are missing and/or may be bugged.

(Click the image below to see the screencast.)

asciicast

Quick start

sudo pip install clay-player
clay

Documentation

Documentation is available here.

Requirements

What works

  • Playback
  • Music library browsing & management
  • Playlists
  • Radio stations
  • Song search
  • Filtering results
  • Queue management
  • Notifications
  • Audio equalizer
  • Global hotkeys
  • Song file caching
  • Configuration UI
  • Token caching for faster authorizations
  • Song operations (add to library, start station etc.)
  • Caching (not for song data, that one is coming soon)
  • PYPI package

What is being developed

  • Like/dislike tracks
  • Playlist editing
  • Artist/album search
  • Other functionality that is supported by gmusicapi

Installation

  1. Install Python 3 and VLC.

Method 1 (PyPi, automatic)

Just install the player using pip:

pip install clay-player
clay

Method 2 (from source, manual)

  1. Clone the source code.

  2. Create & activate virtualenv:

    virtualenv .env
    source .env/bin/activate
    
  3. Install the requirements:

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

    ./clay/app.py
    

Configuration

  • Once you launch the app, use the "Settings" page to enter your login and password.
  • You will also need to know your Device ID. Thanks to gmusicapi, the app should display possible IDs once you enter a wrong one.
  • Please be aware that this app has not been tested with 2FA yet.
  • For people with 2FA, you can just create an app password in Google accounts page and proceed normally. (Thanks @j605)

Controls

General

  • <UP|DOWN|LEFT|RIGHT> - nagivate around
  • <ALT> + 0..9 - switch active tab

Songs

  • <ENTER> - play highlighted track
  • <CTRL> w - play/pause
  • <CTRL> e - play next song
  • <CTRL> a - append highlighted song to the queue
  • <CTRL> u - remove highlighted song from the queue
  • <CTRL> p - start station from highlighted song
  • <ALT> m - show context menu for this song

Playback

  • <CTRL> s - toggle shuffle
  • <CTRL> r - toggle song repeat
  • <SHIFT> <LEFT|RIGHT> - seek backward/forward by 5% of the song duration
  • <CTRL> q - seek to song beginning

Equalizer

  • + - increase amplification
  • - - decrease amplification

Misc

  • <ESC> or <CTRL> / or _ - close most recent notification or popup
  • <CTRL> x - exit app

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.