Greasy Fork is available in English.
Provides links to the raw media files for previews on bandcamp to get around preview listen limits. Also allows you to easily download the previews. >:)
// ==UserScript==
// @name bcrawlink
// @description Provides links to the raw media files for previews on bandcamp to get around preview listen limits. Also allows you to easily download the previews. >:)
// @license MIT License
// @namespace com.bandcamp.benburrill.evil
// @include *
// @version 4
// @grant none
// ==/UserScript==
// BTW, we run this on all sites because some bandcamp pages are not actually on bandcamp.org
function on_doc_ready(func) {
if (document.readyState === "complete") {
func(null);
} else {
document.addEventListener("DOMContentLoaded", func);
}
}
on_doc_ready(function() {
window.TralbumData && TralbumData.trackinfo.forEach(function (track, index) {
// I've only seen the mp3 type, but if there happen to be more, we want to
// make links for all of them.
track.file && Object.keys(track.file).forEach(function (media_type) {
var cls = "raw-link-" + media_type;
var base = "(tr,div)[rel=\"tracknum=" + (index + 1) + "\"]";
var pref_child = "td.title-col";
// If possible, use the child pref_child instead of base.
if ($(base).has(pref_child).length) base += ">" + pref_child;
$(base + ":not(:has(a." + cls + "))").each(function () {
$(this).append("<a class=\"" + cls + "\" href=\"" + track.file[media_type] + "\" target=\"_blank\">\n " + media_type + "\n </a>");
});
});
});
});