kaethorn / mp3-report Goto Github PK
View Code? Open in Web Editor NEWAlbum tag consistency reporter
License: MIT License
Album tag consistency reporter
License: MIT License
New checks:
They should apply to title
, album
, artist
& albumartist
.
Mutli disc albums should be flat and track numbers and totals should be across all discs. Disc numbers can still be set.
Artist A
- My Album
and
Arist B
- My Album
will hash to the same album and produce incomplete_album
errors.
Either hash by directory
instead of album
or hash by a pair of album
and artist
(which will probably interfere with various artist handling).
Currently checks only allows two digit track numbers 01/10
.
Enhance disc collection validation (e.g. the structure and sequence of the disc
tag).
Allow:
Disallow:
Make sure titles and album names use sentence case
Make sure each folder has one properly names cover image
Make sure all covers are of type Front Cover
.
Make sure file names adhere to a convention
Probably need to refactor meta data collection first in order to solve this.
So, here's an attempt to plan required structures:
Checks the relation between artists and their genre
Genre
⟵ Artist
multiple_artist_genres
: not more than one genre per artistChecks all files in relation to their album
Album
⟵ File
incomplete_album
incomplete_collection
truncation_warning
Errors for a particular File
are assigned to its Album
or Directory
.
File
⟵ Frame
missing_*
mp3_invalid_encoding
mp3_id3v1
, mp3_id3v2_obsolete
mp3_invalid_art_type
, mp3_invalid_art_size
, mp3_multiple_art
mp3_invalid_track
, mp3_invalid_disc
Each Album
belongs to a Directory
.
Album
⟵ Directory
fs_missing_cover
fs_multiple_album_directories
fs_invalid_artist_directory
File-System
Directory
⟵ File
.Directory
, look for file system cover art fs_missing_cover
File
s in 1. and attach a map: Directory
⟵ File
⟵ Tag
missing_*
mp3_invalid_encoding
mp3_id3v1
, mp3_id3v2_obsolete
mp3_invalid_art_type
, mp3_invalid_art_size
, mp3_multiple_art
mp3_invalid_track
, mp3_invalid_disc
Tag-Tree
Genre
⟵ Artist
Genre
⟵ Artist
⟵ Album
Genre
⟵ Artist
⟵ Album
⟵ Song
Genre
⟵ Artist
⟵ Album
⟵ Song
⟵ Tag
Genre
⟵ Artist
⟵ Album
⟵ Song
⟵ Tag
|
Directory
⟵ File
or better:
Genre
⟵ Artist
⟵ Album/Directory
⟵ Song/File
⟵ Tag
Each report must at least specify the directory so the user knows where to look for the error.
File-System
either have Directory
or File
, so those are covered.Genre
and Artist
can occur across multiple Album/Directory
s and need to report using the first encountered.Album
and Song
each have a corresponding file system node attached (Directory
and File
).The following relation does not hold:
Artist
⟵ Album/Directory
because
Album/Directory
⟵ Artist
So we actually need two trees forming a single one:
Album/Directory
⟵ Song/File
⟵ Tag
Album/Directory
⟵ Genre
⟵ Artist
This way the corresponding Directory
is always accessible. The two branches do not share checks.
Requires some kind of light weight HTML template.
Detect multiple albums per directory or multiple directories per album.
Use a map and report an error when adding a different value to the same key or an existing value to a different key. An album must belong to one directory and a directory must belong to one album.
The error multiple_artist_genres
should not apply to albums with an album artist of [Various Artists]
.
Make sure discnumbers are in format <num>/<total>
or empty.
Make sure each album has only one media type.
Make sure containing directory adheres to naming scheme.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.