• Stars
    star
    136
  • Rank 267,670 (Top 6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 11 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A command line client for Google Play Music

PlayMusicCL

A command line client for Google Play Music.

Code Health

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 playback
  • PAUSE - Same as PLAY
  • P - Same as PLAY
  • LIKE - Loves the current song on Last.fm and gives it a Thumbs Up on Google Play
  • LOVE - Same as LIKE
  • L - Same as LIKE
  • EXIT - Exits
  • NOW - Shows the title and artist of the currently playing song.
  • [return] - Same as NOW
  • 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 track
  • PMODE [random/linear] [repeat/norepeat] - Specifies play options, if you have used any other media player they should be self explanatory
  • LIST (pn) - Shows a list of all artists
  • LIST (pn) PLIST - Shows a lit of all user playlists
  • LIST (pn) PLIST [playlist] - Shows all songs in specified user playlist
  • LIST (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 artist
  • QUEUE (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 queue
  • QUEUE [artist] - Adds all songs by specified artist to queue
  • QUEUE [artist] [album] - Adds all songs by specified album to queue
  • QUEUE [artist] [album] [song] - Adds specified song to queue
  • CLEARQUEUE - Stops playback and removes all songs from the queue
  • PAM - "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"

More Repositories

1

NeoNextion

Arduino library for the Nextion displays
C++
48
star
2

GoogleMusicRadio

A hardware internet radio for Google Play Music.
Python
16
star
3

ArduinoRGBLighting

Arduino powered RGB lighting controller with HTTP access.
Java
15
star
4

GLCD-BitmapConverter

A tool to convert bitmap images to C arrays for GLCDs
Python
11
star
5

Reisen

A Google Cardboard clone
OpenSCAD
10
star
6

ArduinoUniversalInput

A universal input device library for Arduino
C++
10
star
7

FrSky_SPORT_Arduino

C++
6
star
8

dotfiles-legacy

Config files, scripts and such from the days of old.
Vim Script
5
star
9

matrix-mqtt-bridge

Bridge between MQTT and Matrix.
Rust
5
star
10

git-collage

A tool for selectively mirroring Git repositories.
Rust
4
star
11

emfcamp-2022

The silly things I am responsible for at EMF 2022
Rust
3
star
12

CSC3224_CSC3222_Gaming

Coursework for the CSC3224 Computer Games Development and CSC3222 Gaming Simulations modules at Newcastle University
C
3
star
13

emfcamp-schedule-api

Various things related to ingesting, manipulating and otherwise using the EMFcamp schedule API
Rust
3
star
14

pulseaudio-ptt

OpenSCAD
3
star
15

BubbleScopeCL

A BubbleScope 360 degree image capture and processing tool
C++
3
star
16

satori

Very simple NVR for IP cameras.
Rust
3
star
17

mmdvm-suite-containers

OCI images for G4KLX's suite of MMDVM related applications.
Nix
3
star
18

TouhouMonopoly

A Touhou themed Monopoly board
2
star
19

GettingStartedWithPythonAndRaspberryPi

Code and examples for the Getting Started with Python and Raspberry Pi book
Python
2
star
20

unipager-status-mqtt

A tool to publish UniPager status via MQTT
Rust
2
star
21

InteractiveCoffeeTable

An Arduino powered, internet enabled coffee table
C++
2
star
22

VOCALOID_Announcer

VOCALOID announcement generator
Python
2
star
23

matrix-dapnet-bot

Matrix bot that allows you to send pages over DAPNET
Rust
2
star
24

tildagon-hexpansion-devkit

A basic, quick and dirty development kit for hexpansions for the EMF Tildagon badge.
C++
2
star
25

UniversityNotes

Notes from university lectures
TeX
1
star
26

Dilbert

An interactive badge based on the ESP8266
Eagle
1
star
27

vm-templates

A selection of Packer VM templates I use.
HCL
1
star
28

CSC8503_AdvancedGameTechnologies

Coursework for the CSC8503 Advanced Game Technologies module at Newcastle University
C
1
star
29

EAGLE_Lib

EAGLE libraries
Shell
1
star
30

MIDIAccordion

A (very) basic MIDI accordion.
Arduino
1
star
31

KiCad_Lib

A meta collection of frequently used KiCad libraries.
Shell
1
star
32

Cirno

A combined hardware library for the TiLDA MKe
C++
1
star
33

snapperoo

A small, bare essentials utility for taking Btrfs snapshots.
Shell
1
star
34

IoT

Various internet connected devices
C++
1
star
35

Iku

Kit to convert an ATX PSU into a lab bench supply
Eagle
1
star
36

remote-closedown

Simple tool used to kill transmission from a remote amateur radio station, gateway or repeater.
Rust
1
star
37

aya

Another split keyboard, because the world does not have enough split keyboards.
Python
1
star
38

hexpansions

Hexpansions for the EMF Camp Tildagon badge
Python
1
star
39

DXF_Lib

My library of DXF parts
1
star
40

CSC8501_AdvancedProgrammingForGames

Coursework for the CSC8501 Advanced Programming for Games module at Newcastle University
C++
1
star
41

blog

Profile website
HTML
1
star
42

CSC3423_BioComputing

Coursework and practicals for the CSC3423 Bio Computing module at Newcastle University
Java
1
star
43

RF24Transport

A transport layer for nRF24 radios
C++
1
star
44

SCAD_Lib

My library of SCAD goodness
OpenSCAD
1
star
45

matrix-client-boilerplate

Boilerplate code used for Matrix client applications.
Rust
1
star
46

FP_StreamTimelapse

360 degree timelapse recorder for BubbleScope with MJPEG streaming to run on the RasPi
C++
1
star
47

mqtt-actor

Simple tool to schedule MQTT messages.
Rust
1
star
48

CSC8502_AdvancedGraphicsForGames

Coursework for the CSC8502 Advanced Graphics for Games module at Newcastle University
C
1
star
49

CSC3221_ProgrammingForGames

Coursework for the CSC3221 Programming for Games module at Newcastle University
C++
1
star
50

RaspberryPiBlueprints

Code for the Rasbperry Pi Blueprints book
Python
1
star
51

mqtt-rubric-publisher

Tool to publish news to DAPNET rubrics via MQTT.
Rust
1
star
52

CSC3095_Dissertation

3rd year dissertation
PostScript
1
star
53

cloudflare-ddns-updater

Tool to keep Cloudflare DNS records up to date with a dynamic/residential IP address.
Rust
1
star
54

ArduinoKeyboardLights

Learning keyboard lights powered by an Arduino
Arduino
1
star
55

CAD-Things

Various things I have designed for CNC manufacture
OpenSCAD
1
star
56

dotfiles

My Nix flavoured configs
Nix
1
star
57

yuugi

Rust
1
star
58

UrabeVocalSynth

A waveform and Japanese voice MIDI synthesiser
C++
1
star