A fancy TUI client for Google Play Music.
TUIJam seeks to make a simple, attractive, terminal-based interface to listening to music for Google Play Music All-Access subscribers.
To install from source
git clone email@example.com:cfangmeier/tuijam.git cd tuijam python setup.py install --user
or from pypi
pip install --user tuijam
or from the AUR
yay -S tuijam # mainline yay -S tuijam-git # dev build
When you first launch TUIJam, it checks for a config file in
$HOME/.config/tuijam/config.yaml with the following content:
email: firstname.lastname@example.org password: your-password device_id: yourdeviceid
If this file doesn't exist, TUIJam will guide you through a first-time setup where you will need to supply your google music email, password, and (optionally) a separate password to encrypt your google credentials locally.
Note that if you have 2-factor setup on your Google account, you need to make an app-password for TUIJam.
True) Saves the current queue and reloads it when the app resumes
False) Switches the direction of mouse scrolling
- Get current song metadata (Title/Album/Artist)
- Get player status (Playing/Paused/Stopped)
- Play/Pause current song
- Next Song
If this causes problems for you, please feel free to create an issue, but this feature can also be disabled by placing the following line in your config file:
From version 0.3.0, Youtube videos are included in search results. By default, no video is shown during playback, but this can be changed by adding the following line to the config file:
The player supports Last.fm scrobbling. To enable it, you need to run:
API Key Management
Youtube and Last.fm integration uses api keys that are supplied by me. TUIJam queries them at runtime from a server that I maintain. If the server goes down, of if you would just prefer not to rely on it, you can specify your own keys in the config file. Keys are only queried if they are not present in the config file.
GOOGLE_DEVELOPER_KEY: "yourdeveloperkeyhere" LASTFM_API_KEY: "yourapikeyhere" LASTFM_API_SECRET: "yoursecrethere"
You can also run your own server using or adapting
key_server_example.py and setting your config file to point to your server.
ctrl-qadd all songs in search result to queue
ctrl-nmove to next song
ctrl-rview recently played songs
ctrl-wClear the current queue
ctrl-sshuffle queued songs (Note: If this hangs, try running
stty -ixonin your terminal and restarting
ctrl-uThumbs up the currently playing song
ctrl-dThumbs down the currently playing song
>seek forward 10 seconds
<seek backwards 10 seconds
shift-tabcycle focus through search/queue/input windows
ctrl-fmove to search bar
- In search window,
qAdd selected song/album to queue
shift-qAdd selected song/album to the top of queue (play next)
rCreate radio station around selected song/album/artist and add 50 songs from it to queue
eview information about selected song/album/artist
backspacego back in search/expand history
- In queue window,
shift-upmove selected song up in queue
shift-downmove selected song down in queue
ctrl-upmove selected song to the top in queue
ctrl-downmove selected song to the bottom in queue
xremove selected song from queue
- In input window,
- Type search query and press enter. Results are shown in search window.
- Enter an empty query to view the suggested "Listen Now" stations and albums.
This project is neither affiliated with nor endorsed by Google.