Git Product home page Git Product logo

google-play-music-desktop-player-unofficial-'s Introduction

Google Play Music™ Desktop Player

Join the chat at https://gitter.im/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL- Github All Releases GitHub version Code Climate Coverage Status Average time to resolve an issue PayPal donate button
Windows: Build status
MacOS / Linux: CircleCI

Run "Google Play Music" as a standalone desktop app. Never again will you have to hunt through your tabs to pause your music, or stop listening to your favourite song because Chrome is guzzling up all your RAM. Now also has YouTube Music player fully integrated.

Developed by Samuel Attard.

No affiliation with Google. Google Play is a trademark of Google Inc.

Download

Head over to our website http://www.googleplaymusicdesktopplayer.com to download the latest release for your platform.

OS Support

  • Windows 7 or later
  • Mac OS X 10.9.0 or later
  • Ubuntu 14.04 or later
  • Mint
  • Fedora
  • Debian

Features

  • Supports media keys (play, pause, stop, next, previous)
  • YouTube Music fully integrated!
  • last.fm & ListenBrainz Scrobbling and Now Playing support!
  • Discord Rich Presences Now Playing information
  • Hands free Voice Controls!
  • Desktop notifications on track change
  • A simplistic mini player
  • Dark Theme
  • Customizable accent color + CSS support
  • Task bar media controls (media controls embedded into the taskbar) Windows only
  • Smooth scrolling and overlay scrollbars for a nicer User Experience
  • HTML5 Audio Support - No more Adobe Flash Player 👍
  • Minimize to task bar for background music playing
  • Customizable hotkeys, no worries if you don't have media keys. Choose your own shortcuts
  • Choose your audio output device from within the player
  • Song Lyrics for those Karaoke nights
  • And a whole lot more coming soon!

Integrating with GPMDP from External Applications

There are two methods you can use to integrate with GPMDP from an external application.

  1. JSON Interface
  2. Web Socket Interface

Both are documented in the Docs folder. For one time read access you should probably use the JSON interface. For an application that requires continuous updates as to the state of GPMDP or needs to control GPMDP you should use the Web Socket interface.

Issues

If you have any bugs / issues please check the FAQ first before raising an issue

Credits

Logo designed by @JayToe

Development

To get started just pull the repo and run the following

npm install
npm run build
npm start

To build the installers / release packages you need to run, you can only build a platforms installer from that platform.

# Windows
npm run make:win

# Mac OS X
npm run make:darwin

# Ubuntu (Requires the 'dpkg' package)
npm run make:deb

# Fedora (Requires the 'rpm' package)
npm run make:rpm

All releases will be signing with my Code Signing Certificates (Authenticode on Windows and Codesign on OS X)

Please see the development FAQ for additional requirements for building.

Contributing

If you find something wrong (theming issues, app crashes) please report them as an issue.
If you think you can add something cool or fix a problem, fork the repo and make a pull request :D

NOTE: Some of the functionality in this app has been extracted into smaller submodules. In particular

Dev Requirements

  • Node.js (Recommend 6.3.x)
  • NPM (3.x.x)

Continuous Integration

We run tests and generate signed installers on three CI platforms

You can download the latest signed installers for Windows from the artifacts section of AppVeyor
You can download the latest linux (debian and fedora) and OS X (darwin) builds from the artifacts section on Circle CI

License

The MIT License (MIT)

Copyright (c) 2016 Samuel Attard

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

google-play-music-desktop-player-unofficial-'s People

Contributors

alberthdev avatar arkon avatar berryelectronics avatar brianallred avatar chrisb9 avatar dependabot[bot] avatar dylanlesko avatar funfrog-by avatar greenkeeperio-bot avatar ja-som avatar jacobmischka avatar jostrander avatar karbonitekream avatar kiitox avatar kreafox avatar kun2210 avatar lesthack avatar levrik avatar marshallofsound avatar metalmatze avatar mightypork avatar petuhovskiy avatar raederdev avatar raof avatar reduckted avatar rynti avatar seancline avatar solarliner avatar tankatronic avatar voria avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

google-play-music-desktop-player-unofficial-'s Issues

Enable/disable song name popup

It should be option to disable song popup (at the bottom right corner of the screen) because It distracts (I got mail messages there, for example) and I don't want to know each time what song is playing right now as I'm listening to known music and already know them all.

But the main complain about distraction which I can't turn off.

Keyboard shortcut issues with mini player.

Seems like the mini player does not like to skip more than 1 or 2 songs using the arrow keys. Regular window does not have this issue. Also, the spacebar does not pause tracks in the mini player like it does in the regular window. Instead, spacebar makes the mini player revert back to the standard window.

Feature Request: Make the Global hotkeys customizable

It would be great if users will be able to control music player with global keyboard shortcuts (for those who don't have media keys) which can be customized. For example, Google Chrome allows to set keyboard shortcuts for extensions but they are very limited as user can't set just "F11" or "Ctrl+F9".

It could be done from some sort of setting menu or editing some config file (in order to add this feature faster and make it configurable from the app later).

Here are the main player function for hotkeys:

  • Play/Pause (one shortcut for switching these two states)
  • Next song
  • Previous song
  • Volume Up
  • Volume Down
  • Mute Volume

Less important but can be useful:

  • "Like" current song. In order to add it to users library without opening the player. It would be good to show confirmation popup as feedback to user like action.
  • "Add to playlist" current song. On this action player should open with playlist selector.
  • Open player (just maximize it and send on top of all windows)

Feature Request: Portable Version

If possible it would be nice to have a portable version of this program that could be installed and store it's settings on a flash drive. It looks like the user settings file is the only file stored outside of the installation directory. Maybe this could be an option in the installer.

If a portable installation is selected I don't think the installer would require admin rights either which would be helpful for those on locked down computers.

It also may be possible to install a portable version of flash for this program, similar to what was done for Firefox over at PortableApps.com.

Feature request: Last.fm scrobbling

Hi,

I will also give it try to implement Last.fm scrobbling but wanted to throw this feature request out there if someone more skilled (or with more free time) wants to implement it before me :)

Desktop Notifications stealing focus.

Desktop notifications are stealing focus for the brief time they appear. This is very frustrating when working/typing and the user is interrupted every time a new song plays.

Mini player - Persistent Title and Controls

Is it possible to have a setting to keep the Mini player's song info and controls always visible rather than just on a mouse over? Sometimes I like to recall what song is currently playing but having to mouse over the mini player after I focus it is an annoying extra step, especially if I just use alt-tab to switch focus.

Great work by the way!

Additional auto-playlists, such as songs we've never listened to before?

A really awesome feature I'd like to see is the ability to have additional auto-playlists, such as one that can pull up music we've never listened to yet in our library, or perhaps music we haven't listened to in a long time. This is something I was hoping Google would implement, but is it possible it can be implemented on the client-side with this app?

Feature request: Mini player

GPM in Chrome uses a Chrome app as a mini player of sorts; it's not particularly good, but it does the job for people like me who love using mini players! I would love to see this app with an even better mini player implementation than the official Google one.

Forward and Back Navigation

Currently you can only navigate back with the backspace key and forward by clicking the correct link again.

Should implemented forward and back arrows somewhere on the UI

Force controls to hide

Windows controls (Close, Min and Max) are not considering the border in WndProc so we must hide them in CreateParams

Thumbs Up and Down buttons missing in Mini Player

There are no thumbs up and down buttons in the Desktop Mini Player. The web player places them prominently, then includes the shuffle and and repeat buttons above them. Also, it looks like text is cut off when the album title is too long. However, the web mini player omits the album title completely, only showing the song and artist names. Thoughts?

desktopminiplayer
webminiplayer

Resizeable mini player

The mini player implementation is great! I'd really love the ability to resize it though, as it's a little bit too big for my liking - and I can see it being an issue for people with lower resolution screens (unless it's resolution independent).

Clear CEF cache / settings

In the rare case (It hasn't happened yet) that something breaks GPM we should allow the user to manually reset the program to "original" state without having to manually delete the GPMDP folder in %APPDATA%.

Possibly a button that could go into the settings window mentioned in #26 and #27

Instant crash on startup on Windows 10

It doesn't start up properly and a debug.log won't even be created in the first place. I've tried setting the compatibility mode to Windows 7 but it didn't work. Any other ways of debugging that would help you?

GPM Lab Settings are not saved

Adding the custom theme setting to the labs section appears to have broken the original labs switches and now changing them fails with a GPM error message. Suggested fix is to move the custom theme switch to a settings window.

Possibly the same settings window as #26

Customize the Dark Theme

Present the user with a color picker (possibly in some form of a settings window) to choose the highlight color of the dark theme.

Cannot resize from the top edge of the window

It is not possible to resize the window vertically from the top edge of the window (including diagonally from the top-left and top-right corners). This is surprisingly important when the window is larger than the screen size (this can happen frequently in certain multi-monitor setups), as you cannot drag the window up in order access the bottom edge of the window.

Some functionality of GPM should be disabled

Functionality of GPM such as:

  • File upload
  • Google+ Notifications
  • Google App Selector

Should be disabled as it results in a bad UE if the user accidentaly navigates away from GPM through this features

Crashes on startup on Win 7

It just crashes on start. I'm running Win 7 x64. This might help I found an error in C:\Program Files (x86)\GPMDP\debug.log

[1125/081752:ERROR:renderer_main.cc(200)] Running without renderer sandbox
[1125/081824:ERROR:renderer_main.cc(200)] Running without renderer sandbox
[1125/081824:WARNING:backend_impl.cc(1778)] Destroying invalid entry.
[1125/081851:ERROR:renderer_main.cc(200)] Running without renderer sandbox
[1125/081851:WARNING:backend_impl.cc(1778)] Destroying invalid entry.
[1125/081904:ERROR:renderer_main.cc(200)] Running without renderer sandbox
[1125/081904:WARNING:backend_impl.cc(1778)] Destroying invalid entry.

How do I change the theme?

Doesn't seem like there is an obvious way to do so, unless I'm missing something? Do I have to change some file?

Remember window size when closing

It would be nice if the player remembered the window size (and perhaps position?) upon closing and restores this next time the app is opened (rather than initialises at the default 1080x720)

Windows window frame overlapping

The minimize, maximize and close buttons are being overlapped by the Windows window frame controls on Windows 7 Enterprise. Attached a little screenshot on how it looks like.
capture

Application "stops responding" randomly when closing.

This issue is very rare but for some reason when closing the application it displays windows "not responding" dialog. This means an exception is being thrown and not caught. Trying to replicate in a debug enabled build

Controls and Mini Player do not scale on High DPI displays

On displays which require Windows' High DPI scaling, such as my QHD+ Dell XPS 13 (250%), the window border controls and the mini player do not scale with the rest of the application. While the border controls are not a huge issue, this means that to use the mini player, I have to use "disable display scaling on High DPI settings" in the properties menu, which causes the entire application to become extremely blurry due to upscaling.
This is the main window, note the tiny window controls:
defaultscale

This is the mini player (yes, this is the entire thing). It is impossible to exit it:
mini4default

Feature Request: Scalable Text/UI

I'd like to make a feature request: Much in the same way that you can use Control+Scroll Wheel to increase or reduce the font size (and UI scaling) in the browser when you are visiting Google Play Music, it would be very awesome if you could scale the font and UI in this application. I find the default text size a bit too big and so I usually reduce the scaling to 75%. Not only is the text smaller, but you can fit more content on the screen. More albums to browse, more music to choose from. Seeing as how there is no context menu or any application-specific menus, this might need to be implemented only as a keyboard shortcut initially.

Cheers!

Dark theme error

When using the dark theme the curated playlists (top of listen now page) have white text on white background, you can only see them when you mouse over.

Really like the program though, Google should have done this a long time ago.

capture image-dark theme error

The "forward" and "back" buttons on a mouse do not function.

The side buttons on a mouse, commonly used to navigate forwards and backwards on websites, do not function in GPMDP. The user is forced to use the backspace key to navigate backwards. This issue does not exist in the web version of Google Play Music.

Can we get a 64 bit build?

Any CPU seems like it is always building 32 bit.....can we get a dedicated 64 bit version in addition to 32? Thanks!

Windows 10 animations

Version 1.6 brought up better looking frame, but minimize/maximize animation isn't working now.

Desktop Notification cut off

Looks like the notifications are cut off. Perhaps it is because my taskbar is on the right? Also, for long song info, the text is very small, nearly unreadable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.