beets 1.3.4
This release brings a hodgepodge of medium-sized conveniences to beets. A new config
command manages your configuration, we now have bash completion, and the modify
command can delete attributes. There are also some significant performance optimizations to the autotagger's matching logic.
One note for upgraders: if you use the fetchart plugin, it has a new dependency, the requests module.
New stuff:
- Added a
config
command to manage your configuration. It can show you what you currently have in your config file, point you at where the file should be, or launch your text editor to let you modify the file. Thanks to geigerzaehler. - Beets now ships with a shell command completion script! See completion. Thanks to geigerzaehler.
- The
modify
command now allows removing flexible attributes. For example,beet modify artist:beatles oldies!
deletes theoldies
attribute from matching items. Thanks to brilnius. - Internally, beets has laid the groundwork for supporting multi-valued fields. Thanks to geigerzaehler.
- The importer interface now shows the URL for MusicBrainz matches. Thanks to johtso.
- smartplaylist: Playlists can now be generated from multiple queries (combined with "or" logic). Album-level queries are also now possible and automatic playlist regeneration can now be disabled. Thanks to brilnius.
- echonest: Echo Nest similarity now weights the tempo in better proportion to other metrics. Also, options were added to specify custom thresholds and output formats. Thanks to Adam M.
- Added the
after_write
plugin event. - lastgenre: Separator in genre lists can now be configured. Thanks to brilnius.
- We now only use "primary" aliases for artist names from MusicBrainz. This eliminates some strange naming that could occur when the languages config option was set. Thanks to Filipe Fortes.
- The performance of the autotagger's matching mechanism is vastly improved. This should be noticeable when matching against very large releases such as box sets.
- The
import
command can now accept individual files as arguments even in non-singleton mode. Files are imported as one-track albums.
Fixes:
- Error messages involving paths no longer escape non-ASCII characters (for legibility).
- Fixed a regression that made it impossible to use the
modify
command to add new flexible fields. Thanks to brilnius. - echonest: Avoid crashing when the audio analysis fails. Thanks to Pedro Silva.
- duplicates: Fix checksumming command execution for files with quotation marks in their names. Thanks again to Pedro Silva.
- Fix a crash when importing with both of the
group_albums
andincremental
options enabled. Thanks to geigerzaehler. - Give a sensible error message when
BEETSDIR
points to a file. Thanks again to geigerzaehler. - Fix a crash when reading WMA files whose boolean-valued fields contain strings. Thanks to johtso.
- fetchart: The plugin now sends "beets" as the User-Agent when making scraping requests. This helps resolve some blocked requests. The plugin now also depends on the requests Python library.
- The
write
command now only shows the changes to fields that will actually be written to a file. - duplicates: Spurious reports are now avoided for tracks with missing values (e.g., no MBIDs). Thanks to Pedro Silva.
- The default replace sanitation options now remove leading whitespace by default. Thanks to brilnius.
- importfeeds: Fix crash when importing albums containing
/
with them3u_multi
format. - Avoid crashing on Mutagen bugs while writing files' tags.
- convert: Display a useful error message when the FFmpeg executable can't be found.