Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cdown/mack
An opinionated, fast music organiser.
https://github.com/cdown/mack
audio command-line command-line-tool id3 mp3 music music-organizer organizer rename rust rust-lang tagging
Last synced: 3 days ago
JSON representation
An opinionated, fast music organiser.
- Host: GitHub
- URL: https://github.com/cdown/mack
- Owner: cdown
- License: mit
- Created: 2018-08-19T15:39:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-10T06:55:04.000Z (11 days ago)
- Last Synced: 2025-02-10T22:20:26.093Z (10 days ago)
- Topics: audio, command-line, command-line-tool, id3, mp3, music, music-organizer, organizer, rename, rust, rust-lang, tagging
- Language: Rust
- Homepage:
- Size: 163 KB
- Stars: 44
- Watchers: 3
- Forks: 6
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mack | [](https://github.com/cdown/mack/actions?query=branch%3Amaster)
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.mp3You 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.