2015-10-07 23:08:50 +08:00
|
|
|
|
|
|
|
# Undefined
|
|
|
|
|
|
|
|
A self-hosted music streaming service, with a client written in JavaFX for a graded CS project.
|
|
|
|
|
2015-10-16 00:35:46 +08:00
|
|
|
Oh and here's the [report](REPORT.md).
|
|
|
|
|
2015-10-07 23:08:50 +08:00
|
|
|
## Features
|
|
|
|
|
2015-10-15 22:47:51 +08:00
|
|
|
* Host your music on you own [server](https://github.com/ambrosechua/Undefined-server). (incomplete)
|
|
|
|
* Stream via HTTP from anywhere around the world. (done)
|
|
|
|
* Albums, Artists, Songs. (done)
|
|
|
|
* Easy to use nw.js server interface. (incomplete)
|
2015-10-07 23:08:50 +08:00
|
|
|
|
2015-10-16 00:35:46 +08:00
|
|
|
## Obvious Bugs
|
|
|
|
|
|
|
|
* Can't autoplay next track. (An issue with Java's `MediaPlayer` being unable to trigger onEndOfMedia or the final duration)
|
|
|
|
* Glitches when seeking beyond buffer.
|
|
|
|
* Can't return to list of artists or albums when one is chosen.
|
|
|
|
* Occasional lagspikes probably due to JVM GC.
|
|
|
|
* Extremely confusing behaviour when stopped playing.
|
|
|
|
* `MediaPlayer` provides inaccurate lengths. (Causes problems when seeking)
|
|
|
|
* High memory usage.
|
|
|
|
|
|
|
|
## Future features (Probably not goint to be implemented anytime soon in the next millennium)
|
2015-10-07 23:08:50 +08:00
|
|
|
|
2015-10-16 00:35:46 +08:00
|
|
|
* Fix syncing
|
2015-10-07 23:08:50 +08:00
|
|
|
* Offline playback
|
|
|
|
* Improved UX
|
|
|
|
* Playlisting
|
|
|
|
|
2015-10-16 02:02:01 +08:00
|
|
|
## Screenshots
|
|
|
|
|
|
|
|
![](screenshots/1.png)
|
|
|
|
![](screenshots/2.png)
|
|
|
|
![](screenshots/3.png)
|
|
|
|
![](screenshots/4.png)
|
|
|
|
![](screenshots/5.png)
|
|
|
|
![](screenshots/6.png)
|
|
|
|
![](screenshots/7.png)
|
|
|
|
|
2015-10-07 23:08:50 +08:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
### Get server
|
|
|
|
|
|
|
|
#### Option 1: Devs
|
|
|
|
|
|
|
|
1. Get [node.js](http://nodejs.org)
|
|
|
|
2. `git clone https://github.com/ambrosechua/Undefined-server.git`
|
|
|
|
3. `cd Undefined-server`
|
|
|
|
4. `npm install`
|
|
|
|
5. `npm start`
|
|
|
|
6. Dump music according to structure in Wiki.
|
|
|
|
|
|
|
|
#### Option 2: Users
|
|
|
|
|
|
|
|
[Download](https://github.com/ambrosechua/Undefined-server/releases) the nw.js application, unzip it, run it.
|
|
|
|
|
|
|
|
### Get client
|
|
|
|
|
|
|
|
Download a prepackaged jar in [releases](https://github.com/ambrosechua/Undefined/releases). Run and enjoy!
|
2015-10-16 00:35:46 +08:00
|
|
|
|
|
|
|
### LICENSING
|
|
|
|
|
|
|
|
Someday I'll put this back under WTFPL.
|