Difference between revisions of "MusicBrainz Picard/Plugins"

From MusicBrainz Wiki
Jump to navigationJump to search
(add status info and link to new repository)
(manually redirecting anyone naughtily linking to the wiki instead of /doc/)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
#REDIRECT [[MusicBrainz Picard]]
{{Status|This page is '''deprecated'''. Starting with Picard 1.3 this repository is preferred and linked: http://picard.musicbrainz.org/plugins/}}

There are many plugins available for Picard. A number of these are written by the Picard developers, however many are written by users and enthusiasts. If you are having issues with a plugin, please check the [http://forums.musicbrainz.org/viewforum.php?id=2 forums] for answers and ask any questions.

==Installation==
===Simple method===
This method works for any plugin that consist of a single .py file, unless special installation instructions are given. In that case refer to those and/or to the advanced method below.

Though this tutorial has only been tested with the Windows version of Picard, procedure should be very similar with other operating systems.

To install a plugin:
# First of all, download the plugin (.py file) you want to install
# Open Picard
# Click ''Options'' in menu bar
# Choose ''Options...'' to open preferences menu
# Go to ''Plugins'' in the left pane
# Click ''Install plugin...''
# Locate the downloaded .py file and click ''Open''
That's it, your plugin is now ready for use. The file has been copied by Picard to it's plugins folder (using Windows specifically <code><nowiki>%APPDATA%\MusicBrainz\Picard\plugins</nowiki></code>), it's safe to delete the plugin in your download folder.

===Advanced method===
To install a plugin:
# download .py file(s)
# create a 'plugins' directory (if not existing already) under
## Windows: either <code><nowiki>C:\Program Files\Musicbrainz Picard\plugins</nowiki></code> (for default Picard application folder) or <code><nowiki>%APPDATA%\MusicBrainz\Picard\plugins</nowiki></code>
## *Nix: either Picard application directory/plugins or <code><nowiki>~/.config/MusicBrainz/Picard/plugins</nowiki></code>
## OSX: Follow These Steps:
### Open a Terminal (can be found in: <code><nowiki>Applications/Utilities/Terminal</nowiki></code>)
### type <code><nowiki>mkdir -p $HOME/.config/MusicBrainz/Picard/plugins</nowiki></code> (needs to be done only once)
### type <code><nowiki>open $HOME/.config/MusicBrainz/Picard/plugins</nowiki></code> to display the folder in finder. Now move the plugins there.
## Please note that some plugins need to be placed inside a separate subdirectory specific to the plugin. See the 'Notes' column below to see if this is required for the particular plugin you are installing.
# Move downloaded .py file(s) to 'plugins' directory
# Enable the plugin. Check the box beside the individual plugin in the plugins menu, which can be found at
## Windows/*Nix: Options Menu >> Options... >> Plugins
## OSX: MusicBrainz Picard >> Preferences >> Plugins

==Creating Plugins==
Please refer to the [[MusicBrainz Picard/Plugins/API|Picard plugin API]] documentation.

==Plugins==

{| border="1"
|-
| '''Name''' || '''Description''' || '''Author''' || '''Adds Context Menu Item?''' || '''Download / Compatibility''' || '''License''' || '''Known issues/Notes'''
|-
| ''' Disc Numbers''' || Moves ''(disc X)'' from releases titles into separate tags (''discnumber'' and ''discsubtitle''). || [[User:LukasLalinsky|Lukáš Lalinský]] || No || [http://users.musicbrainz.org/~luks/picard-plugins/discnumber.py 0.9 - 1.0] || (unspecified) || -
|-
| '''Classic Disc Numbers''' || Reverts to pre-NGS (aka "Classic") behaviour by adding ''(disc X: discTitle)'' to release titles into separate tags (''discnumber'' and ''discsubtitle''). || [[User:LukasLalinsky|Lukáš Lalinský]] || No || [http://users.musicbrainz.org/~luks/picard-plugins/classicdiscnumber.py 0.15 - 1.0] || (unspecified) || Broken in 0.15.1 (OK in later releases); workaround version of plugin available on forum [http://forums.musicbrainz.org/viewtopic.php?pid=14731#p14731 here].
|-
| '''Remove Feat. Artists from Titles''' || Removes ''(feat. Artist)'' parts from track titles. || [[User:LukasLalinsky|Lukáš Lalinský]] || No || [http://users.musicbrainz.org/~luks/picard-plugins/featartist.py 0.9 - 1.0] || (unspecified) || -
|-
| '''Move Feat. Artists to Titles''' || Move "feat." from artist names to album and track titles. e.g. "A feat. B - Song" becomes "A - Song (feat. B)." || [[User:LukasLalinsky|Lukáš Lalinský]], [[User:Bitmap|Michael Wiencek]] || No || [http://users.musicbrainz.org/~luks/picard-plugins/featartistsintitles.py 0.9 - 1.0] || (unspecified) || -
|-
| '''Title Case''' || Converts track and release titles to Title Case (capitalizes first character of every word) || Javier Kohen, [[User:LukasLalinsky|Lukáš Lalinský]] || No || [http://users.musicbrainz.org/~luks/picard-plugins/titlecase.py 0.9 - 1.0] || GPLv2 || -
|-
| '''Cover Art Downloader''' || Downloads cover art for optional tag embedding and/or saving as a separate image file (using standard Options >> Cover Art Picard settings) || [[User:OliverCharles|Oliver Charles]], [[User:OutsideContext|Philipp Wolfer]] || No || [http://web.archive.org/web/20090527084503/http://users.musicbrainz.org/~luks/picard-qt/plugins/coverart.py 0.9 - 0.11] <br/> [http://users.musicbrainz.org/~outsidecontext/picard/plugins/coverart.py 0.12 - 0.14] <br/> [https://raw.github.com/musicbrainz/picard/release-1.1/contrib/plugins/coverart.py 0.15 - 1.1] <br /> Integrated in 1.2 || GPLv2 || -
|-
| '''Last.fm Tags''' || Use Last.fm tags as "genre" || [[User:LukasLalinsky|Lukáš Lalinský]] || No || [http://users.musicbrainz.org/~luks/picard-plugins/lastfm/__init__.py 0.15 - 1.0 (file 1)]<br/>[http://users.musicbrainz.org/~luks/picard-plugins/lastfm/ui_options_lastfm.py 0.15 - 1.0 (file 2)] || (unspecified) || ''(copy both files to directory <code><nowiki>plugins/lastfm/</nowiki></code>)''
|-
| '''Last.fm Plus''' || Use Last.fm tags as "grouping/genre/moods/occasions/countries/originalyear" and more. Modified version of above plugin. || [[User:RifRaf|RifRaf]], voiceinsideyou || No || [http://www.mediafire.com/?qlso9gc8c75aq5a 0.15 - 1.0] || (unspecified) || Unzip into plugins folder. (so you have plugins/lastfmplus/__init__.py etc) [[MusicBrainz Picard/Documentation/Plugins/Lastfmplus|Documentation]], [http://forums.musicbrainz.org/viewtopic.php?id=2949 forum thread]
|-
| '''Add Cluster As A Release''' || Adds right click option to an unmatched cluster to allow adding releases to MB based on tags. || [[User:LukasLalinsky|Lukáš Lalinský]], [[User:Foolip|Philip Jägenstedt]] || Yes || [https://raw.github.com/foolip/addrelease/master/addrelease.py 0.9 - 0.16] <br/> [http://users.musicbrainz.org/~luks/picard-plugins/addrelease.py 1.0] || GPLv2 or later || -
|-
| '''Generate Cuesheet''' || Generates a cuesheet from a release || [[User:LukasLalinsky|Lukáš Lalinský]] || Yes || [http://users.musicbrainz.org/~luks/picard-plugins/cuesheet.py 0.10 - 1.0] || (unspecified) || -
|-
| '''Release Type''' || Appends information to EPs and Singles such as " EP" or " (single)" (customisable, see file for details). Useful for separating releases with singles/EPs of the same name. || [[User:chancey|Elliot Chance]] || No || [https://bitbucket.org/chancey/musicbrainz-picard-release-type 0.9 - 0.10, 0.15] || (unspecified) || -
|-
| '''No Release''' || Do not store specific release information in releases of unknown origin. || [[User:Hrglgrmpf|hrglgrmpf]] || Yes || [http://users.musicbrainz.org/~luks/picard-plugins/no_release.py 0.15 - 1.0] || (unspecified) || See [http://forums.musicbrainz.org/viewtopic.php?id=2918&p=2 forum post] for details.
|-
| '''Search Plugins''' || Launch searches for clusters or releases to external non-MB websites from Picard || [[User:BrianFreud| Brian Schweitzer]] || Yes || [https://github.com/brianfreud/Picard-plugins 0.9 - 1.0] || (unspecified) || Plugins available for:<ul>
<li>All Music Guide
<li>Amazon (supports: .ca, .com, .de, .fr, .jp, and .co.uk)
<li>CastAlbums.org (musicals)
<li>DiscogsFilmMusziek.be (film music)
<li>eBay
<li>Game Music Revolution (game soundtracks)
<li>Google
<li>The Lortel Archives (off-Broadway musicals)
<li>SoundtrackCollector.org (soundtracks)
<li>SoundtrackINFO (soundtracks)
</ul>
|-
| '''Change Encoding''' || Converts the tags of individual files or clusters between different character encodings. This is often necessary with files that have only ID3v1 tags in a non-Latin encoding. || [[User:foolip|Philip Jägenstedt]] || Yes || [https://raw.github.com/foolip/encoding/master/encoding.py 0.9 - 0.12] || GPLv2 or later || You will probably only need to change the ''target'' encoding. If the encoding you're looking for isn't in the list, you can type it in yourself and it will hopefully work.
|-
| '''Original Release Date''' || Set the original release date of a release by using the release events and "earliest release" advanced relationships. || [[User:OutsideContext|Philipp Wolfer]] || No || [http://users.musicbrainz.org/~outsidecontext/picard/plugins/originalreleasedate.py 0.12] || GPLv2 or later || Not needed for newer versions of Picard which support the %originaldate% tag directly.
|-
| '''Title sort names''' || Guess sortnames for track and album titles and adds as titlesort and albumsort tags. || [[User:Creap|Creap]] || No || [http://github.com/voiceinsideyou/creaps-picard-plugins/raw/master/titlesort.py 0.12 - 1.0] || (unspecified) || Checks language (English, Spanish, German, French, Italian, Swedish) and moves articles ("The", "Das", etc) to the end of the track/album title in the sort tags.
|-
| '''Title version''' || Moves song metadata such as "demo", "live" from titlesort to version tag. || [[User:Creap|Creap]] || No || [http://github.com/voiceinsideyou/creaps-picard-plugins/raw/master/titleversion.py 0.12 - 1.0] || (unspecified) || Searches titles for keywords like ''live'', ''demo'', ''mix'', etc, and moves it from titles to version tags.
|-
| '''$swapprefix function''' || Adds the $swapprefix(text, *prefixes) script function, which moves the specified prefixes to the end of the text. || [[User:OutsideContext|Philipp Wolfer]] || No || [https://raw.githubusercontent.com/musicbrainz/picard/f387fa742dbdbc47819fcf2a307b8b85605d1c54/contrib/plugins/swapprefix.py 0.9 - 1.0] || GPLv2 or later || Included in Picard 1.3. See this [http://forums.musicbrainz.org/viewtopic.php?id=2220 forum post] for details.
|-
| '''Lookup PUID''' || Adds the ability to lookup the PUID on MusicBrainz (useful in case there are several tracks linked with the same PUID) || WPME Hofland || Yes || [http://www.merijnhofland.info/mb/searchpuid.py 0.12] || (unspecified) || Note: Since October 15, 2013, MusicBrainz no longer stores PUIDs, so this plugin is non-functional.
|-
| '''TSO2''' || Set TSO2 as well as TXXX:ALBUMARTISTSORTORDER in ID3 tags, so album artist sort order works in iTunes and other players || Andrew Barnert || No || [http://picardplugins.googlecode.com/files/tso2-0.1.py 0.12] || (unspecified) || See this [http://forums.musicbrainz.org/viewtopic.php?id=2359 forum post] for details. Note: Included as standard functionality since Picard 0.15.1.
|-
| '''Add to iTunes''' || Mac OS X only! Add an album/track/etc. to iTunes. || Andrew Barnert || Yes || [http://picardplugins.googlecode.com/files/addtoitunes-0.1.py 0.12] || (unspecified) || See this [http://forums.musicbrainz.org/viewtopic.php?id=2361 forum post] for details.
|-
| '''The Sorting Plugin''' || Allows sorting of clusters and releases (i.e. both panes) through the right click "Plugins" menu. (can sort either Clusters or Releases by Artist or Title, and within a cluster by artist or title) || Aaron Lambers || Yes || [http://www.mediafire.com/?16ymlxoik6akmzk 0.12] || (unspecified) || See this [http://forums.musicbrainz.org/viewtopic.php?id=2489 forum post] for details. Note: Included as standard functionality since Picard 0.14.
|-
| '''Discnumber and Bonus disc''' || Combination of the discnumber and bonus disc plugin || WPME Hofland || No || [http://www.merijnhofland.info/mb/bonusdiscnumber.py 0.12] || (unspecified) ||
|-
| '''Convert Typographic Punctuation''' || Replace hard-to-type-into-search-boxes fancy punctuation with Latin-1 equivalents || anonymous || No || [http://picardplugins.googlecode.com/files/converttypographicpunctuation-0.1.3.py 0.9 - 0.12] || [http://sam.zoy.org/wtfpl/ WTFPL] || See [http://forums.musicbrainz.org/viewtopic.php?id=2495 forum] and [http://bugs.musicbrainz.org/ticket/5834 bug ticket] for details.
|-
| '''Foobar2000 ReplayGain''' || Analyse your albums using the foobar2000 ReplayGain scanner. || [[User:Hrglgrmpf|hrglgrmpf]] || Yes || [http://github.com/weisslj/picardplugins/raw/master/f2k_rgscan.py 0.10 - 1.0] || (unspecified) || See [http://forums.musicbrainz.org/viewtopic.php?id=2564 forum post] for details.
|-
| '''MetaFlac ReplayGain''' || Analyse your albums using the MetaFlac ReplayGain scanner. || Olivier Kaloudoff || Yes || <!--http://kalou.net/unix/picard/metaflac_rgscan.py//-->[http://kraehen.org/mb/metaflac_rgscan.py 0.10 - 1.0] || (unspecified) || Tested only on Mac OSX / Feedback to kalou at kalou dot net
|-
|-
| '''$eq2, $ne2 functions''' || Each plugin adds a new function to taggerscript, to allow comparison of a variable against more than one string.
Example: set %engineer% to "test" if the artist is equal to "foo", "bar", or "baz":
$if($eq2(%artist%,foo,bar,baz),$set(engineer,test))
|| [[User:BrianFreud| Brian Schweitzer]] || No || [https://github.com/brianfreud/Picard-plugins 0.12 - 1.0] || (unspecified) || See [http://forums.musicbrainz.org/viewtopic.php?id=2631 forum post] for details.
|-
| '''$p function''' || Adds an $p(string, unofficial) function to taggerscript. This works like the inverse of a \p{foo} regex using Unicode properties. In other words, it tells you what script a character belongs to.
Usage:
$p(%something%)
$p(%something%, True)
The second argument is optional. By default, it is set to False. When set to True, unofficial Unicode scripts (i.e. ConScript, etc.) are also checked.
|| [[User:BrianFreud| Brian Schweitzer]] || No ||[https://github.com/brianfreud/Picard-plugins 0.12 - 1.0] || (unspecified) || See [http://forums.musicbrainz.org/viewtopic.php?id=2631 forum post] for details.
|-
| '''Remove Perfect albums''' || Remove "Perfect" matches from album list i.e. all tracks matched and tags saved. || ichneumon || Yes || [https://github.com/voiceinsideyou/picard/raw/plugins/contrib/plugins/removeperfectalbums.py 0.15 - 1.0] || (unspecified) || See [http://forums.musicbrainz.org/viewtopic.php?id=2555 forum post] for details.
|-
| '''Autosave complete albums''' || Save albums with 4+ tracks and 90%+ confidence on all tracks, then remove them from the album list. Useful when importing a big, relatively well-tagged collection. || encukou || Yes || [https://raw.github.com/encukou/picard-plugins/master/autosave.py 1.3] <br /> [https://raw.githubusercontent.com/encukou/picard-plugins/76473d5c5b5f30958f8c1dd41db1e4d998f32494/autosave.py 0.15 - 1.2]|| (unspecified) || See [http://forums.musicbrainz.org/viewtopic.php?pid=17270 forum post] for details.
|-
| '''Sidecars''' || Stores and retrieves metadata in "sidecar" files so that changes can be staged. || [[User:Tony70|Tony Flaks]] || Yes || [http://sites.google.com/site/tonyflaks/sidecar.py 0.14] || (unspecified) || See [[User:Tony70/SidecarPlugin|wiki page]] for details.
|-
| '''View Variables''' || Allows you to view all the script variables associated with a track or file in a dialog box. || Sophist || Yes || [https://github.com/Sophist-UK/Picard-Plugins/raw/master/viewvariables.zip 1.0] || GPLv2 or later || See [http://forums.musicbrainz.org/viewtopic.php?id=4886 forum post] for details and support.
|-
| '''Abbreviate artist-sort''' || Abbreviates artist forenames in the albumartistsort and artistsort tags e.g. "Vivaldi, Antonio" becomes "Vivaldi, A.". This is likely to be of interest for classical albums where the albumartistsort string can be very long. || Sophist || Yes || [https://github.com/Sophist-UK/Picard-Plugins/raw/master/abbreviate_artistsort.py 1.0] || GPLv2 or later || See [http://forums.musicbrainz.org/viewtopic.php?id=4893 forum post] for details and support.
|-
| '''Copy to Comment''' || Some music players are unable to display the standard tags produced by Picard for Composer, Performers etc. This plugin copies this data to the default Comment so that these players can (hopefully) display this information. || d2freak and Sophist || Yes || [https://github.com/Sophist-UK/Picard-Plugins/raw/master/copy_to_comment.py 1.0] || GPLv2 or later || See [http://forums.musicbrainz.org/viewtopic.php?id=4895 forum post] for details and support.
|-
| '''Album Artist Website''' || Unfortunately, MusicBrainz does not supply the Artists Official Homepage url when Picard requests details for an album, and so the 'website variable and id3 WOAR tag cannot be populated. This plugin makes an additional request to MusicBrainz to get this information and loads it into the 'website' variable. || Sophist || Yes || [https://github.com/Sophist-UK/Picard-Plugins/raw/master/albumartist_website.py 1.0] || GPLv2 or later || See [http://forums.musicbrainz.org/viewtopic.php?id=4906 forum post] for details and support.
|-
| '''MusicBee Compatibility''' || This plugin sets some tags to maximise the compatibility of mp3 files tagged by Picard with the MusicBee player. || Volker Zell (and Sophist) || Yes || [https://github.com/Sophist-UK/Picard-Plugins/raw/master/musicbee_compatibility.py 1.0] || GPLv2 or later || See [http://forums.musicbrainz.org/viewtopic.php?id=4903 forum post] for details and support.
|-
| '''Standardise Performers''' || This plugin splits multi-instrument performer tags into single instruments and combines names so that e.g. "Performer [Mouthorgan and Guitar]: Bob Dylan, Performer [Drums and Guitar]: Phil Collins" become "Performer [Drums]: Phil Collins, Performer [Guitar]: Bob Dylan; Phil Collins, Performer [Mouthorgan]: Bob Dylan". || Sophist || Yes || [https://github.com/Sophist-UK/Picard-Plugins/raw/master/standardise_performers.py 1.0] || GPLv2 or later || See [http://forums.musicbrainz.org/viewtopic.php?id=4941 forum post] for details and support.
|-
| '''zh_cn_convert''' || This plugin help convert with Simple Chinese and Traditional Chinese || alswl || No || 0.9 - 0.12 [https://github.com/alswl/musicbrainz_picard_zh_cn_convert_plugin/raw/master/zh_cn_convert.py] [https://github.com/alswl/musicbrainz_picard_zh_cn_convert_plugin/raw/master/zh_wiki.py] [https://github.com/alswl/musicbrainz_picard_zh_cn_convert_plugin/raw/master/langconv.py] || GPLv2 or later || -
|-
| '''padded''' || Provides padded disc- and tracknumbers that have the same length across an album. || [[User:Mineo|Wieland Hoffmann]] || No || [https://raw.githubusercontent.com/mineo/mbstuff/master/picard/plugins/padded.py 0.15-1.3]|| (unspecified) || -
|-
| '''keep''' || Provides a $keep function to build a whitelist of tags you want to keep. || [[User:Mineo|Wieland Hoffmann]] || No || [https://raw.githubusercontent.com/mineo/mbstuff/master/picard/plugins/keep.py 0.15-1.3]|| (unspecified) || -
|}

=== Context Menu Items ===
Note that not all plugins will add options to the "Plugins" section of the right click context menu you get on tracks, files and clusters. Plugins in the above list that do not add a context menu item should work automatically on all new metadata that is loaded into the right-hand pane, once they are enabled in the options.

[[Category:MusicBrainz Picard]][[Category:WikiDocs Page]]

Latest revision as of 21:16, 25 November 2014

Redirect to: