Skip to content

Monyancha/nuclear

 
 

Repository files navigation

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

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

Packages

No packages published

Languages

  • JavaScript 79.1%
  • CSS 16.8%
  • HTML 4.1%