connor 44b15c9961 Stop organize from reshuffling and overwriting files
Treat a file at a numbered variant of its target as already in place,
so tracks that render to the same path are not moved between the
numbered names on every run. Skip candidate paths another track holds
in the database, refuse to overwrite an existing file when moving or
copying, and move the file back if the DB update fails.
2026-10-26 12:51:53 -04:00
2026-03-17 18:22:20 -04:00
2026-10-26 12:02:26 -04:00
2026-03-17 18:22:20 -04:00

shanty-org

Music file organization and renaming for Shanty.

Organizes music files into a clean directory structure based on metadata, using configurable format templates. Works standalone (reading embedded tags) or from the Shanty database.

Usage

# Organize from a directory (standalone, reads tags from files)
shanty-org --source /music/messy --target /music/organized

# Organize all tracks in the database
shanty-org --from-db --target /music/organized

# Custom format template
shanty-org --source /music --target /music --format "{album_artist}/{album}/{disc_number}-{track_number} {title}.{ext}"

# Dry run (preview only)
shanty-org --source /music/messy --target /music/organized --dry-run -vv

# Copy instead of move
shanty-org --source /music/messy --target /music/organized --copy

Default Format

{artist}/{album}/{track_number} - {title}.{ext}

Example: Pink Floyd/The Dark Side of the Moon/03 - Time.flac

S
Description
Music organizer/mover for shanty
Readme
46 KiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 100%