2015-05-19 22:26:50 +00:00
|
|
|
// ==UserScript==
|
2015-06-10 12:59:12 +00:00
|
|
|
// @name Import Bandcamp releases to MusicBrainz Album Link Helper
|
2015-05-28 08:26:38 +00:00
|
|
|
// @description Add a link to Bandcamp's album canonical URL on pages without /album/, for one to import the release into MusicBrainz
|
2022-04-10 02:06:39 +00:00
|
|
|
// @version 2022.4.10.1
|
2015-05-27 12:31:14 +00:00
|
|
|
// @namespace http://userscripts.org/users/22504
|
|
|
|
// @downloadURL https://raw.github.com/murdos/musicbrainz-userscripts/master/bandcamp_importer_helper.user.js
|
|
|
|
// @updateURL https://raw.github.com/murdos/musicbrainz-userscripts/master/bandcamp_importer_helper.user.js
|
2015-05-19 22:26:50 +00:00
|
|
|
// @include http*://*.bandcamp.com/
|
|
|
|
// @include http*://*.bandcamp.com/releases
|
|
|
|
// @exclude http*://*.bandcamp.com/*/*
|
2015-06-14 12:55:19 +00:00
|
|
|
// @require lib/logger.js
|
2015-07-10 12:28:43 +00:00
|
|
|
// @icon https://raw.githubusercontent.com/murdos/musicbrainz-userscripts/master/assets/images/Musicbrainz_import_logo.png
|
2019-01-05 14:48:14 +00:00
|
|
|
// @grant unsafeWindow
|
2015-05-19 22:26:50 +00:00
|
|
|
// ==/UserScript==
|
|
|
|
|
2015-07-07 07:24:17 +00:00
|
|
|
if (!unsafeWindow) unsafeWindow = window;
|
2015-05-19 22:26:50 +00:00
|
|
|
|
2022-04-10 02:06:39 +00:00
|
|
|
const ready = function (fn) {
|
|
|
|
if (document.readyState !== 'loading') {
|
|
|
|
fn();
|
|
|
|
} else {
|
|
|
|
document.addEventListener('DOMContentLoaded', fn);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
ready(function () {
|
|
|
|
// Display a link to the correct album bandcamp url (i.e. main page or releases page)
|
|
|
|
const bandcampAlbumData = unsafeWindow.TralbumData;
|
2018-11-20 22:18:49 +00:00
|
|
|
if (bandcampAlbumData && bandcampAlbumData.url) {
|
2022-04-10 02:06:39 +00:00
|
|
|
const innerHTML = `
|
|
|
|
<div id="bci_helper" style="padding-top: 5px;">
|
|
|
|
<a href="${bandcampAlbumData.url}" title="Load album page and display Import to MB button">Album page (MB import)</a>
|
|
|
|
</div>`;
|
|
|
|
document.querySelector('#name-section').insertAdjacentHTML('beforeend', innerHTML);
|
2018-11-20 22:18:49 +00:00
|
|
|
}
|
2015-05-19 22:26:50 +00:00
|
|
|
});
|