beets 1.3.8
This release has two big new chunks of functionality. Queries now support sorting and user-defined fields can now have types.
If you want to see all your songs in reverse chronological order, just type beet list year-
. It couldn't be easier.
Flexible field types mean that some functionality that has previously only worked for built-in fields, like range queries, can now work with plugin- and user-defined fields too. For starters, the /plugins/echonest/ and mpdstats
now mark the types of the fields they provide---so you can now say, for example, beet ls liveness:0.5..1.5
for the Echo Nest "liveness" attribute. The types
makes it easy to specify field types in your config file.
One upgrade note: if you use the discogs
, you will need to upgrade the Discogs client library to use this version. Just type pip install -U discogs-client
.
Other new features:
info
: Target files can now be specified through library queries (in addition to filenames). The--library
option prints library fields instead of tags. Multiple files can be summarized together with the new--summarize
option.mbcollection
: A new option lets you automatically update your collection on import. Thanks to Olin Gay.convert
: A newnever_convert_lossy_files
option can prevent lossy transcoding. Thanks to Simon Kohlmeyer.convert
: A new--yes
command-line flag skips the confirmation.
Still more fixes and little improvements:
- Invalid state files don't crash the importer.
lyrics
: Only strip featured artists and parenthesized title suffixes if no lyrics for the original artist and title were found.- Fix a crash when reading some files with missing tags.
discogs
: Compatibility with the new 2.0 version of the discogs_client Python library. If you were using the old version, you wil need to upgrade to the latest version of the library to use the correspondingly new version of the plugin (e.g., withpip install -U discogs-client
). Thanks to Andriy Kohut.- Fix a crash when writing files that can't be read. Thanks to Jocelyn De La Rosa.
- The
stats
command now counts album artists. The album count also more accurately reflects the number of albums in the database. convert
: Avoid crashes when tags cannot be written to newly converted files.- Formatting templates with item data no longer confusingly shows album-level data when the two are inconsistent.
- Resuming imports and beginning incremental imports should now be much faster when there is a lot of previously-imported music to skip.
lyrics
: Remove<script>
tags from scraped lyrics. Thanks to Bombardment.play
: Add arelative_to
config option. Thanks to BrainDamage.- Fix a crash when a MusicBrainz release has zero tracks.
- The
--version
flag now works as an alias for theversion
command. lastgenre
: Remove some unhelpful genres from the default whitelist. Thanks to gwern.importfeeds
: A newecho
output mode prints files' paths to standard error. Thanks to robotanarchy.replaygain
: Restore some error handling whenmp3gain
output cannot be parsed. The verbose log now contains the bad tool output in this case.convert
: Fix filename extensions when converting automatically.- The
write
plugin event allows plugins to change the tags that are written to a media file. zero
: Do not delete database values; only media file tags are affected.