clay | ||
docs | ||
images | ||
.flake8 | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
activate.sh | ||
LICENSE | ||
Makefile | ||
README.md | ||
requirements.txt | ||
setup.py | ||
tox.ini |
- About
- Quick start
- Documentation
- Requirements
- What works
- What is being developed
- Installation
- Configuration
- Controls
- Troubleshooting
- Credits
Clay [alpha]
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.)
Quick start
sudo pip install clay-player
clay
Documentation
Requirements
- Python 3.x (native)
- gmusicapi (PYPI)
- urwid (PYPI)
- PyYAML (PYPI)
- libVLC (native, distributed with VLC player)
What works
- Playback
- Music library browsing & management
- Playlists
- Radio stations
- Song search
- Filtering results
- Queue management
- Notifications
- Audio equalizer
- Global hotkeys
- 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
- 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)
-
Clone the source code.
-
Create & activate virtualenv:
virtualenv .env source .env/bin/activate
-
Install the requirements:
pip install -r requirements.txt
-
Run the player:
./clay/app.py
Configuration
- In order to use this app, you need to know your Device ID. Typically gmusicapi should display possible IDs once you type a wrong one.
- Please be aware that this app has not been tested with 2FA yet.
Controls
General
<UP|DOWN|LEFT|RIGHT>
- nagivate around<ALT> + 1..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 .
I'll try to figure it out ASAP.
Most issues can be reproduced only with specific data coming from Google Play Music servers.
You can set CLAY_DEBUG
environment variable to 1
before launching Clay player.
This will dump all Google API calls & responses to the /tmp/clay-api-log.json
file.
You can attach this file when opening an issue here, but keep in mind that this file MAY contain some personal data, access tokens and/or Google account credentials that may allow others to use your account.
Credits
Made by Andrew Dunai.