This is my personal collection of beets plugins that are not currently being distributed separately.
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.
- The Tablelist Plugin lists items in a table format, as an alternative to list.
These plugins are useful to me, but probably not to anyone else.
- The
musicsource
plugin just forces me to define asource
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 apicard
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 areimported
field to anything I tried to reimport, whether I was able to match it to a candidate or not.
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 setsadvisory
andalbumadvisory
flexible fields, on import, based on theitunesadvisory
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 wayinline
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 mainmodify
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 thespotify
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 anadvisory
field on my tracks. - The
zeroalbum
plugin clears fields in albums in the database, obeying the 'zero' plugin configuration.