Path to this page:
Subject: CVS commit: wip/py-beets
From: Thomas Klausner
Date: 2012-09-13 15:49:32
Message id: E1TC9nh-000170-OP@sfs-ml-4.v29.ch3.sourceforge.com
Log Message:
Update to 1.0b15:
1.0b15 (July 26, 2012)
----------------------
The fifteenth (!) beta of beets is compendium of small fixes and features, most
of which represent long-standing requests. The improvements include matching
albums with extra tracks, per-disc track numbering in multi-disc albums, an
overhaul of the album art downloader, and robustness enhancements that should
keep beets running even when things go wrong. All these smaller changes should
help us focus on some larger changes coming before 1.0.
Please note that this release contains one backwards-incompatible change: album
art fetching, which was previously baked into the import workflow, is now
encapsulated in a plugin (the :doc:`/plugins/fetchart`). If you want to continue
fetching cover art for your music, enable this plugin after upgrading to beets
1.0b15.
* The autotagger can now find matches for albums when you have **extra tracks**
on your filesystem that aren't present in the MusicBrainz catalog. Previously,
if you tried to match album with 15 audio files but the MusicBrainz entry had
only 14 tracks, beets would ignore this match. Now, beets will show you
matches even when they are "too short" and indicate which tracks \
from your
disk are unmatched.
* Tracks on multi-disc albums can now be **numbered per-disc** instead of
per-album via the :ref:`per_disc_numbering` config option.
* The default output format for the ``beet list`` command is now configurable
via the :ref:`list_format_item` and :ref:`list_format_album` config options.
Thanks to Fabrice Laporte.
* Album **cover art fetching** is now encapsulated in the
:doc:`/plugins/fetchart`. Be sure to enable this plugin if you're using this
functionality. As a result of this new organization, the new plugin has gained
a few new features:
* "As-is" and non-autotagged imports can now have album art imported from
the local filesystem (although Web repositories are still not searched in
these cases).
* A new command, ``beet fetchart``, allows you to download album art
post-import. If you only want to fetch art manually, not automatically
during import, set the new plugin's ``autofetch`` option to ``no``.
* New album art sources have been added.
* Errors when communicating with MusicBrainz now log an error message instead of
halting the importer.
* Similarly, filesystem manipulation errors now print helpful error messages
instead of a messy traceback. They still interrupt beets, but they should now
be easier for users to understand. Tracebacks are still available in verbose
mode.
* New metadata fields for `artist credits`_: ``artist_credit`` and
``albumartist_credit`` can now contain release- and recording-specific
variations of the artist's name. See :ref:`itemfields`.
* Revamped the way beets handles concurrent database access to avoid
nondeterministic SQLite-related crashes when using the multithreaded importer.
On systems where SQLite was compiled without ``usleep(3)`` support,
multithreaded database access could cause an internal error (with the message
"database is locked"). This release synchronizes access to the \
database to
avoid internal SQLite contention, which should avoid this error.
* Plugins can now add parallel stages to the import pipeline. See
:ref:`writing-plugins`.
* Beets now prints out an error when you use an unrecognized field name in a
query: for example, when running ``beet ls -a artist:foo`` (because ``artist``
is an item-level field).
* New plugin events:
* ``import_task_choice`` is called after an import task has an action
assigned.
* ``import_task_files`` is called after a task's file manipulation has
finished (copying or moving files, writing metadata tags).
* ``library_opened`` is called when beets starts up and opens the library
database.
* :doc:`/plugins/lastgenre`: Fixed a problem where path formats containing
``$genre`` would use the old genre instead of the newly discovered one.
* Fix a crash when moving files to a Samba share.
* :doc:`/plugins/mpdupdate`: Fix TypeError crash (thanks to Philippe Mongeau).
* When re-importing files with ``import_copy`` enabled, only files inside the
library directory are moved. Files outside the library directory are still
copied. This solves a problem (introduced in 1.0b14) where beets could crash
after adding files to the library but before finishing copying them; during
the next import, the (external) files would be moved instead of copied.
* Artist sort names are now populated correctly for multi-artist tracks and
releases. (Previously, they only reflected the first artist.)
* When previewing changes during import, differences in track duration are now
shown as "2:50 vs. 3:10" rather than separated with ``->`` like \
track numbers.
This should clarify that beets isn't doing anything to modify lengths.
* Fix a problem with query-based path format matching where a field-qualified
pattern, like ``albumtype_soundtrack``, would match everything.
* :doc:`/plugins/chroma`: Fix matching with ambiguous Acoustids. Some Acoustids
are identified with multiple recordings; beets now considers any associated
recording a valid match. This should reduce some cases of errant track
reordering when using chroma.
* Fix the ID3 tag name for the catalog number field.
* :doc:`/plugins/chroma`: Fix occasional crash at end of fingerprint submission
and give more context to "failed fingerprint generation" errors.
* Interactive prompts are sent to stdout instead of stderr.
* :doc:`/plugins/embedart`: Fix crash when audio files are unreadable.
* :doc:`/plugins/bpd`: Fix crash when sockets disconnect (thanks to Matteo
Mecucci).
* Fix an assertion failure while importing with moving enabled when the file was
already at its destination.
* Fix Unicode values in the ``replace`` config option (thanks to Jakob Borg).
* Use a nicer error message when input is requested but stdin is closed.
* Fix errors on Windows for certain Unicode characters that can't be represented
in the MBCS encoding. This required a change to the way that paths are
represented in the database on Windows; if you find that beets' paths are out
of sync with your filesystem with this release, delete and recreate your
database with ``beet import -AWC /path/to/music``.
* Fix ``import`` with relative path arguments on Windows.
.. _artist credits: http://wiki.musicbrainz.org/Artist_Credit
Files: