A simple, clean and cross-platform music player, backed by a local P2P network. (museeks.io)
- Node.js for back-end
- electron (used to be atom-shell) for embedded browser
- React.js as front-end framework and Flux with Redux as data-flow pattern
- Lightweight music player
- Queue management
- Shuffle, loop
- Dark theme
- Playback speed control
- Sleep mode blocker
- Supported formats:
Builds can be found at this page. Please notice those are only portable versions. Installers are on the road.
Please consider that
master is unstable.
- Download Electron
- Download Museeks source code
- Put it in a folder called
npm install && npm run compile
- Run Electron
Museeks is currently in development. This implies some things can break after an update (database schemes changes, config...).
If you encounter freezes when starting the app, you can reset Museeks by following these steps:
- Go to the Museeks folder directory
- Restart Museeks
If you still get problems after that, please open an issue :)
If you want to report a bug, first, thanks a lot. To help us, please indicate your OS, your Museeks version, and how to reproduce it. Adding a screen of the console (Settings -> Advanced -> enable dev mode) is a big help too.
Read about the code architecture in
Fork and clone
Master is usually unstable, checkout to a tag to have a stable state of the app
Install the latest version of electron either by running
npm install -g electronor downloading the latest release available here and just drop the app on
You can use electron now with
electron [electronapp-dir]command if you installed electron using npm or by running your downloaded electron.
npm install && npm run devthen run in a separate terminal
npm run devwill watch for file changes using Webpack which will recompile JSX and SASS files.
Enable dev mode in the app in the settings view to show DevTools
Please respect a few rules:
- Before making complex stuff, don't hesitate to open an issue first to discuss about it
- Make the code readable and comment if needed
- Make sure
npm run lintpasses
Then open a PR :)