PlayMusicCL
A command line client for Google Play Music.
No longer maintained
This project is no longer actively maintained. I haven't really got the time needed to mainthin this and have since stopped using the client for my personal use.
Install/Configuration
Install using python setup.py install
, which installs the majority of
dependencies; however, you will also need the Python GTK bindings (for GST):
- Debian-based systems:
sudo apt-get install python-gst*
- RHEL:
sudo yum install gstreamer-python* python-mock
- OS X:
brew install pygobject3 gstreamer
Configure by copying the example config file to your home directory: cp example.playmusicclrc ~/.playmusicclrc
, then edit as needed. The minimum
required settings are google_user
and google_device_id
. Use
GetDeviceID.py
to get the registered device IDs associated with your account,
then use one of them (minus the leading '0x') as your google_device_id
. If
no password is included in the config file, one will be requested when the app
starts (note that if using Google two factor authentication then you will need
to create an application specific password).
Remove the lastfm_
entries from the config file to disable Last.fm
integration.
Usage
From a terminal: playmusiccl
Once the app is running you will then have access to the following commands:
PLAY
- Pauses or unpauses playbackPAUSE
- Same asPLAY
P
- Same asPLAY
LIKE
- Loves the current song on Last.fm and gives it a Thumbs Up on Google PlayLOVE
- Same asLIKE
L
- Same asLIKE
EXIT
- ExitsNOW
- Shows the title and artist of the currently playing song.[return]
- Same asNOW
NEXT (n)
- Plays the nth song after the current song (n has no effect in random play mode, n can also be negative to skip back through tracks)N
- Plays next trackPMODE [random/linear] [repeat/norepeat]
- Specifies play options, if you have used any other media player they should be self explanatoryLIST (pn)
- Shows a list of all artistsLIST (pn) PLIST
- Shows a lit of all user playlistsLIST (pn) PLIST [playlist]
- Shows all songs in specified user playlistLIST (pn) [artist]
- Shows all albums by specifies artist (including albums they appear on)LIST (pn) [artist] [album]
- Shows all songs in specified album by specified artistQUEUE (pn)
- Show songs currently in the queue (in the order they are to be played)QUEUE PLIST [playlist]
- Add all songs from specified user playlist to queueQUEUE [artist]
- Adds all songs by specified artist to queueQUEUE [artist] [album]
- Adds all songs by specified album to queueQUEUE [artist] [album] [song]
- Adds specified song to queueCLEARQUEUE
- Stops playback and removes all songs from the queuePAM
- "Play Awesome Music": clears queue, queues "Thumbs Up" playlist, sets random playback and plays
Note that n
and pn
are optional parameters and both default to 1,
pn
denotes the number of the page to display.
Commands themselves are case insensitive, however artist, album, track and playlist names are case sensitive and must have correct spacing.
Command Examples
To see all albums by Eluvietie: list Eluveitie
To see all tracks in Spirit by Eluveitie: list Eluveitie Spirit
To add "...Of Fire, Wind and Wisdom" (in album Spirit) by Eluveitie to the
queue: queue Eluveitie Spirit "...Of Fire, Wind and Wisdom"
To see all playlists: list plist
To see all tracks in playlist "Symphonic Metal": list plist "Symphonic Metal"
To add all tracks from playlist "Symphonic Metal" to queue: queue plist "Symphonic Metal"