Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/060948495796945817cb33f1ee41cfe7.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript==
// @name Redacted Preview
// @namespace http://benzy.org/
// @version 0.1
// @description Preview songs on Redacted
// @author John Bednarczyk
// @match https://redacted.ch/torrents*
// @grant none
// @require http://code.jquery.com/jquery-latest.js
// @downloadURL https://update.greasyfork.icu/scripts/382974/Redacted%20Preview.user.js
// @updateURL https://update.greasyfork.icu/scripts/382974/Redacted%20Preview.meta.js
// ==/UserScript==
(function () {
'use strict';
// API KEY
var apiKey = "YOUR_API_HERE"; // Enter your youtube API here keeping the quotation marks
// URL to add video link to
var youtubeURL = "https://www.youtube.com/watch?v=";
// Get list of all songs
var song = $("span").filter( function() {
return ($(this).text().indexOf('(') > -1);
}); // anywhere match
// Change the text for every song, also assigns class to each song
for(var i = 0 ; i < song.length ; i++){
song[i].setAttribute("class","song");
song[i].setAttribute("id","song"+i);
// Create Button
var button = document.createElement('button');
button.setAttribute("class","play");
// Set Style
button.style.background='LightBlue';
button.style.borderRadius = "3px";
button.style.padding = "3px 3px 3px 3px";
button.innerHTML = "Play";
// Add Spacing
song[i].appendChild(document.createTextNode(" "));
// Add link to end of song
song[i].appendChild(button);
}
// Detect button click
$('button.play').click(function() {
// Get Artist/songTitle
var artist = document.getElementsByTagName("h2")[0].firstChild.text;
var songTitle = this.previousSibling.parentElement.previousSibling.textContent;
window.open(youtubeURL + getLink(artist, songTitle));
});
// Function to get a VideoID
function getLink(artist, song){
// Setup url for api
var url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&q=' +
encodeURIComponent(artist) + "-" +
encodeURIComponent(song) + '&maxResults=1&fields=items(id(videoId))&key=' + apiKey;
// call api and get videoId
var xhReq = new XMLHttpRequest();
xhReq.open("GET", url, false);
xhReq.send(null);
var id = JSON.parse(xhReq.responseText);
return id.items[0].id.videoId;
}
})();