Jonathan Bernard
00a49723a9
- Use VLC instance to parse metadata from the media files. - Switched to MD5 for hashing the files. - Switched to using the file location as the proxy for if we have seen the file rather than hash. Hashing every file was slow. - Moved away from using jsonutils {to, from}Json methods for persistence of the libraryt DB. For simple objects it works well, but serialized the internal implementation of tables, etc. Now using a hybrid. Still use jsonutils for a number of the models, but have custom code to serialize TableRefs and other data structures. |
||
---|---|---|
lib/win64 | ||
src/main/nim | ||
.gitignore | ||
devlog.yaml | ||
Makefile | ||
README.md | ||
wdiwtlt.nimble |
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:
- Song tagging.
- Playlists.
- Bookmarks (temporary song tag marking location in a playlist/album)
- Read meta-data from ID3.
- 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 will be made up of multiple subprojects:
core
cli
api
web
core
core
contains the data layer implementation, built with the fiber-orm
layer over SQLite, 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.
api
api
be a REST API implemented on top of the WDIWTLT core providing access to
the WDIWTLT database (exposed by the core)
web
Install
Building From Source
Linking to VLC
Windows
WIP notes as I develop
Copy libvlc.dll
and libvlccore.dll
from the VLC installation folder.