// ==UserScript== // @name soundcloud scroll queue // @version 1.0 // @description Adds a button that automatically scrolls the queue until disabled // @author bhackel // @match https://soundcloud.com/* // @grant none // @run-at document-start // @noframes // @namespace https://greasyfork.org/en/users/324178-bhackel // @downloadURL none // ==/UserScript== (function() { 'use strict'; function setup() { var btn = document.createElement("Button"); btn.className = "bhackelSCScroll sc-button sc-button-medium"; btn.innerHTML = "Scroll Down"; btn.onclick = function(){ start(this); }; var queue_panel = document.getElementsByClassName("queue__panel")[0]; if (queue_panel) { queue_panel.insertBefore(btn, queue_panel.children[1]); } else { setTimeout(setup, 1000); } } function start(d){ if (d.interval){ clearInterval(d.interval); d.interval = 0; d.innerHTML='Scroll Down'; } else { d.interval=setInterval(function(){ scroll(); },1000); d.innerHTML='Stop Scrolling'; } } function scroll() { var scrollableQueue = document.getElementsByClassName("queue__scrollableInner g-scrollable-inner").item(0); var queueContainer = document.getElementsByClassName("queue__itemsHeight").item(0); var scrollToHeight = parseInt(queueContainer.style.height); scrollableQueue.scroll(0,scrollToHeight); } setup(); })();