FlacComp (FLAC Compilation)
This application helps you keep your FLAC lossless albums tidy. Executing "actions", the flaccomp.py script validates your filenames and FLAC tags against a defined set of rules. What lies beneath is an intention to mantain a set of atomic simple actions against the files, while having the whole picture of the files and their associated meta tag information at a glance using only your command line shell and your favourite programming language — python, of course!.
This app is something I wrote for a quick look to the coherence of tags and filenames of my albums, to fix errors easily, to clean useless tags, and to follow the same patterns and basic rules for all my collections.
A common example is to verify all your tags common to all tracks (i.e. 'album', 'artist' or 'date') have the same value. For example, if you find that the file for the track 3 in your Bob Marley's album "Redemption" contains some mistake like "Rdemptn", this is bad, and you will want to change it to match the same value "Redemption".
Download
You can find the latest version in my bitbucket repository:
http://bitbucket.org/nabucosound/flaccomp/
Installation
I use pip, virtualenv and virtualenvwrapper to configure an isolated environment and have it ready to use whenever I am going to use FlacComp. So create your isolated working environment and execute pip install -r requirements.txt inside FlacComp's directory to install dependencies.
Dependencies
FlacComp is making use of the mutagen module to handle audio metadata.
Configuration
The app is ready to use with default configuration settings found in settings.py. However, the settings file is here for you to modify it with your particular taste when renaming your track filenames or mantaining your meta tag values.
Usage
flaccomp.py is the script that uses the compilation.py module to parse all FLAC files inside a directory and get all info needed. Type 'flaccomp.py help' to get general information and to see all action commands avaliable. To get help on a particular command type 'flaccomp.py help [action]'.
The first action you probably want to execute is 'show':
flaccomp.py show -d path/to/flacalbumdir
This command outputs information from the tracks such as common tags, title and tracknumbers, and filenames. Use this command to see what further actions need to be done, as well as to check your changes made. If something wrong is detected (a common tag value not uniform in all tracks, or a filename not correctly named) it will appear highlighted in red.
Execute the actions you consider needed in order to fix your collection, like renaming filenames using tag values or deleting unwanted common tags.

