/nuclear

Streaming music player that finds free music for you

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

nuclear

Maintainability Codacy Badge nuclear Travis

Desktop music player focused on streaming from free sources

Showcase

Links

Official website

Mastodon

Twitter

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

Discord channel: https://discord.gg/JqPjKxE

Readme translations:

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.

What if I am religiously opposed to Electron?

See this.

Features

  • Searching for and playing music from YouTube (including integration with playlists), Jamendo, Audius and SoundCloud
  • Searching for albums (powered by Last.fm and Discogs), 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
  • No accounts
  • No ads
  • No CoC
  • No CLA

Manual and docs

https://nuclearmusic.rtfd.io/

Community-maintained packages

Here's a list of packages for various managers, most of which are maintained by third parties. We would like to thank the maintainers for their work.

Package type Link Maintainer
AUR (Arch) https://aur.archlinux.org/packages/nuclear-player-bin/ advaithm
AUR (Arch) https://aur.archlinux.org/packages/nuclear-player-git advaithm
Choco (Win) https://chocolatey.org/packages/nuclear/ JourneyOver
Homebrew (Mac) https://formulae.brew.sh/cask/nuclear Homebrew
Snap https://snapcraft.io/nuclear nukeop
Flatpak https://flathub.org/apps/details/org.js.nuclear.Nuclear advaithm

big thanks to ayyeve for letting me (advaithm) use her server as a compile machine.

Community translations

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.

Language Contributor
English N/A
French charjac, Zalax
Dutch Vistaus
Danish Hansen1992
Spanish mlucas94, emlautarom1
Polish kazimierczak-robert, gradzka
German schippas
Russian ramstore07, dmtrshat
Brazilian Portuguese JoaoPedroMoraes
Turkish 3DShark
Italian gello94
Slovak MartinT
Czech PetrTodorov
Tagalog giftofgrub
Traditional Chinese oxygen-TW
Swedish PalleKarlsson
Greek Shuin-San
Vietnamese HaiDang666
Finnish cjola002-xamk

Development process

First of all, be sure to check out the Contribution Wiki Page.

Use npm:

$ npm install # installs dependencies
$ npm start

A new window should open that will load the web app and run Nuclear.


To build for current operating system:

$ lerna bootstrap
$ npm run build

Instead of build you can use build:all to build for all operating systems. The binaries will be in packages/app/release


It's also possible to run the development environment using docker containers, but this should be considered experimental.

You will need docker and docker-compose. You need to allow the root user to connect to X11 display, and then you can run docker-compose:

$ xhost SI:localuser:root
$ sudo docker-compose up dev

As of now you can also build a flatpak version. You will need to install gobject-introspection, and flatpak-builder. After this you will need to install the runtimes and depedencies required by flatpak-builder for the compile process. You will need the 19.08 version of these flatpaks.

$ flatpak install flathub org.freedesktop.Platform
$ flatpak install flathub org.freedesktop.Sdk
$ flatpak install flathub io.atom.electron.BaseApp

Next, to build the project (use the --verbose flag to get more output):

$ flatpak-builder build-dir org.js.nuclear.Nuclear.json

To run the built app:

$ flatpak-builder --run build-dir org.js.nuclear.Nuclear.json run.sh

You can turn the app to a local repo. currently the file builds the latest release.

Screenshots

This will be updated as the program evolves.

Album Search

Album Display

Artist View

Dashboard Best New Music

Dashboard Genres

Playlist View

Lyrics View

Equalizer View

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.