Skip to content

0nse/mopidy-gmusic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mopidy-GMusic

Latest PyPI version

Number of PyPI downloads

Travis CI build status

Test coverage

Mopidy extension for playing music from Google Play Music.

Maintainer wanted

Mopidy-GMusic is currently kept on life support by the Mopidy core developers. It is in need of a more dedicated maintainer.

If you want to be the maintainer of Mopidy-GMusic, please:

  1. Make 2-3 good pull requests improving any part of the project.
  2. Read and get familiar with all of the project's open issues.
  3. Send a pull request removing this section and adding yourself as the "Current maintainer" in the "Credits" section below. In the pull request description, please refer to the previous pull requests and state that you've familiarized yourself with the open issues.

As a maintainer, you'll be given push access to the repo and the authority to make releases to PyPI when you see fit.

Dependencies

You must have a Google account, and either:

  • have some music uploaded to your Google Play Music library, or
  • have a subscription for Google Play Music All Access.

Installation

Install the Mopidy-GMusic extension by running:

pip install mopidy-gmusic

Configuration

Before starting Mopidy, you must add your Google username and password to your Mopidy configuration file:

[gmusic]
username = alice
password = secret

If you use 2-step verification to access your Google account, which you should, you must create an application password in your Google account for Mopidy-GMusic. See Google's docs on how to make an app password if you're not already familiar with this.

All Access subscribers may enable All Access integration by adding this line:

[gmusic]
all_access = true

By default, the bitrate is set to 320 kbps. You can change this to either 128 or 160 kbps by setting:

[gmusic]
bitrate = 160

All Access radios are available as browsable content or playlist. The following are the default config values:

[gmusic]
# Show radio stations in content browser
radio_stations_in_browse = true
# Show radio stations as playlists
radio_stations_as_playlists = false
# Limit the number of radio stations, unlimited if unset
radio_stations_count =
# Limit the number or tracks for each radio station
radio_tracks_count = 25

Google Play Music requires all clients to provide a device ID. By default, Mopidy-GMusic will use your system's MAC address as the device ID. As Google puts some limits on how many different devices you can associate with an account, you might want to control what device ID is used. You can set the gmusic/deviceid config to e.g. the device ID from your phone where you also use Google Play Music:

[gmusic]
deviceid = 0123456789abcdef

The Android device ID is a 16 character long string identifying the Android device registered for Google Play Music, excluding the 0x prefix. 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).

On iOS the device ID is an UUID with the ios: prefix included. (TODO: Include instructions on how to retrieve this.)

Usage

The extension is enabled by default if all dependencies are available. You can simply browse through your library and search for tracks, albums, and artists. Google Play Music playlists are imported as well. You can even add songs from your All Access subscription to your library. Mopidy will able to play them.

Project resources

Credits

Changelog

v1.0.1 (2016-04-06)

  • Require gmusicapi >= 7.0.1.
  • Add I-feel-lucky playlists to radios.
  • Filter search results according to used search fields.
  • Default bitrate to 320 kbps in accordance with [gmusicapi#319](simon-weber/gmusicapi#319).

v1.0.0 (2015-10-23)

  • Require Mopidy >= 1.0.
  • Require gmusicapi >= 6.0.
  • Update to work with new playback API in Mopidy 1.0. (PR: #75)
  • Update to work with new search API in Mopidy 1.0.
  • Fix crash when tracks lack album or artist information. (Fixes: #74, PR: #24, also thanks to PRs #27, #64)
  • Log error on login failure instead of swallowing the error. (PR: #36)
  • Add support for All Access search and lookup (PR: #34)
  • Add dynamic playlist based on top rated tracks.
  • Add support for radio stations in browser and/or as playlists.
  • Add support for browsing artists and albums in the cached library.
  • Add cover art to Album.images model field.
  • Add background refreshing of library and playlists. (Fixes: #21)
  • Fix authentication issues. (Fixes: #82, #87)
  • Add LRU cache for All Access albums and tracks.
  • Increment Google's play count if 50% or 240s of the track has been played. (PR: #51, and later changes)
  • Let gmusicapi use the device's MAC address as device ID by default.
  • Fix increasing of play counts in Google Play Music. (Fixes: #96)
  • Fix scrobbling of tracks to Last.fm through Mopidy-Scrobbler. (Fixes: #60)
  • Fix unhandled crashes on network connectivity issues. (Fixes: #85)
  • Add gmusic/bitrate config to select streaming bitrate.

v0.3.0 (2014-01-28)

  • Issue #19: Public playlist support
  • Issue #16: All playlist files are playable now
  • Require Mopidy >= 0.18.

v0.2.2 (2013-11-11)

  • Issue #17: Fixed a bug regarding various artist albums (compilations)
  • Issue #18: Fixed Google Music API playlist call for version 3.0.0
  • Issue #16 (partial): All Access tracks in playlists are playable now

v0.2.1 (2013-10-11)

  • Issue #15: Fixed a bug regarding the translation of Google album artists to Mopidy album artists

v0.2 (2013-10-11)

  • Issue #12: Now able to play music from Google All Access
  • Issue #9: Switched to the Mobileclient API of Google Music API
  • Issue #4: Generate Album and Artist Search Results

v0.1.1 (2013-09-23)

  • Issue #11: Browsing the library fixed by implementing find_exact()

v0.1 (2013-09-16)

  • Initial release

About

Mopidy extension for playing music from Google Play Music

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%