This is a Squeezebox (Logitech Media Server) Plug-in for playing music from your Google Play Music library and All Access. It is based on the Python gmusicapi library and the ability of inlining Python in Perl programs.
- Overview
- Installation Requirements
- Installation
- Usage
- Dev Resources
- Donate for this Plugin
- Todo
- Credits
This is an fork of hechtus' googlemusic plugin for squeezebox which has ceased development.
- Logitech Media Server 7.8.0 or 7.9.1 or greater (some versions of 7.9.0
might work)
- Highly recommended to upgrade to one of the latest nightly builds if possible
- Python 2.7.x
- A Google Account
- An App Password if you have 2-Step Verification enabled on your account (see the Usage section below for more details)
This installation procedure will only work on Linux based systems. At the moment it is unknown if this works on Windows (contributions to the wiki will be greatly appreciated). If you want to install this plugin on macOS have a look at the Installation on macOS section below. Please let us know if you found a way to get this plugin running on non-Linux systems to extend this howto.
-
You will need a Google account and some music and/or playlists in your library. If you want to use Google Music All Access features you will need a subscription to this service.
-
Install Python and Python pip.
-
Install gmusicapi by running:
sudo pip install gmusicapi==10.1.2
-
The Google Music plugin requires the perl modules Inline::Python and IO::Socket::SSL to be installed. The following are instructions for installation on Debian and Redhat-based distributions.
-
If you're on a new enough version of Debian or Ubuntu, install the following packages:
sudo apt-get install libio-socket-ssl-perl libinline-python-perl
If they aren't available, install
python-dev
then continue on to installing the modules from cpan in the next step.sudo apt-get install python-dev
On redhat systems do:
If you're on a new enough Redhat based system, install the following packages:
sudo yum install perl-IO-Socket-SSL perl-Inline-Python
If they aren't available, install
python-devel
then continue on to installing the modules from cpan in the next step.sudo yum install python-devel
-
Install the Perl CPAN package Inline and Inline::Python by running:
sudo cpan App::cpanminus sudo cpanm --notest Inline sudo cpanm --notest Inline::Python sudo cpanm --notest IO::Socket::SSL
-
To install the plugin, add the repository URL https://squeezebox-googlemusic.github.io/squeezebox-googlemusic/repository/repo.xml to your squeezebox plugin settings page.
-
Save, restart the Logitech Media Server and continue on to the usage section.
The installation on macOS is quite similar to Linux. According to the reports for issue #28 you will have to do the following:
-
Open Terminal by typing
Terminal
in Spotlight. A command line interface should open. -
Install pip. To do that, type
sudo easy_install pip
Note: for this to work you need to have XCode (the Mac developer tools) installed, you will also need the Xcode command line tools, but XCode will prompt you to install them if you don't. Then go to step 5 below.
-
Alternatively, if you don't have and don't want to install XCode you can also download the
get-pip.py
script from here But please be aware that you are doing this at your own risk. You are installing a binary through a script downloaded from the internet without any verification... -
Change to the
Downloads
directorycd Downloads
-
Install gmusicapi by running:
sudo pip install gmusicapi==10.1.2
Important Note: At the moment you will need the developer version of gmusicapi. Install this version by doing:
sudo pip install git+https://github.com/simon-weber/gmusicapi.git@develop
-
Install the Perl CPAN package Inline and Inline::Python by running:
sudo cpan App::cpanminus sudo ARCHFLAGS="-arch i386 -arch x86_64" cpanm --notest Inline sudo ARCHFLAGS="-arch i386 -arch x86_64" cpanm --notest Inline::Python
-
Go to the Logitech Media Server with your browser. Visit the Plugins page and insert the repository URL for this Plugin at the bottom of the page: http://squeezebox-googlemusic.github.io/squeezebox-googlemusic/repository/repo.xml
-
Save, restart the Logitech Media Server and continue on to the usage section.
-
Go to the plug-in settings page and set your Google username and password for the Google Music plug-in.
Note: If you have 2-Step Vertification enabled on your account, you'll need to generate and use an application-specific password instead of your regular password. Follow the instructions in this support page to generate an App Password for the Google Music plug-in.
-
The mobile device ID is a 16-digit hexadecimal string (without a '0x' prefix) identifying an Android device or a string of the form
ios:01234567-0123-0123-0123-0123456789AB
(including theios:
prefix) identifying an iOS device you must already have registered for Google Play Music. On Android you can obtain this ID by dialing*#*#8255#*#*
on your phone (see the aid) or using this App (see the Google Service Framework ID Key). You may also use the scriptmobile_devices.py
to list all registered devices. If your Android or iOS device is already registered, you may leave the fieldMobile Device ID
empty. It will be filled in automatically after setting the username and password.Note: A registered PC MAC address will not work as a mobile device ID.
-
Enable All Access if you have an All Access subscription.
-
You will find the plug-in in the 'My Apps' section of the squeezebox menu.
- Current forum thread: Announce: Google Music plugin
- Previous forum thread (Hechtus's version): Google Music Plugin
- https://github.com/squeezebox-googlemusic/squeezebox-googlemusic/issues
- https://github.com/hechtus/squeezebox-googlemusic/issues
-
Install the required libraries* depending on your installed python version, you might have to use pip
sudo pip2 install gmusicapi==10.1.2 sudo apt-get install python-dev sudo apt-get install libio-socket-ssl-perl sudo cpan App::cpanminus sudo cpanm --notest Inline sudo cpanm --notest Inline::Python sudo cpanm --notest IO::Socket::SSL
-
configure permissions and clone the repo
sudo addgroup squeezeboxserver
sudo adduser YOURUSERNAME squeezeboxserver
- Now log out and log back in again, or do something like
sudo su YOURUSERNAME
cd /var/lib/squeezeboxserver/Plugins
sudo mkdir GoogleMusic
sudo chgrp squeezeboxserver GoogleMusic
sudo chmod g+wx GoogleMusic
cd GoogleMusic
# don't forget the dot at the end
git clone https://github.com/squeezebox-googlemusic/squeezebox-googlemusic.git .
sudo service logitechmediaserver restart
This plugin was originally written by hechtus. If you are enjoying this plugin feel free to donate to him.
I'm looking forward to your help. Feel free to contribute or to report bugs. Here are some things you may help on:
- Get this plugin running on non-Linux systems
- Add or improve translations to other languages
- Test the plugin with various Android or iOS Apps. Is it working with iPeng?
- Support for creating and deleting radio stations
- Improve Track and Album Info
- Hechtus: original plugin author
- Huub Bouma: All Access Support
- icons8: Icon design
- @jamesray2: macOS installation instructions