A WIP music library indexer & database for DJs
- Rust 99.1%
- Nix 0.6%
- Shell 0.3%
banner
Caja is a WIP project to bring an open source alternative to the Rekordbox PDB concept. It comes as a rust library to embed in your own project and with a cli tool to use from your terminal.
ATTENTION: This is not battle tested. Make sure you have a backup of your music library. Try at your own risk!
Current status
- Simple (re)indexing
- Simple query language to create smart playlists and search the index
- Indexing playlists
- Rebuilding smart playlists on change
- Modifying metadata with caja
- Many fields are missing
How to install
- make sure you have rustup/cargo installed
- clone this repo
- cd into it
cargo install --path ./crates/caja
Examples
Indexing your music library
- Cd into your music folder.
caja initcaja scan
Search examples
caja search 'some test'caja search 'artist:Foo'caja search 'artist:"Foo & Bar"'caja search 'filename:".mp3"'caja search 'bpm:130..140'caja search '#hypnotic #techno'caja search '#hypnotic & (#groovy | bpm:>130)'caja search 'tag:=0'find untagged files
Play query results with vlc:
caja search '#hypnotic' --output print0 | xargs -r0 vlc