Musicalypse is a modern audio player built with web technologies. It is available as an online or native version on main desktop platforms and provides a backend streaming server.
Developed in Typescript and Scala using Angular and akka.
Provided as a seemingly native application using electron.
Find out more on the official website.
- Supports mp3, ogg, flac and wav
- Streaming server for your local network or beyond
- Accessible by computer, tablets, or phones
- Lyrics
- Playlists
- Favorites and recent tracks
- Multiple artists/albums selection
- Themes
To build both the frontend and backend of Musicalypse you will need:
- Java JDK8
- sbt (scala build tool)
- Node & npm
To run Musicalypse from source use the following commands:
Run npm run web:run
and connect to http://localhost:8080.
You can then serve Musicalypse behind a regular Web server (e.g. apache or nginx) and add authentication and SSL (Help wanted to document how to do that).
Run npm run electron:run
and Musicalypse will launch inside electron.
Run npm run web:serve
and connect to http://localhost:4200.
You get hot reloading of the application on file modification.
If you work on electron-specific frontend features then run npm run electron:serve
.
In two consoles run:
sbt run
npm run ng:serve
And connect to http://localhost:4200.
Note: You have to manually close the server by pressing Enter
and restart it whenever you change a source file (help wanted to get hot reloading with akka-http).
To develop the electron integration run npm run electron:build
once to build dependencies and then run npm run electron:run:dev
every time you change an electron source file (in the electron/
folder).
TODO: improve workflow if possible.
- Expanded:
npm run web:stage
- Zip:
npm run web:stage:zip
- Tar:
npm run web:stage:tar
(linux only)
Musicalypse is packaged with a JRE (Java Runtime Environment) so you need a copy of your JRE in your target
folder.
You can get it easily by running npm run electron:jre
and entering the path to your JRE.
npm run electron:stage:linux
Note: You should run this command on Linux only.
npm run electron:stage:windows
Note: You should run this command on Windows only.
Please feel free to open tickets to report bugs, suggest new features, or request help.
If you don't have a github account you can do the same by sending an email to [email protected].
Even if you are not a developer don't hesitate to let us know what you like and what you dislike in Musicalypse, and how you think we can improve it.
Musicalypse does not collect any personal information.
For more information, please see PRIVACY_POLICY.
Licensed under the MIT License.
Copyright © Thomas Gambet
For more information, please see LICENSE.