Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tgambet/musicalypse
A modern audio player built with Web technologies.
https://github.com/tgambet/musicalypse
akka-http angular electron music music-player ngrx streaming-audio
Last synced: 4 days ago
JSON representation
A modern audio player built with Web technologies.
- Host: GitHub
- URL: https://github.com/tgambet/musicalypse
- Owner: tgambet
- License: mit
- Created: 2018-03-07T20:57:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-06-16T11:45:48.000Z (over 5 years ago)
- Last Synced: 2024-08-02T12:52:04.441Z (3 months ago)
- Topics: akka-http, angular, electron, music, music-player, ngrx, streaming-audio
- Language: TypeScript
- Homepage: https://musicalypse.creasource.net
- Size: 1.91 MB
- Stars: 20
- Watchers: 3
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - tgambet/musicalypse - A modern audio player built with Web technologies. (music)
README
# 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](https://www.typescriptlang.org/) and [Scala](https://www.scala-lang.org/) using [Angular](https://angular.io/) and [akka](https://akka.io/).
Provided as a seemingly native application using [electron](https://electronjs.org/).
Find out more on [the official website](https://musicalypse.creasource.net).
![GitHub All Releases](https://img.shields.io/github/downloads/tgambet/musicalypse/total.svg?style=flat-square)
## 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](https://musicalypse.creasource.net/img/musicalypse-ipad-4.png)](https://musicalypse.creasource.net)
## Build
### Dependencies
To build both the frontend and backend of Musicalypse you will need:
* Java JDK8
* [sbt (scala build tool)](https://www.scala-lang.org/download/)
* [Node & npm](https://nodejs.org/en/download/)### Run
To run Musicalypse from source use the following commands:
#### For the server
Run `npm run web:run` and connect to [http://localhost:8080](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](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](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 [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.
## Privacy Policy
Musicalypse does not collect any personal information.
For more information, please see [PRIVACY_POLICY](https://github.com/tgambet/musicalypse/blob/master/PRIVACY_POLICY.md).
## License
Licensed under the MIT License.
Copyright © Thomas Gambet
For more information, please see [LICENSE](https://github.com/tgambet/musicalypse/blob/master/LICENSE).