17 releases (stable)
1.4.1 | Jun 24, 2024 |
---|---|
1.4.0 | May 8, 2023 |
1.3.2 | Apr 25, 2023 |
1.2.2 | Jul 23, 2022 |
0.1.0 | Sep 6, 2018 |
#93 in Filesystem
27KB
610 lines
mack |
mack is an opinionated, fast music organiser. It enforces:
- Directory layout
- File name format
- Metadata consistency (e.g., consistent "feat" tagging)
- Format consistency (e.g., ID3 version)
- ...and more!
Examples of fixes
- Moving featured artists from the artist tag to the title
- Enforcing a consistent "feat" format in title tags
- Whitespace normalisation
- Renaming files to format "{artist}/{album}/{track} {title}", or another
format specified with
--fmt
Usage
See --help
. An example invocation is:
% mack --dry-run -o Music .
01 Pyramid.mp3: renamed to Music/宇宙コンビニ/染まる音を確認したら/01 Pyramid.mp3
02 8films.mp3: renamed to Music/宇宙コンビニ/染まる音を確認したら/02 8films.mp3
03 tobira.mp3: renamed to Music/宇宙コンビニ/染まる音を確認したら/03 tobira.mp3
04 Compass.mp3: renamed to Music/宇宙コンビニ/染まる音を確認したら/04 Compass.mp3
05 strings.mp3: renamed to Music/宇宙コンビニ/染まる音を確認したら/05 strings.mp3
You can see what would be changed first using --dry-run
.
Installation
cargo install mack
Performance
mack has a strong focus on performance. Files which were not updated since the last mack run will not be examined at all. On a sample modern laptop with a mid-spec SSD, this means that we only take 0.005 seconds to run over ~3500 files under most circumstances (0.015 seconds on the very first run).
Configuration
If you don't want a particular file to be touched by mack, add _NO_MACK
as a
substring anywhere in the comment tag.
Dependencies
~5.5–8MB
~139K SLoC