wdiwtlt/README.md

77 lines
2.1 KiB
Markdown
Raw Normal View History

# What Do I Want To Listen To
2016-04-20 17:45:28 +00:00
2015-12-03 20:28:29 +00:00
## A simple, tag-based music library manager.
This project is born out of a frustration I had managing my music library.
I have found playlists, genres, and other ways of organizing my music too
restrictive and cumbersome to keep up with. Here are the main features I want
out of music player, in order of priority:
2016-04-20 17:45:28 +00:00
### Implemented
2015-12-03 20:28:29 +00:00
* Song tagging.
* Playlists.
2016-04-20 17:45:28 +00:00
* Bookmarks (temporary song tag marking location in a playlist/album)
2015-12-03 20:28:29 +00:00
* Read meta-data from ID3.
2016-04-20 17:45:28 +00:00
### TODO
* Web-based interface.
* Mobile interface (could implement the Subsonic API on the back-end to be able
to use pre-made mobile apps)
2015-12-03 20:28:29 +00:00
* Transcoding on the fly.
* Read songs from Amazon S3.
* Stream from Amazon Cloudfront.
2016-04-20 17:45:28 +00:00
I have not found a music manager that gives me all of the above, so I'm
writing my own.
## Overview
WDIWTLT is currently made up of two subprojects:
* `core`
* `cli`
### `core`
`core` contains the data layer implementation, built with a lightweight ORM
layer over JDBC, and common functionality for managing a media library.
### `cli`
`cli` is a command-line interface built using the WDIWTLT core and VLC for
media playback.
## Install
2016-04-21 13:19:07 +00:00
The current version, 0.1.0, is an alpha version. The CLI client depends on
[VLC](http://www.videolan.org/vlc/) and expects it to already be installed on
the system.
2016-04-20 17:45:28 +00:00
2016-04-21 13:19:07 +00:00
To install the CLI client:
$ wget http://mvn.jdb-labs.com/repo/com/jdbernard/wdiwtlt-cli/0.1.0/wdiwtlt-cli-0.1.0.zip
$ unzip wdiwtlt-cli-0.1.0.zip
The `wdiwtlt-cli` binary is located in `wdiwtlt-cli/bin`, which you can add to
you `PATH` environment variable.
## Building From Source
The `wdiwtlt` project is written in [Groovy](http://www.groovy-lang.org/) uses
the [Gradle](http://gradle.org) build tool. If you do not already have a Groovy
environment installed you can do:
$ curl -s https://get.sdkman.io | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ yes | sdkman install groovy
$ yes | sdkman install gradle
Once you have Groovy and Gradle, the `wdiwtlt` project can be built by invoking
`gradle assembleDist`.
$ git clone https://git.jdb-labs.com/jdb/wdiwtlt.git
$ cd wdiwtlt
$ gradle assembleDist