1 <?xml version="1.0" encoding="UTF-8"?>
3 <GetAMGDiscographyByAMGID dest="5" clearbuffers="no">
4 <RegExp input="$$1" output="<details><url cache="am-\1-artist-discography.html" function="ParseAMGDiscography">https://www.allmusic.com/artist/\1/discography</url></details>" dest="5">
5 <expression clear="yes" noclean="1"/>
7 </GetAMGDiscographyByAMGID>
8 <ParseAMGDiscography dest="5" clearbuffers="no">
9 <RegExp input="$$3" output="<details>\1</details>" dest="5">
10 <RegExp input="" output="" dest="3">
13 <RegExp input="$$1" output="<album><year>\1</year><title>\2</title><label>\3</label></album>" dest="3">
14 <expression repeat="yes" clear="yes" trim="1"><td\sclass="year[^"]*"(?:\stitle="[^"]*")*\s*data-sort-value="[^>]*>\s*([^<]*)</td>[^<]*<td\sclass=".*?title="([^"]*)</expression>
16 <expression noclean="1" />
18 </ParseAMGDiscography>
20 <GetAMGArtistLifeSpanByAMGID dest="5" clearbuffers="no">
21 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistLifeSpan">https://www.allmusic.com/artist/\1</url></details>" dest="5">
22 <expression noclean="1"/>
24 </GetAMGArtistLifeSpanByAMGID>
25 <ParseAMGArtistLifeSpan dest="5" clearbuffers="no">
26 <RegExp input="$$2" output="<details>\1</details>" dest="5">
27 <RegExp input="" output="" dest="2">
30 <RegExp input="" output="" dest="11">
33 <RegExp input="$$1" output="<born>\1 \3</born>" dest="11+">
34 <expression trim="1,2"><h4>\s.+Born.*?birthdate/[^"]+">([^<]*)(.*?"/birthplace/[^"]+">([^<]*))?</expression>
36 <RegExp input="$$1" output="<died>\1 \3</died>" dest="11+">
37 <expression trim="1,2"><h4>\s.+Died.*?deathdate/[^"]+">([^<]*)(.*?"/deathplace/[^"]+">([^<]*))?</expression>
39 <RegExp input="$$1" output="<formed>\1</formed>" dest="11+">
40 <expression trim="1,2"><h4>\s.+Formed.*?birthdate/[^"]+">([^<]*)</expression>
42 <RegExp input="$$1" output="<disbanded>\1</disbanded>" dest="11+">
43 <expression trim="1,2"><h4>\s.+Disbanded.*?deathdate/[^"]+[^"]+">([^<]*)</expression>
45 <RegExp input="$$11" output="$$12" dest="2">
46 <RegExp input="$INFO[lifespanfbsource]" output="<chain function="GetMBFallbackLafeSpanByMBID">$$8</chain>" dest="12">
47 <expression>MusicBrainz</expression>
49 <RegExp input="$INFO[lifespanfbsource]" output="<chain function="GetTADBFallbackLifeSpanByMBID">$$8</chain>" dest="12">
50 <expression>TheAudioDb.com</expression>
52 <expression>^$</expression>
54 <RegExp input="$$11" output="$$11" dest="2">
55 <expression noclean="1"><(?:born|formed)*>(.+)</(?:born|formed)*></expression>
57 <expression noclean="1"/>
59 </ParseAMGArtistLifeSpan>
61 <GetAMGFallbackArtistLifeSpanByAMGID dest="5" clearbuffers="no">
62 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistLifeSpan">https://www.allmusic.com/artist/\1</url></details>" dest="5">
63 <expression noclean="1"/>
65 </GetAMGFallbackArtistLifeSpanByAMGID>
66 <ParseAMGFallbackArtistLifeSpan dest="5" clearbuffers="no">
67 <RegExp input="$$2" output="<details>\1</details>" dest="5">
68 <RegExp input="" output="" dest="2">
71 <RegExp input="$$1" output="<born>\1 \3</born>" dest="2">
72 <expression trim="1,2"><h4>\s.+Born.*?birthdate/[^"]+">([^<]*)(.*?"/birthplace/[^"]+">([^<]*))?</expression>
74 <RegExp input="$$1" output="<died>\1 \3</died>" dest="2+">
75 <expression trim="1,2"><h4>\s.+Died.*?deathdate/[^"]+">([^<]*)(.*?"/deathplace/[^"]+">([^<]*))?</expression>
77 <RegExp input="$$1" output="<formed>\1</formed>" dest="2">
78 <expression trim="1,2"><h4>\s.+Formed.*?birthdate/[^"]+">([^<]*)</expression>
80 <RegExp input="$$1" output="<disbanded>\1</disbanded>" dest="2+">
81 <expression trim="1,2"><h4>\s.+Disbanded.*?deathdate/[^"]+[^"]+">([^<]*)</expression>
83 <expression noclean="1"/>
85 </ParseAMGFallbackArtistLifeSpan>
87 <GetAMGArtistYearsActiveByAMGID dest="5" clearbuffers="no">
88 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistYearsActive">https://www.allmusic.com/artist/\1</url></details>" dest="5">
89 <expression noclean="1"/>
91 </GetAMGArtistYearsActiveByAMGID>
92 <ParseAMGArtistYearsActive dest="5" clearbuffers="no">
93 <RegExp input="$$2" output="<details>\1</details>" dest="5">
94 <RegExp input="" output="" dest="2">
97 <RegExp input="$$1" output="<yearsactive>\1</yearsactive>" dest="2">
98 <expression trim="1" noclean="1"><h\d>Active</h\d>[^>]*>([^<]*)<</expression>
100 <expression noclean="1" />
102 </ParseAMGArtistYearsActive>
104 <GetAMGArtistGenresByAMGID dest="5" clearbuffers="no">
105 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistGenres">https://www.allmusic.com/artist/\1</url></details>" dest="5">
106 <expression noclean="1"/>
108 </GetAMGArtistGenresByAMGID>
109 <ParseAMGArtistGenres dest="5" clearbuffers="no">
110 <RegExp input="$$2" output="<details>\1</details>" dest="5">
111 <RegExp input="" output="" dest="2">
114 <RegExp input="" output="" dest="6">
117 <RegExp input="$$1" output="\1" dest="6">
118 <expression noclean="1"><h4>Genre</h4>\s*<div>(.*?)</div></expression>
120 <RegExp input="$$6" output="<genre>\1</genre>" dest="11">
121 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/genre/[^"]*">([^<]*)</expression>
123 <RegExp input="$$11" output="$$12" dest="2">
124 <RegExp input="$INFO[genresfbsource]" output="<chain function="GetLastFMFallbackArtistGenresByMBID">$$8</chain>" dest="12">
125 <expression>last.fm</expression>
127 <RegExp input="$INFO[genresfbsource]" output="<chain function="GetTADBFallbackArtistGenresByMBID">$$8</chain>" dest="12">
128 <expression>TheAudioDb.com</expression>
130 <expression><genre></genre></expression>
132 <RegExp input="$$11" output="$$11" dest="2">
133 <expression><genre>(.+)</genre></expression>
135 <expression noclean="1" />
137 </ParseAMGArtistGenres>
139 <GetAMGFallbackArtistGenresByAMGID dest="5" clearbuffers="no">
140 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistGenres">https://www.allmusic.com/artist/\1</url></details>" dest="5">
141 <expression noclean="1"/>
143 </GetAMGFallbackArtistGenresByAMGID>
144 <ParseAMGFallbackArtistGenres dest="5" clearbuffers="no">
145 <RegExp input="$$2" output="<details>\1</details>" dest="5">
146 <RegExp input="" output="" dest="2">
149 <RegExp input="" output="" dest="6">
152 <RegExp input="$$1" output="\1" dest="6">
153 <expression noclean="1"><h4>Genre</h4>\s*<div>(.*?)</div></expression>
155 <RegExp input="$$6" output="<genre>\1</genre>" dest="2">
156 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/genre/[^"]*">([^<]*)</expression>
158 <expression noclean="1" />
160 </ParseAMGFallbackArtistGenres>
162 <GetAMGArtistStylesByAMGID dest="5" clearbuffers="no">
163 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistStyles">https://www.allmusic.com/artist/\1</url></details>" dest="5">
164 <expression noclean="1"/>
166 </GetAMGArtistStylesByAMGID>
167 <ParseAMGArtistStyles dest="5" clearbuffers="no">
168 <RegExp input="$$2" output="<details>\1</details>" dest="5">
169 <RegExp input="" output="" dest="2">
172 <RegExp input="" output="" dest="7">
175 <RegExp input="$$1" output="\1" dest="7">
176 <expression noclean="1"><h4>Styles</h4>\s*<div>(.*?)</div></expression>
178 <RegExp input="$$7" output="<style>\1</style>" dest="11">
179 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/style/[^"]*">([^<]*)</expression>
181 <RegExp input="$$11" output="$$12" dest="2">
182 <RegExp input="$INFO[stylesfbsource]" output="<chain function="GetLastFMFallbackArtistStylesByMBID">$$8</chain>" dest="12">
183 <expression>last.fm</expression>
185 <RegExp input="$INFO[stylesfbsource]" output="<chain function="GetTADBFallbackArtistStylesByMBID">$$8</chain>" dest="12">
186 <expression>TheAudioDb.com</expression>
188 <expression><style></style></expression>
190 <RegExp input="$$11" output="$$11" dest="2">
191 <expression><style>(.+)</style></expression>
193 <expression noclean="1" />
195 </ParseAMGArtistStyles>
197 <GetAMGFallbackArtistStylesByAMGID dest="5" clearbuffers="no">
198 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistStyles">https://www.allmusic.com/artist/\1</url></details>" dest="5">
199 <expression noclean="1"/>
201 </GetAMGFallbackArtistStylesByAMGID>
202 <ParseAMGFallbackArtistStyles dest="5" clearbuffers="no">
203 <RegExp input="$$2" output="<details>\1</details>" dest="5">
204 <RegExp input="" output="" dest="2">
207 <RegExp input="" output="" dest="7">
210 <RegExp input="$$1" output="\1" dest="7">
211 <expression noclean="1"><h4>Styles</h4>\s*<div>(.*?)</div></expression>
213 <RegExp input="$$7" output="<style>\1</style>" dest="2">
214 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/style/[^"]*">([^<]*)</expression>
216 <expression noclean="1" />
218 </ParseAMGFallbackArtistStyles>
220 <GetAMGArtistMoodsByAMGID dest="5" clearbuffers="no">
221 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGArtistMoods">https://www.allmusic.com/artist/\1</url></details>" dest="5">
222 <expression noclean="1"/>
224 </GetAMGArtistMoodsByAMGID>
225 <ParseAMGArtistMoods dest="5" clearbuffers="no">
226 <RegExp input="$$2" output="<details>\1</details>" dest="5">
227 <RegExp input="" output="" dest="2">
230 <RegExp input="" output="" dest="10">
233 <RegExp input="$$1" output="\1" dest="10">
234 <expression noclean="1">>Artists\sMoods</h\d*>(.*?)</ul></expression>
236 <RegExp input="$$10" output="<mood>\1</mood>" dest="11">
237 <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a>\s*</li></expression>
239 <RegExp input="$$11" output="$$12" dest="2">
240 <RegExp input="$INFO[moodsfbsource]" output="<chain function="GetTADBFallbackArtistMoodsByMBID">$$8</chain>" dest="12">
241 <expression>TheAudioDb.com</expression>
243 <expression><mood></mood></expression>
245 <RegExp input="$$11" output="$$11" dest="2">
246 <expression><mood>(.+)</mood></expression>
248 <expression noclean="1" />
250 </ParseAMGArtistMoods>
252 <GetAMGFallbackArtistMoodsByAMGID dest="5" clearbuffers="no">
253 <RegExp input="$$1" output="<details><url cache="am-\1-artist.html" function="ParseAMGFallbackArtistMoods">https://www.allmusic.com/artist/\1</url></details>" dest="5">
254 <expression noclean="1"/>
256 </GetAMGFallbackArtistMoodsByAMGID>
257 <ParseAMGFallbackArtistMoods dest="5" clearbuffers="no">
258 <RegExp input="$$2" output="<details>\1</details>" dest="5">
259 <RegExp input="" output="" dest="2">
262 <RegExp input="" output="" dest="10">
265 <RegExp input="$$1" output="\1" dest="10">
266 <expression noclean="1">>Artists\sMoods</h\d*>(.*?)</ul></expression>
268 <RegExp input="$$10" output="<mood>\1</mood>" dest="2">
269 <expression repeat="yes" noclean="1"><li>[^>]*>([^<]*)</a>\s*</li></expression>
271 <expression noclean="1" />
273 </ParseAMGFallbackArtistMoods>
276 <GetAMGAlbumRatingByAMGID dest="5">
277 <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumRating">https://www.allmusic.com/album/\1</url></details>" dest="5">
278 <expression noclean="1"/>
280 </GetAMGAlbumRatingByAMGID>
281 <ParseAMGAlbumRating dest="5">
282 <RegExp input="$$2" output="<details>\1</details>" dest="5">
283 <RegExp input="$$1" output="<rating max="10.0">\1</rating>" dest="2">
284 <expression noclean="1">rating-allmusic-([0-9^]*)</expression>
286 <expression noclean="1" />
288 </ParseAMGAlbumRating>
290 <GetAMGAlbumGenresByAMGID dest="5">
291 <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumGenres">https://www.allmusic.com/album/\1</url></details>" dest="5">
292 <expression noclean="1"/>
294 </GetAMGAlbumGenresByAMGID>
295 <ParseAMGAlbumGenres dest="5">
296 <RegExp input="$$2" output="<details>\1</details>" dest="5">
297 <RegExp input="$$1" output="\1" dest="6">
298 <expression noclean="1">class="genre">(.*?)</div></expression>
300 <RegExp input="$$6" output="<genre>\1</genre>" dest="2">
301 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/genre/[^"]*">([^<]*)</expression>
303 <expression noclean="1" />
305 </ParseAMGAlbumGenres>
307 <GetAMGAlbumStylesByAMGID dest="5">
308 <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumStyles">https://www.allmusic.com/album/\1</url></details>" dest="5">
309 <expression noclean="1"/>
311 </GetAMGAlbumStylesByAMGID>
312 <ParseAMGAlbumStyles dest="5">
313 <RegExp input="$$2" output="<details>\1</details>" dest="5">
314 <RegExp input="$$1" output="\1" dest="7">
315 <expression noclean="1">class="styles">(.*?)</div></expression>
317 <RegExp input="$$7" output="<style>\1</style>" dest="2">
318 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/style/[^"]*">([^<]*)</expression>
320 <expression noclean="1" />
322 </ParseAMGAlbumStyles>
324 <GetAMGAlbumMoodsByAMGID dest="5">
325 <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumMoods">https://www.allmusic.com/album/\1</url></details>" dest="5">
326 <expression noclean="1"/>
328 </GetAMGAlbumMoodsByAMGID>
329 <ParseAMGAlbumMoods dest="5">
330 <RegExp input="$$2" output="<details>\1</details>" dest="5">
331 <RegExp input="$$1" output="\1" dest="8">
332 <expression trim="1" noclean="1">>\s*<h4>Album\sMoods</h4>(.*?)</section></expression>
334 <RegExp input="$$8" output="<mood>\1</mood>" dest="2">
335 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/mood/[^"]*">([^<]*)</expression>
337 <expression noclean="1" />
339 </ParseAMGAlbumMoods>
341 <GetAMGAlbumThemesByAMGID dest="5">
342 <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumThemes">https://www.allmusic.com/album/\1</url></details>" dest="5">
343 <expression noclean="1"/>
345 </GetAMGAlbumThemesByAMGID>
346 <ParseAMGAlbumThemes dest="5">
347 <RegExp input="$$2" output="<details>\1</details>" dest="5">
348 <RegExp input="$$1" output="\1" dest="4">
349 <expression trim="1" noclean="1"><section\sclass="themes">(.*?)</section></expression>
351 <RegExp input="$$4" output="<theme>\1</theme>" dest="2">
352 <expression repeat="yes" noclean="1"><a\shref="https://www.allmusic.com/theme/[^"]*">([^<]*)</expression>
354 <expression noclean="1" />
356 </ParseAMGAlbumThemes>
358 <GetAMGAlbumThumbsByAMGID dest="5">
359 <RegExp input="$$1" output="<details><url cache="am-\1-album.html" function="ParseAMGAlbumThumbs">https://www.allmusic.com/album/\1</url></details>" dest="5">
360 <expression noclean="1"/>
362 </GetAMGAlbumThumbsByAMGID>
363 <ParseAMGAlbumThumbs dest="5">
364 <RegExp input="$$2" output="<details>\1</details>" dest="5">
365 <RegExp input="$$1" output="<thumb aspect="thumb">https://cdn-s3.allmusic.com/release-covers/500/\1</thumb>" dest="2">
366 <expression noclean="1"><img src="https://cdn-s3.allmusic.com/release-covers/500/([^"]*)</expression>
368 <expression noclean="1" />
370 </ParseAMGAlbumThumbs>