No description
Find a file
Adrian Sampson f005ec2de0 refactor: everything is like a plugin query (#214)
The initial idea for this refactor was motivated by the need to make
PluginQuery.match() have the same method signature as the match() methods on
other queries. That is, it needed to take an *item*, not the pattern and
value. (The pattern is supplied when the query is constructed.) So it made
sense to move the value-to-pattern code to a class method.

But then I realized that all the other FieldQuery subclasses needed to do
essentially the same thing. So I eliminated PluginQuery altogether and
refactored FieldQuery to subsume its functionality. I then changed all the
other FieldQuery subclasses to conform to the same pattern.

This has the side effect of allowing different kinds of queries (even
non-field queries) down the road.
2013-03-13 22:57:20 -07:00
beets refactor: everything is like a plugin query (#214) 2013-03-13 22:57:20 -07:00
beetsplug refactor: everything is like a plugin query (#214) 2013-03-13 22:57:20 -07:00
docs refactor: everything is like a plugin query (#214) 2013-03-13 22:57:20 -07:00
extra remove Tomahawk resolver 2012-08-24 20:39:55 -07:00
test refactor: everything is like a plugin query (#214) 2013-03-13 22:57:20 -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-beta.2 for changeset f28ea9e2ef8d 2013-02-16 16:40:42 -08: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 python-musicbrainz-ngs 0.3 is out! 2013-03-11 19:35:26 -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