taggor
An audio tagger that moves your audio files, creating a consistent and sane file structure.
Usage
taggor takes 1 argument (input directory) and can take 2 flags: -v (verbose) and -o (output)
If -o is not provided, it will output everything into the same directory it was ran from.
It is recommended that you tag your audio files with Picard beforehand.
Building
You can use make to build taggor.
By default, make (or make release) will:
- get required dependencies (
go get)
- vendor dependencies (
go mod vendor)
- run tests (
go test ./... -v)
- build
taggor with debug symbols stripped (go build -o bin/ -ldflags="-s -w" -trimpath)
You can also:
make debug - build taggor with debug symbols (go build -o bin/)
make bench - benchmark taggor (go test ./... -v -bench=.)
make clean - clean up after make all (rm -r bin/ vendor/, go clean)
Examples
- Outputting into the same directory
$ tree
/home/Music
├── the_grudge.mp3
├── eon_blue_apocalypse.mp3
...
$ taggor .
$ tree
/home/Music
├── Tool
│ └── Lateralus
│ ├── 01 The Grudge.mp3
│ ├── 02 Eon Blue Apocalypse.mp3
...
- Outputting into a different directory
$ tree
/home/Music
├── the_grudge.mp3
├── eon_blue_apocalypse.mp3
...
$ taggor . -o /media/usb
$ tree /media/usb
/media/usb
├── Tool
│ └── Lateralus
│ ├── 01 The Grudge.mp3
│ ├── 02 Eon Blue Apocalypse.mp3
...