Skip to content
A modern audio player built with Web technologies.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
build
electron
project
src
web
.editorconfig
.gitignore
LICENSE
PRIVACY_POLICY.md
Procfile
README.md
angular.json
build.sbt
package-lock.json
package.json
tsconfig.json
tslint.json

README.md

Musicalypse

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.

Features

  • 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

Musicalypse_screenshot

Build

Dependencies

To build both the frontend and backend of Musicalypse you will need:

Run

To run Musicalypse from source use the following commands:

For the server

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).

For the desktop

Run npm run electron:run and Musicalypse will launch inside electron.

Develop

Frontend development

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.

Backend development

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).

Electron development

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.

Stage

For the server

  • Expanded: npm run web:stage
  • Zip: npm run web:stage:zip
  • Tar: npm run web:stage:tar (linux only)

For the desktop

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.

Linux

npm run electron:stage:linux

Note: You should run this command on Linux only.

Windows

npm run electron:stage:windows

Note: You should run this command on Windows only.

Contributing

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 contact@creasource.net.

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.

Privacy Policy

Musicalypse does not collect any personal information.

For more information, please see PRIVACY_POLICY.

License

Licensed under the MIT License.

Copyright © Thomas Gambet

For more information, please see LICENSE.

You can’t perform that action at this time.