beets 1.3.2
This update brings new plugins for fetching acoustic metrics and listening statistics, many more options for the duplicate detection plugin, and flexible options for fetching multiple genres.
The "core" of beets gained a new built-in command: beet write
updates the metadata tags for files, bringing them back into sync with your database. Thanks to Heinz Wiesinger.
We added some plugins and overhauled some existing ones:
- The new
echonest
plugin can fetch a wide range of acoustic attributes from The Echo Nest, including the "speechiness" and "liveness" of each track. The new plugin supersedes an older version (echonest_tempo
) that only fetched the BPM field. Thanks to Pedro Silva and Peter Schnebel. - The
duplicates
plugin got a number of new features, thanks to Pedro Silva:- The
keys
option lets you specify the fields used detect duplicates. - You can now use checksumming (via an external command) to find duplicates instead of metadata via the
checksum
option. - The plugin can perform actions on the duplicates it find. The new
copy
,move
,delete
,delete_file
, andtag
options perform those actions.
- The
- The new
mpdstats
plugin collects statistics about your listening habits from MPD. Thanks to Peter Schnebel and Johann Klähn. lastgenre
: The newmultiple
option has been replaced with thecount
option, which lets you limit the number of genres added to your music. (No more thousand-character genre fields!) Also, themin_weight
field filters out nonsense tags to make your genres more relevant. Thanks to Peter Schnebel and rashley60.lyrics
: A new--force
option optionally re-downloads lyrics even when files already have them. Thanks to Bitdemon.
As usual, there are also innumerable little fixes and improvements:
- When writing ID3 tags for ReplayGain normalization, tags are written with both upper-case and lower-case TXXX frame descriptions. Previous versions of beets used only the upper-case style, which seems to be more standard, but some players (namely, Quod Libet and foobar2000) seem to only use lower-case names.
missing
: Avoid a possible error when an album'stracktotal
field is missing.ftintitle
: Fix an error when the sort artist is missing.echonest_tempo
: The plugin should now match songs more reliably (i.e., fewer "no tempo found" messages). Thanks to Peter Schnebel.convert
: Fix an "Item has no library" error when using theauto
config option.convert
: Fix an issue where files of the wrong format would have their transcoding skipped (and files with the right format would be needlessly transcoded). Thanks to Jakob Schnitzer.- Fix an issue that caused the id3v23 option to work only occasionally.
- Also fix using id3v23 in conjunction with the
scrub
andembedart
plugins. Thanks to Chris Cogburn. ihate
: Fix an error when importing singletons. Thanks to Mathijs de Bruin.- The clutter option can now be a whitespace-separated list in addition to a YAML list.
- Values for the replace option can now be empty (i.e., null is equivalent to the empty string).
lastgenre
: Fix a conflict between canonicalization and multiple genres.- When a match has a year but not a month or day, the autotagger now "zeros out" the month and day fields after applying the year.
- For plugin developers: added an
optparse
callback utility function for performing actions based on arguments. Thanks to Pedro Silva. scrub
: Fix scrubbing of MPEG-4 files. Thanks to Yevgeny Bezman.