1
0
Fork
You've already forked caja
0
forked from OpenDJLab/cadja
A WIP music library indexer & database for DJs
  • Rust 99.9%
2024年01月28日 23:05:08 +00:00
crates Fix sorting 2024年01月28日 15:07:02 +01:00
.gitignore Here we go 2023年12月13日 23:17:16 -01:00
Cargo.lock Fix sorting 2024年01月26日 04:26:24 +01:00
Cargo.toml Fix sorting 2024年01月26日 04:26:24 +01:00
README.md - Add --output=print0 to use with xargs 2024年01月23日 17:21:17 +01:00
ROADMAP.md Fix sorting 2024年01月26日 04:26:24 +01:00
SPEC.md Start working on query language 2023年12月21日 19:01:13 +01:00

CAJA

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

  1. make sure you have rustup/cargo installed
  2. clone this repo
  3. cd into it
  4. cargo install --path ./crates/caja_cli

Examples

Indexing your music library

  1. Cd into your music folder.
  2. caja_cli init
  3. caja_cli index

Search examples

  • caja_cli query 'some test'
  • caja_cli query 'artist:Foo'
  • caja_cli query 'artist:"Foo & Bar"'
  • caja_cli query 'filename:".mp3"'
  • caja_cli query 'bpm:130..140'
  • caja_cli query '#hypnotic #techno'

Play query results with vlc:

caja_cli query '#hypnotic' --output print0 | xargs -r0 vlc