/nuclear

User freedom-oriented streaming music player - welcoming to new contributors

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, 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

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/ mikelpint
Choco (Win) https://chocolatey.org/packages/nuclear/ JourneyOver
Homebrew (Mac) https://formulae.brew.sh/cask/nuclear Homebrew
Snap https://snapcraft.io/nuclear nukeop

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

Development process

Use lerna:

$ npm i -g lerna #installs lerna globally
$ lerna bootstrap
$ 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.

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

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.