Desktop music player focused on streaming from free sources
Support channel (Matrix):
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.
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 Electron?
- Searching for and playing music from youtube (including integration with playlists), jamendo, and soundcloud
- 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
- Radio mode (automatically queue similar tracks)
- Unlimited downloads (powered by youtube)
- Realtime lyrics
- Browsing by popularity
- List of favorite tracks
- Listening from local library
Nuclear has already been translated to several languages, and we're always looking for contributors who would like to add more. Below is a list of currently available languages, along with contributors who helped to translate Nuclear to that language.
Manual and docs
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.
This will be updated as the program evolves.
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
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.
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.