1# Format Performer Tags \[[Download](https://github.com/rdswift/picard-plugins/raw/2.0_RDS_Plugins/plugins/format_performer_tags/format_performer_tags.zip)\] 2 3## Overview 4 5This plugin allows the user to configure the way that instrument and vocal performer tags are written. Once 6installed a settings page will be added to Picard's options, which is where the plugin is configured. 7 8--- 9 10## What it Does 11 12This plugin serves two purposes. 13 14### First: 15 16Picard will by default try to order the performer/instrument credits by the name of the performers, summing up all instruments for that performer in one line. 17This plugin will order the performer/instrument credits by instrument, summing up all performers that play them. 18 19So instead of this: 20 21``` 22background vocals and drums: Wayne Gretzky 23bass and background vocals: Leslie Nielsen 24guitar, keyboard and synthesizer: Edward Hopper 25guitar and vocals: Vladimir Nabokov 26keyboard and lead vocals: Bianca Castafiore 27``` 28 29It will be displayed like this: 30 31``` 32background vocals: Wayne Gretzky, Leslie Nielsen 33bass: Leslie Nielsen 34drums: Wayne Gretzky 35guitar: Edward Hopper, Vladimir Nabokov 36keyboard: Edward Hopper, Bianca Castafiore 37lead vocals: Bianca Castafiore 38synthesizer: Edward Hopper 39vocals: Vladimir Nabokov 40``` 41 42### Second: 43 44This plugin allows fine-tuned organization of how instruments, performers and additional descriptions (keywords) are displayed in the instrument/performer tags. 45 46Here is some background information about these keywords: 47 48MusicBrainz' database allows to add and store keywords (attributes) that will refine or additionally describe the role of a performer for a recording. 49For an artist performing music on an instrument, these are the three attributes (keywords) that MusicBrainz can store, and offer Picard: 50 51* additional 52* guest 53* solo 54 55For an artist performing with his/her voice, MusicBrainz has this restricted list of keywords describing the role or the register of the voice: 56 57* background vocals 58* choir vocals 59* lead vocals 60 * alto vocals 61 * baritone vocals 62 * bass vocals 63 * bass-baritone vocals 64 * contralto vocals 65 * countertenor vocals 66 * mezzo-soprano vocals 67 * soprano vocals 68 * tenor vocals 69 * treble vocals 70* other vocals 71 * spoken vocals 72 73 74Picard can retrieve and display these keywords and will list them all together in front of the performer. 75The result will be something like this: 76 77``` 78guitar and solo guitar: Bob 'Swift' Fingers 79additional drums: Rob Reiner (guest) 80additional baritone vocals: Hermann Rorschach 81guest soprano vocals: Bianca Castafiore 82``` 83 84The problem with this is that it is a bit indistinct if these keywords say something about the instrument, the artist and their performing role, the voice's register, or the persons relation to the group/orchestra. 85For instance: 86 87* 'additional' is referring to instrumentation. For example 'additional percussion'. 88* 'guest' is referring to the performer as a person. Indicating that they are a guest in that band/orchestra instead of a regular member. 89* 'solo' is referring to a specific role a musician performs in a composition. For example a musician performing a guitar solo. 90* 'soprano vocals' is saying something about the register of a performer's voice. 91 92So you might want to attach 'solo' to the instrument, 'baritone' to the vocals, and 'guest' to the performer. 93This plugin allows you to do that, so you could have something like this as a result: 94 95``` 96guitar [solo]: Bob 'Swift' Fingers 97drums ‹additional› : Rob Reiner (guest) 98vocals, baritone ‹additional› : Hermann Rorschach 99vocals, soprano: Bianca Castafiore (guest) 100``` 101 102--- 103 104## How it Works 105 106This is the concept behind the workings of this plugin: 107 108The basic structure of a performer tag such as Picard produces it is: 109 110 [Keywords] Instrument / Vocals: Performer 111 112This plugin makes four different 'Sections' at fixed positions in these tags available. 113Their positions are: 114 115 [Section 1]Instrument / Vocals[Section 2][Section 3]: Performer[Section 4] 116 117In the settings panel you can define in what section (at what location) you want each of the available keywords to be displayed. 118You can do that by simply selecting the section number for that (group of) keyword(s). 119 120You can also define what characters you want to use for delimiting or surrounding the keywords. 121For some situations you might want to use the more common parenthesis brackets ( ), or maybe you prefer less common brackets such as \[ \] or ‹ ›. 122Note that using default parenthesis might confuse possible subsequent tagging formulas in the music player/manager of your choice. 123You can also just leave them blank, or use commas, spaces, etc. 124 125Note that the plugin does not add any spaces as separators by default, so you will need to define those to your personal liking. 126 127--- 128 129## Settings 130 131The first group of settings is the **Keyword Section Assignments**. This is where you select the section in 132which each of the keywords will be displayed. Selection is made by clicking the radio button corresponding 133to the desired section for each of the keywords. 134 135The second group of settings is the **Section Display Settings**. This is where you configure the text 136included at the beginning and end of each section displayed, and the characters used to separate multiple 137items within a section. Note that leading or trailing spaces must be included in the settings and will not 138be automatically added. If no separator characters are entered, the items will be automatically separated 139by a single space. 140 141The initial default settings are: 142 143<!--- 144``` 145Keyword 'additional': Section 3 146Keyword 'guest': Section 4 147Keyword 'solo': Section 3 148All 'vocals' keywords: Section 2 149 150Section 1 starting text: '' 151Section 1 ending text: '' 152Section 1 separator text: '' 153 154Section 2 starting text: ', ' 155Section 2 ending text: '' 156Section 2 separator text: '' 157 158Section 3 starting text: ' (' 159Section 3 ending text: '' 160Section 3 separator text: ')' 161 162Section 4 starting text: ' (' 163Section 4 ending text: '' 164Section 4 separator text: ')' 165``` 166---> 167![default settings image](default_settings.jpg) 168 169These settings will produce tags such as: 170 171``` 172rhodes piano (solo): Billy Preston (guest) 173percussion: Steve Berlin (guest), Kris MacFarlane, Séan McCann 174vocals, background: Jeen (guest) 175``` 176 177--- 178 179## Examples 180 181The following are some examples using actual information from MusicBrainz: 182 183### Example 1: 184 185(add example) 186 187### Example 2: 188 189(add example) 190 191### Example 3: 192 193(add example) 194 195--- 196 197## Credits 198 199Special thank-you to [hiccup](https://musicbrainz.org/user/hiccup) for improvement suggestions and extensive testing during 200the development of this plugin, and for providing the write-up and examples that formed the basis for this User Guide. 201 202 203 204<!--- 205## Description 206 207This plugin allows the user to configure the way that instrument and vocal performer tags are written. Once 208installed a settings page will be added to Picard's options, which is where the plugin is configured. 209 210These settings will determine the format for any Performer tags prepared. The format is divided into six 211parts: the performer; the instrument or vocals; and four user selectable sections for the extra 212information. This is set out as: 213 214\[Section 1\]Instrument/Vocals\[Section 2\]\[Section 3\]: Performer\[Section 4\] 215 216You can select the section in which each of the extra information words appears. These extra information 217words are "additional", "guest", "solo" and type of vocal. 218 219For each of the sections you can select the starting character(s), the character(s) separating entries, and 220the ending character(s). Note that leading or trailing spaces must be included in the settings and will not 221be automatically added. If no separator characters are entered, the items will be automatically separated 222by a single space. 223 224Note that sections that don't contain any entries for a givien performer tag will not be included in the 225tag, including any start or end text configured for the section. 226 227For example, some of the ways that a performer relationship for Billy Preston playing a guest solo on the 228Rhodes piano could be configured to be saved include: 229 230* Performer [guest solo rhodes piano]: Billy Preston 231* Performer [solo rhodes piano]: Billy Preston (guest) 232* Performer [rhodes piano]: Billy Preston (guest solo) 233* Performer [rhodes piano, guest solo]: Billy Preston 234* Performer [rhodes piano, solo]: Billy Preston (guest) 235* Performer [rhodes piano, guest]: Billy Preston (solo) 236 237This shows only a few examples of the many possible displays that can be configured. 238 239## Settings 240 241The first group of settings is the **Keyword Section Assignments**. This is where you select the section in 242which each of the keywords will be displayed. Selection is made by clicking the radio button corresponding 243to the desired section for each of the keywords. 244 245The second group of settings is the **Section Display Settings**. This is where you configure the text 246included at the beginning and end of each section displayed, and the characters used to separate multiple 247items within a section. Note that leading or trailing spaces must be included in the settings and will not 248be automatically added. If no separator characters are entered, the items will be automatically separated 249by a single space. 250 251The initial default settings are: 252 253``` 254Keyword 'additional': Section 3 255Keyword 'guest': Section 4 256Keyword 'solo': Section 3 257All 'vocals' keywords: Section 2 258 259Section 1 starting text: '' 260Section 1 ending text: '' 261Section 1 separator text: '' 262 263Section 2 starting text: ', ' 264Section 2 ending text: '' 265Section 2 separator text: '' 266 267Section 3 starting text: ' (' 268Section 3 ending text: '' 269Section 3 separator text: ')' 270 271Section 4 starting text: ' (' 272Section 4 ending text: '' 273Section 4 separator text: ')' 274``` 275 276These settings will produce tags such as: 277 278* Performer [rhodes piano (solo)]: Billy Preston (guest) 279* Performer [percussion]: Steve Berlin (guest), Kris MacFarlane, Séan McCann 280* Performer [vocal, background]: Jeen (guest) 281 282---> 283