Desktop music player for streaming from free sources
Branch: master
Clone or download
nukeop Merge pull request #250 from nukeop/feature/dashboard/click-album-name
Fix to #192 : add ability to click on album name in dashboard to open
Latest commit 427b498 Feb 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Merge pull request #250 from nukeop/feature/dashboard/click-album-name Feb 9, 2019
build Add windows icon Apr 20, 2018
docs bullet indentation Feb 24, 2018
resources/media Added material for presskit. Jan 24, 2019
server Code quality : no-undefined Feb 5, 2019
test Update tests Aug 5, 2018
.babelrc Basic enzyme test setup Jul 23, 2018
.eslintrc.js Revert "Merge branch 'master' of https://github.com/Chandankkrr/nuclear" Feb 4, 2019
.gitignore Added prettier config file to gitignore Jan 11, 2019
.travis.yml build changes Aug 12, 2018
CONTRIBUTING.md Adding link to the contribute wiki Feb 1, 2019
LEGAL.md Rename LEGAL to LEGAL.md (#235) Feb 4, 2019
LICENSE Create LICENSE Jan 24, 2018
README.md Minor tweak to README.md Jan 28, 2019
index.html Caps Jan 21, 2019
index.prod.html Replace rollbar with sentry, load native node modules in production Aug 11, 2018
loader.css Fix loader issue Apr 29, 2018
package.json Update electron-builder Jan 30, 2019
webpack.config.dev.js Code quality (linter + minor fixes) Jan 24, 2019
webpack.config.electron.js Disable dbus functionality temporarily, change playlists key from Aug 15, 2018
webpack.config.electron.prod.js Disable dbus functionality temporarily, change playlists key from Aug 15, 2018
webpack.config.js production build setup Aug 22, 2017
webpack.config.prod.js Replace rollbar with sentry, load native node modules in production Aug 11, 2018

README.md

nuclear

Maintainability Codacy Badge Travis

Desktop music player focused on streaming from free sources

Official website

Mastodon

Twitter

Support channel (Matrix): #nuclear:matrix.org

What is this?

nuclear is a free music streaming program that pulls content from free sources all over the internet.

If you know mps-youtube, this is a similar music player but with a GUI. It's also focusing more on audio. Imagine Spotify which you don't have to pay for and with a bigger library.

Pre-alpha release

The current version is a pre-alpha early access. Some of it is usable, some of it isn't. If there are things that don't work as expected or are counterintuitive, please open an issue so I can prioritize working on them.

What if I am religiously opposed to using Electron for any and all purposes?

Then you are not the target audience of this program. See mps-youtube (link above) for a similar program that will not taint your machine with a library you happen to dislike.

On an unrelated note, highly polarized opinions about languages and frameworks are characteristic of people who lack real-world programming experience and are more interested in building an identity than creating computer programs.

Features

  • Searching for and playing music from youtube (including integration with playlists), bandcamp (including albums), and soundcloud
  • Searching for related songs in youtube
  • Downloading from youtube
  • Searching for albums (powered by last.fm and musicbrainz), album view, automatic song lookup based on artist and track name (in progress, can be dodgy sometimes)
  • Song queue, which can be exported as a playlist
  • Loading saved playlists (stored in json files)
  • Scrobbling to last.fm (along with updating the 'now playing' status)
  • Newest releases with reviews - tracks and albums
  • Browsing by genre

Planned features

  • Support for local files
  • Browsing by popularity
  • Country-specific top lists
  • Listening suggestions (similar artists, albums, tracks)
  • Unlimited downloads
  • Realtime lyrics
  • Locally stored library/favourites

Manual and docs

http://nuclearmusic.rtfd.io/

Community-maintained packages

Here's a list of packages maintained by third parties. We would like to thank the maintainers for their work.

We do not control these and cannot be held responsible for their contents, but if any of these appear suspicious to you, feel free to open an issue so we can reach out to the maintainers.

Package type Link Maintainer
AUR (Arch) https://aur.archlinux.org/packages/nuclear-player-bin/ mikelpint
Choco (Win) https://chocolatey.org/packages/nuclear/ JourneyOver

Screenshots

This will be updated as the program evolves.

laptop mockup 1

laptop mockup 2

album search

album display

artist view

dashboard

playlist view

genre view

Dev build process

Make sure you're using the latest version of Node and NPM. To develop the project locally, you should only do:

$ npm install
$ npm run watch

This launches webpack. It watches local files for changes and rebuilds the project as needed. The project also has hot reload built in. And in another terminal window:

$ npm run electron:dev

This launches a development version of the program. Tmux is very useful here so you can keep an eye on all running processes.


To run production version:

$ npm run build:dist
$ npm run electron:prod

To build for current operating system:

$ npm run build:dist
$ npm run build:electron
$ npm run pack

Instead of pack you can use build:all to build for all operating systems or build:[system] to build for a particular system (see package.json).

In case of errors with dbus/mpris, try removing optional dependencies from package.json and node_modules.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Support on Beerpay

Beerpay Beerpay