No description
Find a file
Tai Lee 3eb6f8e5eb Add discogs plugin, which extends the autotagger to include results from the discogs database.
This is a refactor of the plugin developed by `imenem`.

- Pass `artist`, `album` and `va_likely` to `candidates()` so that
  plugins don't have to work this out from `items` all over again.
- Pass `artist` and `title` to `item_candidates()`.
- Silence spurious `urllib3` info log lines.
- Use a proper "beets" user agent with `discogs_client`.
- Remove `abstract_search` plugin. It seems unnecessary. How many
  music databases are there? How many will beets support? How much
  common code might there be between them? We can add some abstraction
  if or when more databases are supported.
- Derive more AlbumInfo and TrackInfo properties from discogs Release
  objects, especially album ID so that beets doesn't just use the first
  release and think all subsequent releases are duplicates.
- Add basic documentation, doc strings and code comments.
- Sanitise search query. Remove non-word characters and medium info that
  might filter out good search results.
- Use artist `join` strings from discogs Release object when an album
  or track has multiple artists.
- Don't rely on discogs track position, which is unreliable. But tracks
  are in order, so we can recalculate medium and medium_index as long as
  we can extract a consistent medium across tracks from the position.
- Add "various" as a known signal to indicate various artists.
- Prevent `chroma` plugin from returning a a huge track distance for any
  track that is missing an ID (e.g. all discog tracks).
- `TrackInfo.index` should be the release index (calculated by beets),
  not the medium index (derived from discogs track position).
- Add `AlbumInfo.data_source`. It's "Unknown" by default which is shown
  in red when displaying a suggested or selected match. The built in
  auto tagger sets it to "MusicBrainz" which is shown in green. Anything
  else (e.g. "Discogs") is shown in yellow.
- Remove double spaces from album titles (bad data from Discogs).
2013-05-21 21:16:52 +10:00
beets Add discogs plugin, which extends the autotagger to include results from the discogs database. 2013-05-21 21:16:52 +10:00
beetsplug Add discogs plugin, which extends the autotagger to include results from the discogs database. 2013-05-21 21:16:52 +10:00
docs Add discogs plugin, which extends the autotagger to include results from the discogs database. 2013-05-21 21:16:52 +10:00
extra remove Tomahawk resolver 2012-08-24 20:39:55 -07:00
test FIELDS lists use real types instead of SQL strings 2013-05-11 16:41:04 -07:00
.gitignore Add .tox to .gitignore 2012-06-24 00:42:45 -07:00
.hgignore hg-compatible tox config 2012-06-24 13:06:34 -07:00
.hgtags Added tag v1.1.0 for changeset 97f04ce25233 2013-04-29 10:43:58 -07:00
.travis.yml Travis: only test master branch 2012-09-09 23:30:45 -07:00
beet happy new year 2013-01-11 10:43:41 -08:00
LICENSE add readme and news files 2010-06-09 12:37:26 -07:00
MANIFEST.in have setup.py install the default config 2012-12-19 18:29:14 +01:00
README.rst Collections broken link 2013-03-12 11:30:01 -03:00
setup.py require py-mb-ngs 0.4 2013-05-15 15:02:54 -07:00
tox.ini hg-compatible tox config 2012-06-24 13:06:34 -07:00

Beets is the media library management system for obsessive-compulsive music
geeks.

The purpose of beets is to get your music collection right once and for all.
It catalogs your collection, automatically improving its metadata as it goes.
It then provides a bouquet of tools for manipulating and accessing your music.

Here's an example of beets' brainy tag corrector doing its thing::

  $ beet import ~/music/ladytron
  Tagging: Ladytron - Witching Hour
  (Similarity: 98.4%)
   * Last One Standing -> The Last One Standing
   * Beauty -> Beauty*2
   * White Light Generation -> Whitelightgenerator
   * All the Way -> All the Way...

Because beets is designed as a library, it can do almost anything you can
imagine for your music collection. Via `plugins`_, beets becomes a panacea:

- Embed and extract album art from files' metadata.
- Listen to your library with a music player that speaks the `MPD`_ protocol
  and works with a staggering variety of interfaces.
- Fetch lyrics for all your songs from databases on the Web.
- Manage your `MusicBrainz music collection`_.
- Analyze music files' metadata from the command line.
- Clean up crufty tags left behind by other, less-awesome tools.
- Browse your music library graphically through a Web browser and play it in any
  browser that supports `HTML5 Audio`_.

If beets doesn't do what you want yet, `writing your own plugin`_ is
shockingly simple if you know a little Python.

.. _plugins: http://beets.readthedocs.org/page/plugins/
.. _MPD: http://mpd.wikia.com/
.. _MusicBrainz music collection: http://musicbrainz.org/doc/Collections/
.. _writing your own plugin:
    http://beets.readthedocs.org/page/plugins/#writing-plugins
.. _HTML5 Audio:
    http://www.w3.org/TR/html-markup/audio.html

Read More
---------

Learn more about beets at `its Web site`_. Follow `@b33ts`_ on Twitter for
news and updates.

You can install beets by typing ``pip install beets``. (Or, to live on the
cutting edge, type ``pip install beets==dev`` for the `latest source`_.) Check
out the `Getting Started`_ guide to learn more about installing and using beets.

.. _its Web site: http://beets.radbox.org/
.. _Getting Started: http://beets.readthedocs.org/page/guides/main.html
.. _@b33ts: http://twitter.com/b33ts/
.. _latest source: https://github.com/sampsyo/beets/tarball/master#egg=beets-dev

Authors
-------

Beets is by `Adrian Sampson`_.

.. _Adrian Sampson: mailto:adrian@radbox.org