diff --git a/README.md b/README.md new file mode 100644 index 0000000..c1a9213 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# Beets Plugins + +A collection of iTunes-centric beets plugins. + +## cleantags + +The `cleantags` plugin allows you to remove existing tags from files before importing. You can configure the plugin as follows: + +```yaml +cleantags: + clean: yes + keep: space seperated string of tags + discard: space separated string of tags +``` + +- `clean` enables or disables the `cleantags` plugin. The default is `yes` (the plugin is enabled). +- `keep` contains a space separated string of tag names that should be retained when importing files. All tags not in this list will be discarded. The default is unsepcified. +- `discard` can be specified as an alternative to `keep`. Any tag specified in this list will be discarded. Other tags will be retained. +- If both `keep` and `discard` are specified `keep` will take precedence and `discard` is ignored. If neither is specified, tags are left unchanged. + +## retag + +The `retag` plugin allows you to specify a list of tags that will be ignored, even if you re-import an existing item into the library. By default some things like the acoustid fingerprint are not re-calculated. You can configure the plugin as follows: + +```yaml +retag: + clear: space separated string of tags +``` + +- Specify a space separated string of tags as `clear`. Each of the tags will be cleared before (re-)importing an item. + +## sources + +The `sources` plugin allows you to prioritize different metadata sources. Through this plugin you can give certain sources a higher priority than others while still preferring close matches. The plugin can be configured as follows. Note that the settings do not reside in a `sources` mapping: + +```yaml +preferred_sources: space separated list of sources +``` + +- An expmple might be `iTunes MusicBrainz`. In this setup the iTunes source would be preferred. +- Instead of source names you can also specify regular expressions to prioritize multiple sources equally. +- There is the special value `*` which accepts any source (equivalent to the regular expression `.*`). Use this to match _any source_. + +## itunes + +**This plugin is very much in beta and not production ready.** + +The `itunes` plugin adds the iTunes store as a metadata source. This works in two ways: + +- Files are scanned for a specific iTunes ID that is present in files bought from the iTunes store and files downloaded from iTunes match. +- If the ID is present, the plugin tries to look up the track directly on the store. +- Otherwise (or if the lookup does not return any results) the track’s name is looked up on the iTunes store. + +The plugin can be configured as follows (the specified values are the defaults): + +```yaml +itunes: + method: lookup + search_countries: US + lookup_countries: US DE AU GB FR IT JP + search_limit: 5 + sanitize_searches: yes + artwork: no + censored_names: no +``` + +- `method` lets you specify how tracks are looked up. Possible values are: + - `lookup`: Tracks will be looked up via their iTunes Match ID. It no ID exists tracks are not processed. + - `lookup (search fallback)`: Like `lookup` but tracks are searched if the lookup does not return any results (or a track does not contain an ID). + - `search`: Tracks are searched on the iTunes Store by name only. + - `both`: Tracks are both looked up and searched, regardeless of the lookup result. +- `search_countries`: A space separated list of countries that will be queried for a search. +- `lookup_countries`: A space separated list of countries taht will be queried for lookups. If a lookup is found the remaining countries will not be queried. +- `search_limit`: The amount of tracks to return from searches. +- `sanitize_searches`: Whether to remove some special characters from seraches (such as parentheses). This has shown to improve the search accuracy. +- `artwork`: Whether to set the song’s artwork from the iTunes store. If you use plugins like `fetchart` you should disable this option. +- `censored_names`: Whether to use censored names or explicit names. + +Note that for searches and lookups each country requires a separate request so a large number of countries may considerably slow down the autotagger. Note also that the iTunes API does employ some rate limits as well. +