// ==UserScript== // @name ROBLOX Soundloader // @namespace RBLXSNDLDR // @version 1.2 // @description Download songs from ROBLOX! // @author SFOH // @match http://www.roblox.com/* // @grant none // @downloadURL none // ==/UserScript== function downloadURI(uri,name) { //allows user to download the asset var link = document.createElement("a"); link.download = name; link.href = uri; link.click(); } function createDownloadBtn(pElement,type,uri){ //where pElement is the frame to add the button to if(type==="audio"){ var b = document.createElement("input"); console.log(pElement); b.setAttribute("class","downloadButton"); b.setAttribute("type","image"); b.setAttribute("style","background:url(http://vavvi.com/images/2015/06/ncrr1l5xcu0qbyvwwzye.png) 0px 0px;border:0;margin:0;padding:0;cursor:pointer;color:transparent;position:relative;background-repeat:no-repeat;width:25px;height:25px;left:-25px;top:-25px;z-index:9"); b.onclick=function(){ alert("Warning! If the file doesn't play - it may be an .ogg! Try renaming it if it doesn't work.") downloadURI(uri,".mp3"); } b.onmouseenter=function(){ b.setAttribute("style","background:url(http://vavvi.com/images/2015/06/ncrr1l5xcu0qbyvwwzye.png) -25px 0px;border:0;margin:0;padding:0;cursor:pointer;color:transparent;position:relative;background-repeat:no-repeat;width:25px;height:25px;left:-25px;top:-25px;z-index:9") } b.onmouseleave=function(){ b.setAttribute("style","background:url(http://vavvi.com/images/2015/06/ncrr1l5xcu0qbyvwwzye.png) 0px 0px;border:0;margin:0;padding:0;cursor:pointer;color:transparent;position:relative;background-repeat:no-repeat;width:25px;height:25px;left:-25px;top:-25px;z-index:9") } pElement.appendChild(b); } } function assetPuller(){ if(this.document.title.indexOf("by")){ //if the url specifies an asset if(this.document.title.indexOf("Audio") != -1){ //if the asset is a sound then var objects = document.getElementsByClassName("MediaPlayerIcon Play"); for (var i = 0;i < objects.length;i++){ var playbutton = objects[i]; var parent = playbutton.parentElement; var asseturi = playbutton.getAttribute("data-mediathumb-url"); createDownloadBtn(parent,"audio",asseturi); } } } } assetPuller()