beets 1.3.12
This little update makes queries more powerful, sorts music more intelligently, and removes a performance bottleneck. There's an experimental new plugin for synchronizing metadata with music players.
Packagers should also note a new dependency in this version: the Jellyfish Python library makes our text comparisons (a big part of the auto-tagging process) go much faster.
New features:
- Queries can now use "or" logic: if you use a comma to separate parts of a query, items and albums will match either side of the comma. For example,
beet ls foo , bar
will get all the items matchingfoo
or matchingbar
. See combiningqueries. #1423 - The autotagger's matching algorithm is faster. We now use the Jellyfish library to compute string similarity, which is better optimized than our hand-rolled edit distance implementation. #1389
- Sorting is now case insensitive by default. This means that artists will be sorted lexicographically regardless of case. For example, the artist alt-J will now properly sort before YACHT. (Previously, it would have ended up at the end of the list, after all the capital-letter artists.) You can turn this new behavior off using the sort_case_insensitive configuration option. See query-sort. #1429
- An experimental new
metasync
lets you get metadata from your favorite music players, starting with Amarok. #1386 fetchart
: There are new settings to control what constitutes "acceptable" images. Theminwidth
option constrains the minimum image width in pixels and theenforce_ratio
option requires that images be square. #1394
Little fixes and improvements:
fetchart
: Remove a hard size limit when fetching from the Cover Art Archive.- The output of the
fields
command is now sorted. Thanks to @multikatt. #1402 replaygain
: Fix a number of issues with the newbs1770gain
backend on Windows. Also, fix missing debug output in import mode. #1398- Beets should now be better at guessing the appropriate output encoding on Windows. (Specifically, the console output encoding is guessed separately from the encoding for command-line arguments.) A bug was also fixed where beets would ignore the locale settings and use UTF-8 by default. #1419
discogs
: Better error handling when we can't communicate with Discogs on setup. #1417importadded
: Fix a crash when importing singletons in-place. #1416fuzzy
: Fix a regression causing a crash in the last release. #1422- Fix a crash when the importer cannot open its log file. Thanks to @barsanuphe. #1426
- Fix an error when trying to write tags for items with flexible fields called
date
andoriginal_date
(which are not built-in beets fields). #1404