summaryrefslogtreecommitdiffstats
path: root/addons/metadata.common.musicbrainz.org
diff options
context:
space:
mode:
Diffstat (limited to 'addons/metadata.common.musicbrainz.org')
-rw-r--r--addons/metadata.common.musicbrainz.org/addon.xml42
-rw-r--r--addons/metadata.common.musicbrainz.org/icon.pngbin0 -> 6671 bytes
-rw-r--r--addons/metadata.common.musicbrainz.org/musicbrainz.xml210
3 files changed, 252 insertions, 0 deletions
diff --git a/addons/metadata.common.musicbrainz.org/addon.xml b/addons/metadata.common.musicbrainz.org/addon.xml
new file mode 100644
index 0000000..6c49174
--- /dev/null
+++ b/addons/metadata.common.musicbrainz.org/addon.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addon id="metadata.common.musicbrainz.org"
+ name="MusicBrainz Scraper Library"
+ version="2.2.4"
+ provider-name="Team Kodi">
+ <requires>
+ <import addon="xbmc.metadata" version="2.1.0"/>
+ </requires>
+ <extension point="xbmc.metadata.scraper.library"
+ library="musicbrainz.xml"/>
+ <extension point="xbmc.addon.metadata">
+ <platform>all</platform>
+ <summary lang="bg">Библиотека за сваляне на музикална инф. от MusicBrainz</summary>
+ <summary lang="en">MusicBrainz Music Scraper Library</summary>
+ <summary lang="de">Musik-Scraper für musicbrainz.org</summary>
+ <summary lang="es">Scraper de música de MusicBrainz</summary>
+ <summary lang="fi">MusicBrainz musiikkitietojen lataajan kirjasto</summary>
+ <summary lang="fr">Scraper MusicBrainz pour la musique</summary>
+ <summary lang="hu">MusicBrainz zenei adat leolvasó</summary>
+ <summary lang="nl">MusicBrainz-scraperfuncties</summary>
+ <summary lang="pl">Scraper muzyki MusicBrainz</summary>
+ <summary lang="pt">Scraper de música MusicBrainz</summary>
+ <summary lang="ro">Bibliotecă catalog de muzică MusicBrainz</summary>
+ <summary lang="ru">Музыкальная Информация MusicBrainz</summary>
+ <summary lang="se">Skrapa för musicbrainz.org</summary>
+ <summary lang="zh">MusicBrainz音乐刮削器代码库</summary>
+ <description lang="bg">Извлича инф. за музикални файлове от www.musicbrainz.org</description>
+ <description lang="en">Download Music information from www.musicbrainz.org</description>
+ <description lang="de">Downloade Musik Informationen von www.musicbrainz.org</description>
+ <description lang="es">Descarga información musical de www.musicbrainz.org</description>
+ <description lang="fi">Lataa musiikkitietoja osoitteesta www.musicbrainz.org</description>
+ <description lang="fr">Télécharger les infos musicales depuis www.musicbrainz.org</description>
+ <description lang="hu">Zene információk letöltése a www.musicbrainz.org webhelyről</description>
+ <description lang="nl">Muziekinformatie ophalen van www.musicbrainz.org</description>
+ <description lang="pl">Pobieraj informacje o muzyce z www.musicbrainz.org</description>
+ <description lang="pt">Descarregar informação de música de www.musicbrainz.org</description>
+ <description lang="ro">Descărcați informații muzică de pe www.musicbrainz.org</description>
+ <description lang="ru">Загружать информацию о Музыке с www.musicbrainz.org</description>
+ <description lang="se">Ladda ner musikinformation från www.musicbrainz.org</description>
+ <description lang="zh">从www.musicbrainz.org下载音乐信息</description>
+ </extension>
+</addon>
diff --git a/addons/metadata.common.musicbrainz.org/icon.png b/addons/metadata.common.musicbrainz.org/icon.png
new file mode 100644
index 0000000..97bbc8e
--- /dev/null
+++ b/addons/metadata.common.musicbrainz.org/icon.png
Binary files differ
diff --git a/addons/metadata.common.musicbrainz.org/musicbrainz.xml b/addons/metadata.common.musicbrainz.org/musicbrainz.xml
new file mode 100644
index 0000000..f086f6a
--- /dev/null
+++ b/addons/metadata.common.musicbrainz.org/musicbrainz.xml
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scraperfunctions>
+ <GetMBDiscographyByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBDiscography&quot; cache=&quot;mb-\1-discog.xml&quot;&gt;$INFO[mbsite]/ws/2/release-group?artist=\1&amp;amp;limit=100&amp;amp;type=album&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBDiscographyByMBID>
+ <ParseMBDiscography dest="5" clearbuffers="no">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="2">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="&lt;album&gt;&lt;year&gt;\5&lt;/year&gt;&lt;title&gt;\3&lt;/title&gt;&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;&lt;/album&gt;" dest="2">
+ <expression repeat="yes" clear="yes" noclean="1,2,3">(?:\stype-id=&quot;[^&quot;]*&quot;)?(?:\sid=&quot;([^&quot;]*)&quot;)?\stype=&quot;Album&quot;(?:\stype-id=&quot;[^&quot;]*&quot;)?(?:\sid=&quot;([^&quot;]*)&quot;)?&gt;&lt;title&gt;([^&lt;]*)&lt;/title&gt;&lt;first-release-date(\s/)?&gt;(\d{4})?</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseMBDiscography>
+
+ <GetMBLafeSpanByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBLifeSpan&quot; cache=&quot;mb-\1-artist.xml&quot;&gt;$INFO[mbsite]/ws/2/artist/\1?inc=url-rels&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBLafeSpanByMBID>
+ <ParseMBLifeSpan dest="5" clearbuffers="no">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="2">
+ <expression />
+ </RegExp>
+ <RegExp input="" output="" dest="11">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="&lt;born&gt;\1&lt;/born&gt;" dest="11">
+ <expression>&lt;artist\sid[^>]*type=&quot;Person&quot;.*?&lt;life-span&gt;\s*&lt;begin&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;died&gt;\1&lt;/died&gt;" dest="11+">
+ <expression>&lt;artist\sid[^>]*type=&quot;Person&quot;.*?&lt;life-span&gt;&lt;begin&gt;[^&lt;]*&lt;/begin&gt;&lt;end&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="11">
+ <expression>&lt;artist\sid[^>]*type=&quot;Group&quot;.*?&lt;life-span&gt;&lt;begin&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="11+">
+ <expression>&lt;artist\sid[^>]*type=&quot;Group&quot;.*?&lt;life-span&gt;&lt;begin&gt;[^&lt;]*&lt;/begin&gt;&lt;end&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp input="$$11" output="$$12" dest="2">
+ <RegExp input="$INFO[lifespanfbsource]" output="&lt;chain function=&quot;GetAMGFallbackArtistLifeSpanByAMGID&quot;&gt;$$9&lt;/chain&gt;" dest="12">
+ <expression>allmusic.com</expression>
+ </RegExp>
+ <RegExp input="$INFO[lifespanfbsource]" output="&lt;chain function=&quot;GetTADBFallbackLifeSpanByMBID&quot;&gt;$$8&lt;/chain&gt;" dest="12">
+ <expression>TheAudioDb.com</expression>
+ </RegExp>
+ <expression>^$</expression>
+ </RegExp>
+ <RegExp input="$$11" output="$$11" dest="2">
+ <expression noclean="1">&lt;(?:born|formed)*&gt;(.+)&lt;/(?:born|formed)*&gt;</expression>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </ParseMBLifeSpan>
+
+ <GetMBFallbackLafeSpanByMBID dest="5" clearbuffers="no">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseFallbackMBLifeSpan&quot; cache=&quot;mb-\1-artist.xml&quot;&gt;$INFO[mbsite]/ws/2/artist/\1?inc=url-rels&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBFallbackLafeSpanByMBID>
+ <ParseFallbackMBLifeSpan dest="5" clearbuffers="no">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="" output="" dest="2">
+ <expression />
+ </RegExp>
+ <RegExp input="$$1" output="&lt;born&gt;\1&lt;/born&gt;" dest="2">
+ <expression>&lt;artist type=&quot;Person&quot;.*?&lt;life-span&gt;&lt;begin&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;died&gt;\1&lt;/died&gt;" dest="2+">
+ <expression>&lt;artist type=&quot;Person&quot;.*?&lt;life-span&gt;&lt;begin&gt;[^&lt;]*&lt;/begin&gt;&lt;end&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;formed&gt;\1&lt;/formed&gt;" dest="2">
+ <expression>&lt;artist type=&quot;Group&quot;.*?&lt;life-span&gt;&lt;begin&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;disbanded&gt;\1&lt;/disbanded&gt;" dest="2+">
+ <expression>&lt;artist type=&quot;Group&quot;.*?&lt;life-span&gt;&lt;begin&gt;[^&lt;]*&lt;/begin&gt;&lt;end&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <expression noclean="1"/>
+ </RegExp>
+ </ParseFallbackMBLifeSpan>
+
+ <GetMBAlbumTitleByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBAlbumTitle&quot; cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBAlbumTitleByMBID>
+ <ParseMBAlbumTitle dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;musicbrainzalbumid&gt;\1&lt;/musicbrainzalbumid&gt;&lt;title&gt;\2&lt;/title&gt;" dest="2">
+ <expression noclean="1">&lt;release id=&quot;([^&quot;]*)&quot;&gt;&lt;title&gt;([^&lt;]*)&lt;</expression>
+ </RegExp>
+ <!--MBID - release group-->
+ <RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
+ <expression noclean="1">&lt;release-group\stype=&quot;[^&quot;]*&quot;\sid=&quot;([^&quot;]*)&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
+ <expression noclean="1">&lt;release-group\stype=&quot;[^&quot;]*&quot;\stype-id=&quot;[^&quot;]*&quot;\sid=&quot;([^&quot;]*)&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
+ <expression noclean="1">&lt;release-group\sid=&quot;([^&quot;]*)&quot;\stype=&quot;[^&quot;]*&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
+ <expression noclean="1">&lt;release-group\sid=&quot;([^&quot;]*)&quot;\stype-id=&quot;[^&quot;]*&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
+ <expression noclean="1">&lt;release-group\stype-id=&quot;[^&quot;]*&quot;\sid=&quot;([^&quot;]*)&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;musicbrainzreleasegroupid&gt;\1&lt;/musicbrainzreleasegroupid&gt;" dest="2+">
+ <expression noclean="1">&lt;release-group\stype-id=&quot;[^&quot;]*&quot;\stype=&quot;[^&quot;]*&quot;\sid=&quot;([^&quot;]*)&quot;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;scrapedmbid&gt;\1&lt;/scrapedmbid&gt;" dest="2+">
+ <expression noclean="1" />
+ </RegExp>
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ </ParseMBAlbumTitle>
+
+ <GetMBAlbumArtistsByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBAlbumArtists&quot; cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBAlbumArtistsByMBID>
+ <ParseMBAlbumArtists dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;albumArtistCredits&gt;&lt;joinphrase&gt;\1&lt;/joinphrase&gt;&lt;musicBrainzArtistID&gt;\2&lt;/musicBrainzArtistID&gt;&lt;artist&gt;\3&lt;/artist&gt;&lt;/albumArtistCredits&gt;" dest="2">
+ <expression repeat="yes" noclean="1">(?:joinphrase=&quot;([^&quot;]*)&quot;&gt;)?&lt;artist\sid=&quot;([^&quot;]*)&quot;.*?&lt;name&gt;([^&lt;]*)&lt;</expression>
+ </RegExp>
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ </ParseMBAlbumArtists>
+
+ <GetMBAlbumArtistByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBAlbumArtist&quot; cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBAlbumArtistByMBID>
+ <ParseMBAlbumArtist dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;artist&gt;\1&lt;/artist&gt;" dest="2">
+ <expression noclean="1">&lt;artist id=&quot;[^&quot;]*&quot;.*?&lt;name&gt;([^&lt;]*)&lt;</expression>
+ </RegExp>
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ </ParseMBAlbumArtist>
+
+ <GetMBAlbumRatingByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBAlbumRating&quot; cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBAlbumRatingByMBID>
+ <ParseMBAlbumRating dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;rating max=&quot;5.0&quot;&gt;\1&lt;/rating&gt;" dest="2">
+ <expression noclean="1">&lt;/primary-type&gt;&lt;rating votes-count="[^"]*"&gt;(\d)</expression>
+ </RegExp>
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ </ParseMBAlbumRating>
+
+ <GetMBAlbumLabelByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBAlbumLabel&quot; cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBAlbumLabelByMBID>
+ <ParseMBAlbumLabel dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;label&gt;\1&lt;/label&gt;" dest="2">
+ <expression noclean="1">&lt;label id=&quot;[^&quot;]*&quot;.*?&lt;name&gt;([^&lt;]*)</expression>
+ </RegExp>
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ </ParseMBAlbumLabel>
+
+ <GetMBAlbumDateByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBAlbumDate&quot; cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBAlbumDateByMBID>
+ <ParseMBAlbumDate dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;releasedate&gt;\1&lt;/releasedate&gt;" dest="2">
+ <expression noclean="1">&lt;first-release-date&gt;([^&lt;]*)&lt;</expression>
+ </RegExp>
+ <RegExp input="$$1" output="&lt;year&gt;\1&lt;/year&gt;" dest="2+">
+ <expression noclean="1">&lt;first-release-date&gt;(\d{4})</expression>
+ </RegExp>
+ <expression noclean="1" />
+ </RegExp>
+ </ParseMBAlbumDate>
+
+ <GetMBAlbumTracksByMBID dest="5">
+ <RegExp input="$$1" output="&lt;details&gt;&lt;url function=&quot;ParseMBAlbumTracks&quot; cache=&quot;mb-\1-album.xml&quot;&gt;$INFO[mbsite]/ws/2/release/\1?inc=recordings+release-groups+artists+labels+ratings&lt;/url&gt;&lt;/details&gt;" dest="5">
+ <expression noclean="1" />
+ </RegExp>
+ </GetMBAlbumTracksByMBID>
+ <ParseMBAlbumTracks dest="5">
+ <RegExp input="$$2" output="&lt;details&gt;\1&lt;/details&gt;" dest="5">
+ <RegExp input="$$1" output="&lt;track&gt;&lt;position&gt;\1&lt;/position&gt;&lt;title&gt;\4&lt;/title&gt;&lt;duration&gt;\2&lt;/duration&gt;&lt;/track&gt;" dest="2">
+ <expression repeat="yes">&lt;track[^&gt;]+&gt;&lt;position&gt;(\d+)&lt;/position&gt;&lt;number&gt;\d*&lt;/number&gt;(?:&lt;length&gt;(\d*?)\d{3}&lt;/length&gt;)*(?:&lt;recording id=&quot;([^&quot;]*)&quot;&gt;)*&lt;title&gt;([^&lt;]*)&lt;</expression>
+ </RegExp>
+ <expression noclean="1">(.+)</expression>
+ </RegExp>
+ </ParseMBAlbumTracks>
+
+</scraperfunctions>