Desktop music player focused on streaming from free sources
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.
Rewritten from scratch
This version of Nuclear has been rewritten from scratch and released in version 0.4.0. The code is completely new, much more maintainable and extensible.
- 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
- 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
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
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.