cli | ||
core | ||
rest-server | ||
.gitignore | ||
build.gradle | ||
README.md | ||
settings.gradle | ||
worklog.md |
What Do I Want To Listen To
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:
Implemented
- Song tagging.
- Playlists.
- Bookmarks (temporary song tag marking location in a playlist/album)
- Read meta-data from ID3.
TODO
- Web-based interface.
- Mobile interface (could implement the Subsonic API on the back-end to be able to use pre-made mobile apps)
- Transcoding on the fly.
- Read songs from Amazon S3.
- Stream from Amazon Cloudfront.
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
The current version, 0.1.0, is an alpha version. The CLI client depends on VLC and expects it to already be installed on the system.
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 uses
the Gradle 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