Force APEValue type on save to mutagen.apev2.BINARY, it is needed because
mutagen is trying to detect type, and set it to TEXT, and when it is tested
on load (apev2.py _load()), it doesn't detect cover tag because it isn't of
the BINARY type as expected.
Due to minor timing differences when ripping a CD, it is common for
tracks to differ by up to 1s in length.
This commit enhances metadatabox to show lengths +/- 1s as matching.
Note: Means of converting mmm:ss to seconds is not elegant - anyone with
a better solution please say.
Resequenced ID3v2 fields so that they are together with ID3v1 fields
following - previously ID3v2 fields were split with an ID3v1 field
inbetween, This is less confusing to the user.
fpcalc and discid.dll are put in the development directories when you
build the development environment according to the instructions on the
musicbrainz web site - and they should not form part of the repo.
fpcalc and discid.dll are put in the development directories when you
build the development environment according to the instructions on the
musicbrainz web site - and they should not form part of the repo.
If overwrite was enabled, the else suite was executed which saved the
cover file once for each track of an album even if there was only one
file. Check if the filesize is the same as that of the file we're trying
to save - if it is, don't save the file again.
`load_cluster()` uses "artist" for looking up existing clusters, but
Cluster does not have a meta-data item "artist".
This bug does not show up when clustering all files at once (which
will be the case most times), as in this case a single cluster will be
calculated and only looked up once. But when clustering files in two
steps, a second cluster will be generated as the first one will not be
found.
Signed-off-by: brainz34 <brainz34@musicbrainz.org>
Since the global plugins (from picard/plugins) have been read *after*
the ones in user-plugindir, plugins got overwritten if they have the same
name. Now the user-plugindir is read after the globel one, thus the
user plugins are overwriting the global plugins -- which is more
appropriate.
Signed-off-by: brainz34 <brainz34@musicbrainz.org>