beets-kergoth
=============
This is my personal collection of beets_ plugins that are not currently being
distributed separately.
Generally useful
----------------
These plugins I consider to be useful in general and polished enough that I
intend to either submit them upstream to beets or split off into separate
projects / python packages.
- The `Alias Plugin`_ lets you define command aliases, much like git, and also
makes available any beet-prefixed commands in your ``PATH`` as well.
- The `Import Inspect Plugin`_ lets you inspect the metadata changes to be
applied when importing.
- The `Modify On Import Plugin`_ lets you define metadata changes to occur
on import when the specified queries match.
- The `Replace Format Plugin`_ defines format functions for search/replace of
text, both single replacements and applications of a set of replacements
like the built in ``replace`` configuration option.
- The `Saved Formats Plugin`_ lets you define saved, named format strings by
storing them in fields for later reference.
- The `Saved Queries Plugin`_ lets you save queries by name for later use.
Special Purpose
---------------
These plugins are useful to me, but probably not to anyone else.
- The ``musicsource`` plugin just forces me to define a ``source`` field when
importing new music, as this is how I organize my library. ``source`` is
where the music was acquired, e.g. Amazon, iTunes, Google, etc.
- The ``picard`` plugin lets me launch MusicBrainz Picard with the items I'm
importing, either to use it to tag rather than beets, or as an inspection
tool to examine its metadata. This assumes a ``picard`` beets command
exists, as this is how it runs it.
- The ``reimportskipfields`` plugin lets you specify fields from set_fields
to also be applied to skipped items on reimport. I use this to facilitate
resuming from a reimport, as it lets me apply a ``reimported`` field to
anything I tried to reimport, whether I was able to match it to a candidate
or not.
Prototype / Proof of Concept plugins
------------------------------------
These plugins were thrown together in experimentation. Some may be worth
cleaning up, but others are useful pretty rarely.
- The ``abcalc`` plugin performs the same calculation as absubmit, but runs it
only against non-MusicBrainz tracks, and stores the low level values rather
than submitting them. I've used this to populate the acoustic fingerprint
tags for use by external de-duplication scripts.
- The ``advisory`` plugin sets ``advisory`` and ``albumadvisory`` flexible
fields, on import, based on the ``itunesadvisory`` tag in the files.
- The ``existingqueries`` plugin adds a couple queries that originated in the
beets source.
- The ``hasart`` plugin adds a query to check for embedded album art.
- The ``inconsistentalbumtracks`` plugin identifies albums whose tracks have
inconsistent album fields.
- The ``inlinehook`` plugin lets you define hooks inline in config.yaml with
python, much the way ``inline`` does for fields.
- The ``last_import`` plugin keeps track of the most recently imported items
with a flexible field.
- The ``modifytmpl`` plugin lets you define fields using templates / format
strings. This will be going upstream into the main ``modify`` command.
- The ``nowrite`` plugin blocks writes/moves of items in the library, which is
particularly useful in testing beets or testing changes to beets without
mucking up your existing library.
- The ``otherqueries`` plugin defines other random queries of questionable
usefulness at this time.
- The ``crossquery`` plugin lets you query albums/items whose items/album
match a sub-query.
- The ``spotifyexplicit`` plugin uses the ``spotify`` plugin to look up items
from my library, determines if Spotify considers these items as explicit
tracks (Parental Advisory), and prints them if so. I use this to set an
``advisory`` field on my tracks.
- The ``zeroalbum`` plugin clears fields in albums in the database, obeying
the 'zero' plugin configuration.
.. _beets: http://beets.io/
.. _Alias Plugin: docs/alias.rst
.. _Import Inspect Plugin: docs/importinspect.rst
.. _Modify On Import Plugin: docs/modifyonimport.rst
.. _Replace Format Plugin: docs/replaceformat.rst
.. _Saved Formats Plugin: docs/savedformats.rst
.. _Saved Queries Plugin: docs/savedqueries.rst