mirror of
https://github.com/beetbox/beets.git
synced 2025-12-15 21:14:19 +01:00
305 lines
17 KiB
Text
305 lines
17 KiB
Text
1.0b9
|
|
-----
|
|
* Prompts in the importer interface are now colorized for easy
|
|
reading. The default option is always highlighted.
|
|
* The import logger has been improved for "always-on" use. First,
|
|
it is now possible to specify a log file in .beetsconfig. Also,
|
|
logs are now appended rather than overwritten and contain
|
|
timestamps.
|
|
* Album art fetching and plugin events are each now run in separate
|
|
pipeline stages during imports. This should bring additional
|
|
performance when using album art plugins like embedart or
|
|
beets-lyrics.
|
|
* Fix crash when autotagging files with no metadata.
|
|
|
|
1.0b8
|
|
-----
|
|
* Better support for singleton (non-album) tracks. Whereas beets
|
|
previously only really supported full albums, now it can also keep
|
|
track of individual, off-album songs. The "singleton" path format
|
|
can be used to customize where these tracks are stored. To import
|
|
singleton tracks, provide the -s switch to the import command or,
|
|
while doing a normal full-album import, choose the "as Tracks" (T)
|
|
option to add singletons to your library. To list only singleton or
|
|
only album tracks, use the new "singleton:" query term: the query
|
|
"singleton:true" matches only singleton tracks; "singleton:false"
|
|
matches only album tracks. The lastid plugin has been extended to
|
|
support matching individual items as well.
|
|
* The importer/autotagger system has been heavily refactored in this
|
|
release. If anything breaks as a result, please let me know.
|
|
* Support for album art embedded in files. A new plugin, called
|
|
"embedart", implements this functionality. Enable the plugin to
|
|
automatically embed downloaded album art into your music files'
|
|
metadata. The plugin also provides the "embedart" and "extractart"
|
|
commands for moving image files in and out of metadata. See the
|
|
wiki for more details. (Thanks, daenney!)
|
|
* The "distance" number, which quantifies how different an album's
|
|
current and proposed metadata are, is now displayed as "similarity"
|
|
instead. This should be less noisy and confusing; you'll now see
|
|
99.5% instead of 0.00489323.
|
|
* A new "timid mode" in the importer asks the user every time, even
|
|
when it makes a match with very high confidence. The "-t" flag on
|
|
the command line and the "import_timid" config option control this
|
|
mode. (Thanks to mdecker on GitHub!)
|
|
* The multithreaded importer should now abort (either by selecting
|
|
aBort or by typing ^C) much more quickly. Previously, it would try
|
|
to get a lot of work done before quitting; now it gives up as soon
|
|
as it can.
|
|
* Added a new plugin event, "album_imported", which is called every
|
|
time an album is added to the library. (Thanks, Lugoues!)
|
|
* A new plugin method, register_listener, is an imperative alternative
|
|
to the @listen decorator (Thanks again, Lugoues!)
|
|
* In path formats, $albumartist now falls back to $artist (as well as
|
|
the other way around).
|
|
* The importer now prints "(unknown album)" when no tags are present.
|
|
* When autotagging, "and" is considered equal to "&".
|
|
* Fix some crashes when deleting files that don't exist.
|
|
* Fix adding individual tracks in BPD.
|
|
* Fix crash when ~/.beetsconfig does not exist.
|
|
* Fix occasional BPD crashes with "broken pipe" errors.
|
|
* Fix memory leak in BPD (really a leak in Bluelet).
|
|
|
|
1.0b7
|
|
-----
|
|
* "Various artists" releases are handled much more gracefully. The
|
|
autotagger now sets the "comp" flag on albums whenever the album is
|
|
identified as a "various artists" release by MusicBrainz. Also,
|
|
there is now a distinction between the "album artist" and the "track
|
|
artist", the latter of which is never "Various Artists" or other such
|
|
bogus stand-in. (Thanks to Jonathan Buchanan for the bulk of the
|
|
implementation!)
|
|
* The directory hierarchy can now be customized based on release type.
|
|
In particular, the "path_format" setting in .beetsconfig has been
|
|
replaced with a new [paths] section, which allows you to specify
|
|
different path formats for normal releases, "compilation" releases,
|
|
and every release type (see below). The default path formats have
|
|
been changed to use $albumartist instead of $artist. More information
|
|
about this change is available on the wiki.
|
|
* A new "albumtype" field reflects the release type as specified by
|
|
MusicBrainz: http://wiki.musicbrainz.org/ReleaseType
|
|
* When deleting files, beets now appropriately "prunes" the directory
|
|
tree -- empty directories are automatically cleaned up. (Thanks to
|
|
wlof on GitHub for this!)
|
|
* When importing with the "delete" option and importing files that are
|
|
already at their destination, files could be deleted (leaving zero
|
|
copies afterward). This is fixed.
|
|
* Always show album directory in tagger output.
|
|
* "import -l" now logs duplicate albums.
|
|
* A new "import_resume" option can be used to disable the importer's
|
|
resuming feature or force it to resume without asking. This option
|
|
may be either "yes", "no", or "ask", with the obvious meanings. The
|
|
-p and -P command-line flags override this setting and correspond to
|
|
the "yes" and "no" settings.
|
|
* Resuming is automatically disabled when the importer is in quiet (-q)
|
|
mode. Progress is still saved, however, and the -p flag (above) can
|
|
be used to force resuming.
|
|
* The BEETSCONFIG environment variable can now be used to specify the
|
|
location of the config file that is at ~/.beetsconfig by default.
|
|
* A new "import_quiet_fallback" option specifies what should happen in
|
|
quiet mode when there is no strong recommendation. The options are
|
|
"skip" (the default) and "asis".
|
|
* The "version" command now lists all the loaded plugins.
|
|
* A new plugin, called "info", just prints out audio file metadata.
|
|
* Fix a bug where some files would be erroneously interpreted as MP4.
|
|
* Fix permission bits applied to album art files.
|
|
* Fix malformed MusicBrainz queries caused by null characters.
|
|
* Fix a bug with old versions of the Monkey's Audio format.
|
|
* Fix a crash on broken symbolic links.
|
|
* Retry in more cases when MusicBrainz servers are slow/overloaded.
|
|
* The old "albumify" plugin for upgrading databases was removed.
|
|
|
|
1.0b6
|
|
-----
|
|
* A new "-q" command line switch for the import command suppresses all
|
|
prompts for input; it pessimistically skips all albums that the
|
|
importer is not completely confident about.
|
|
* Added support for the WavPack and Musepack formats. Unfortunately,
|
|
due to a limitation in the Mutagen library (used by beets for
|
|
metadata manipulation), Musepack SV8 is not yet supported. Here's
|
|
the upstream bug in question:
|
|
http://code.google.com/p/mutagen/issues/detail?id=7
|
|
* BPD now uses a pure-Python socket library and no longer requires
|
|
eventlet/greenlet (the latter of which is a C extension). For the
|
|
curious, the socket library in question is called Bluelet:
|
|
https://github.com/sampsyo/bluelet
|
|
* Non-autotagged imports are now resumable (just like autotagged
|
|
imports.)
|
|
* Fix a terrible and long-standing bug where track orderings were never
|
|
applied. This manifested when the tagger appeared to be applying a
|
|
reasonable ordering to the tracks but, later, the database reflects a
|
|
completely wrong association of track names to files. The order
|
|
applied was always just alphabetical by filename, which is frequently
|
|
but not always what you want.
|
|
* We now use Windows' "long filename" support. Filenames on Windows now
|
|
also never end in spaces.
|
|
* Fix crash in lastid when the artist name is not available.
|
|
* Fixed a spurious crash when LANG or a related environment variable is
|
|
set to an invalid value (such as 'UTF-8' on some installations of Mac
|
|
OS X).
|
|
* Fixed an error when trying to copy a file that is already at its
|
|
destination.
|
|
* When copying read-only files, the importer now tries to make the copy
|
|
writable. (Previously, this would just crash the import.)
|
|
* Fixed an UnboundLocalError when no matches are found during autotag.
|
|
* Fixed a Unicode encoding error when entering special characters into
|
|
the "manual search" prompt.
|
|
* New command "beet version" just shows the current version.
|
|
|
|
1.0b5
|
|
-----
|
|
* A new plugin, "lastid", adds Last.fm acoustic fingerprinting support
|
|
to the autotagger. Similar to the PUIDs used by MusicBrainz Picard,
|
|
this system allows beets to recognize files that don't have any
|
|
metadata at all. You'll need to install some dependencies for this
|
|
plugin to work; a guide is available on the project wiki here:
|
|
http://code.google.com/p/beets/wiki/LastID
|
|
* To support the above, there's also a new system for extending the
|
|
autotagger via plugins. Plugins can currently add components to the
|
|
track and album distance functions as well as augment the MusicBrainz
|
|
search.
|
|
* String comparisons in the autotagger have been augmented to act more
|
|
intuitively. Previously, if your album had the title "Something (EP)"
|
|
and it was officially called "Something", then beets would think this
|
|
was a fairly significant change. It now checks for and appropriately
|
|
reweights certain parts of each string. As another example, the title
|
|
"The Great Album" is considered equal to "Great Album, The".
|
|
* New event system for plugins (thanks, Jeff!). Plugins can now get
|
|
callbacks from beets when certain events occur in the core.
|
|
* The BPD plugin is now disabled by default. This greatly simplifies
|
|
installation of the beets core, which is now 100% pure Python. To use
|
|
BPD, though, you'll need to set "plugins: bpd" in your .beetsconfig.
|
|
* The "import" command can now remove original files when it copies
|
|
items into your library. (This might be useful if you're low on disk
|
|
space.) Set the "import_delete" option in your .beetsconfig to "yes".
|
|
* Importing without autotagging ("beet import -A") now prints out album
|
|
names as it imports them to indicate progress.
|
|
* There's a new "mpdupdate" plugin that will automatically update your
|
|
MPD index whenever your beets library changes. Read the plugin's
|
|
documentation on the wiki:
|
|
http://code.google.com/p/beets/wiki/MPDUpdate
|
|
* Efficiency tweak should reduce the number of MusicBrainz queries per
|
|
autotagged album.
|
|
* A new "-v" command line switch enables debugging output.
|
|
* Fixed bug that completely broke non-autotagged imports ("import -A").
|
|
* Fixed bug that logged the wrong paths when using "import -l".
|
|
* Fixed autotagging for the creatively-named band !!!.
|
|
* Fixed normalization of relative paths.
|
|
* Fixed escaping of / characters in paths on Windows.
|
|
|
|
1.0b4
|
|
-----
|
|
* Parallel tagger. The autotagger has been reimplemented to use
|
|
multiple threads. This means that it can concurrently read files
|
|
from disk, talk to the user, communicate with MusicBrainz, and
|
|
write data back to disk. Not only does this make the tagger much
|
|
faster because independent work may be performed in parallel, but it
|
|
makes the tagging process much more pleasant for large imports. The
|
|
user can let albums queue up in the background while making a
|
|
decision rather than waiting for beets between each question it asks.
|
|
The parallel tagger is on by default but a sequential (single-
|
|
threaded) version is still available by setting the "threaded"
|
|
config value to "no" (because the parallel version is still quite
|
|
experimental).
|
|
* Colorized tagger output. The autotagger interface now makes it a
|
|
little easier to see what's going on at a glance by highlighting
|
|
changes with terminal colors. This feature is on by default, but you
|
|
can turn it off by setting "color" to "no" in your .beetsconfig (if,
|
|
for example, your terminal doesn't understand colors and garbles the
|
|
output).
|
|
* Pause and resume imports. The "import" command now keeps track of its
|
|
progress, so if you're interrupted (beets crashes, you abort the
|
|
process, an alien devours your motherboard, etc.), beets will try to
|
|
resume from the point where you left off. The next time you run
|
|
"import" on the same directory, it will ask if you want to resume. It
|
|
accomplishes this by "fast-forwarding" through the albums in the
|
|
directory until it encounters the last one it saw. (This means it
|
|
might fail if that album can't be found.) Also, you can now abort the
|
|
tagging process by entering "B" (for aBort) at any of the prompts.
|
|
* Overhauled methods for handling fileystem paths to allow filenames
|
|
that have badly encoded special characters. These changes are pretty
|
|
fragile, so please report any bugs involving UnicodeErrors or SQLite
|
|
ProgrammingErrors with this version.
|
|
* The destination paths (the library directory structure) now respect
|
|
album-level metadata. This means that if you have an album in which
|
|
two tracks have different album-level attributes (like year, for
|
|
instance), they will still wind up in the same directory together.
|
|
(There's currently not a very smart method for picking the "correct"
|
|
album-level metadata, but we'll fix that later.)
|
|
* Fixed a bug where the CLI would fail completely if the LANG
|
|
environment variable was not set.
|
|
* Fixed removal of albums (beet remove -a): previously, the album
|
|
record would stay around although the items were deleted.
|
|
* The setup script now makes a beet.exe startup stub on Windows;
|
|
Windows users can now just type "beet" at the prompt to run beets.
|
|
* Fixed an occasional bug where Mutagen would complain that a tag was
|
|
already present.
|
|
* Fixed a bug with reading invalid integers from ID3 tags.
|
|
* The tagger should now be a little more reluctant to reorder tracks
|
|
that already have indices.
|
|
|
|
1.0b3
|
|
-----
|
|
* Album art. The tagger now, by default, downloads album art from
|
|
Amazon that is referenced in the MusicBrainz database. It places the
|
|
album art alongside the audio files in a file called (for example)
|
|
"cover.jpg". The "import_art" config option controls this behavior,
|
|
as do the -r and -R options to the import command. You can set the
|
|
name (minus extension) of the album art file with the
|
|
"art_filename" config option.
|
|
* Plugin architecture. Add-on modules can now add new commands to the
|
|
beets command-line interface. The "bpd" and "dadd" commands were
|
|
removed from the beets core and turned into plugins; BPD is loaded
|
|
by default. To load the non-default plugins, use the "plugins" config
|
|
value (a space-separated list of plugin names). You can also set the
|
|
"pluginpath" config option to a colon-separated list of directories
|
|
to search for plugins. Plugins are just Python modules under the
|
|
"beetsplug" namespace package containing subclasses of
|
|
beets.plugins.BeetsPlugin. See the "beetsplug" directory for examples.
|
|
* Support for MusicBrainz ID tags. The autotagger now keeps track of the
|
|
MusicBrainz track, album, and artist IDs it matched for each file. It
|
|
also looks for album IDs in new files it's importing and uses those to
|
|
look up data in MusicBrainz. Furthermore, track IDs are used as a
|
|
component of the tagger's distance metric now. Tangentially, change
|
|
required the database code to support a lightweight form of migrations
|
|
so that new columns could be added to old databases--this is a
|
|
delicate feature, so it would be very wise to make a backup of your
|
|
database before upgrading to this version.
|
|
* As a consequence of adding album art, the database was significantly
|
|
refactored to keep track of some information at an album (rather than
|
|
item) granularity. Databases created with earlier versions of beets
|
|
should work fine, but they won't have any "albums" in them--they'll
|
|
just be a bag of items. This means that commands like "beet ls -a"
|
|
and "beet rm -a" won't match anything. To "upgrade" your database,
|
|
you can use the included "albumify" plugin. Running "beets albumify"
|
|
with the plugin activated will group all your items into albums,
|
|
making beets behave more or less as it did before.
|
|
* Fixed some bugs with encoding paths on Windows. Also, : is now
|
|
replaced with - in path names (instead of _) for readability.
|
|
* MediaFiles now have a "format" attribute, so you can use $format in
|
|
your library path format strings like "$artist - $album ($format)"
|
|
to get directories with names like "Paul Simon - Graceland (FLAC)".
|
|
|
|
1.0b2
|
|
-----
|
|
* Support for Ogg Vorbis and Monkey's Audio files and their tags.
|
|
(This support should be considered preliminary: I haven't tested it
|
|
heavily because I don't use either of these formats regularly.)
|
|
* An option to the "beet import" command for logging albums that
|
|
are untaggable (i.e., are skipped or taken "as-is"). Use
|
|
"beet import -l LOGFILE PATHS". The log format is very simple: it's
|
|
just a status (either "skip" or "asis") followed by the path to the
|
|
album in question. The idea is that you can tag a large collection
|
|
and automatically keep track of the albums that weren't found in
|
|
MusicBrainz so you can come back and look at them later.
|
|
* Fixed UnicodeEncodeError on terminals that don't (or don't claim to)
|
|
support UTF-8.
|
|
* Importing without autotagging ("beet import -A") is now faster and
|
|
doesn't print out a bunch of whitespace. It also lets you specify
|
|
single files on the command line (rather than just directories).
|
|
* Fixed importer crash when attempting to read a corrupt file.
|
|
* Reorganized code for CLI in preparation for adding pluggable
|
|
subcommands. Also removed dependency on the aging "cmdln" module.
|
|
|
|
1.0b1
|
|
-----
|
|
First public release.
|