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